== Yubico Authenticator for Desktop

=== Requirements
You will need the Flutter SDK with enabled desktop support, see:
https://flutter.dev/desktop

Development has been done using the "Install from git" method of installing the
SDK, from the "beta" channel.

You will also need to provide a compiled version of the Helper, as described in
the next section.


=== Building the Yubico Authenticator Helper
Requirements: Python >= 3.8 and Poetry.

The GUI requires a compiled version of Helper to run, which is built from the
sources in helper/ in this repository. This needs to be build prior to running
`flutter build` or `flutter run`, by running `build-helper.sh` (or
`build-helper.bat` on Windows).

NOTE: You will need to re-run `ykman-helper.sh` if changes have been made to
Helper's code, or if `flutter clean` has been run.


=== Running the app
To start the app, run:

  flutter run -d <os>

where <os> is "windows", "macos", or "linux". You can add the `--release` flag
to run a release build instead of debug. Builds of the app will be create under
`build/<os>/`.


=== Running tests
Tests can be run with the command:

  flutter test


=== Packaging for MacOS
See link:doc/MacOS_Packaging.adoc[MacOS Packaging].
