name: halkyon_train_flutter description: Halkyon Train, the app. publish_to: none # +: the build rises with every release, and the instance asks apps below # its minimum build to update (halkyon_base's instance basics). version: 0.2.0+2 environment: sdk: '^3.13.0' flutter: '^3.44.4' resolution: workspace dependencies: clock: ^1.1.3 # What a route's map kept offline was made for (ADR 0030, D45). crypto: ^3.0.7 equatable: ^3.0.0 # A GPX file brought in (ADR 0030, D45), the platform's own dialog, as # Learn and halkyon_app open and save files. file_selector: ^1.1.0 flutter: sdk: flutter flutter_bloc: ^9.1.1 # What every Halkyon app is built around (a shared package): the instances a # device keeps accounts on, signing in through halkyon_base, each person's # dependencies opened and closed, with texts of its own. # Workouts' tracks over the map (ADR 0030, D11, D23): the map widget, the # vector tiles of the instance's source (OpenFreeMap without a setting, D22), # and its coordinates. flutter_map: ^8.3.2 # The Jellyfin token in the keyring (ADR 0030, D47), as halkyon_app keeps # the account's keys. flutter_secure_storage: ^10.0.0 # The five tabs and the screens over them (ADR 0030, D60), as Learn's. go_router: ^18.0.2 halkyon_app: path: ../../../packages/halkyon_app # The device's half of signing in with OpenID Connect (ADR 0023): the # browser that SimpleLogin's sign-in opens, and on Linux and Windows the # loopback it comes back to, which the app builds with its name. # Running Health Connect's writes and reads one at a time (a shared package, # ADR 0030, D31). halkyon_core: path: ../../../packages/halkyon_core halkyon_oidc_flutter: path: ../../../packages/halkyon_oidc_flutter halkyon_train_client: path: ../halkyon_train_client # Halkyon's look, shared by its apps (a shared package): the theme, the bundled # Noto Sans and the widgets every screen is built of. halkyon_ui: path: ../../../packages/halkyon_ui # A route's map kept offline (D45): its style, sprites and tiles asked # for directly, as vector_map_tiles asks for them. http: ^1.6.0 # gen-l10n's output imports it. intl: ^0.20.3 latlong2: ^0.10.1 lucide_icons_flutter: ^3.1.20 material_ui: ^1.5.0 package_info_plus: ^10.2.2 path: ^1.9.1 path_provider: ^2.1.6 serverpod_auth_idp_flutter: 4.0.4 serverpod_flutter: 4.0.4 serverpod_offline_sync_client: 0.0.10 url_launcher: ^6.3.2 # Pinned: the 9 line is beta, the only one for flutter_map 8 (D23); moves to # 9.0.0 once it is released. vector_map_tiles: 9.0.0-beta.13 # Reads a style kept offline (D45), which vector_map_tiles reads only from # the network; the version vector_map_tiles takes. vector_tile_renderer: ^6.1.0 # Routes as GPX, written and read (D45). xml: ^7.0.1 dev_dependencies: flutter_driver: sdk: flutter # Writes the app's icons for every platform from assets/icon/halkyon_train_icon.png, # run through the repository's tool/app_icons.py (see the section below). flutter_launcher_icons: ^0.14.4 flutter_test: sdk: flutter flutter: # Generates AppLocalizations from lib/l10n (see l10n.yaml). generate: true # Material's icon font, which serverpod_auth_idp_flutter's widgets ask for # (it sets this itself): without it every build and test run warns, and # Material's icons would draw as boxes. uses-material-design: true assets: # The instance the build names, unless --dart-define=SERVER_URL=… does # (serverpod_flutter's getServerUrl). - assets/config.json # What each release changed, one file a release and language # (..txt), drafted by tool/release.dart and edited # (ADR 0030, D61): halkyon_app's What's new shows them. - assets/whats_new/ # The app's icon, Lucide's bike (ADR 0031), and Lucide's licence for the # licence list (the repository's tool/app_icons.py writes both). - assets/icon/halkyon_train_icon.png - assets/icon/LICENSE-lucide.txt # Polar's BLE SDK, which the Android app links for the Loop (ADR 0030, # D36): its licence and the notices of what it bundles, verbatim from its # 8.3.0 tag (line ends made Unix's), for the licence list. - assets/licences/Polar_SDK_License.txt - assets/licences/Polar_ThirdPartySoftwareListing.txt # The app's icons, written by the repository's tool/app_icons.py: it prepares the # rounded images in build/icons/ first, then runs `dart run flutter_launcher_icons`. # Android: the adaptive icon, on white, for the launcher to cut to its shape, and the # square one older Androids show. iOS: without its alpha channel, on white. macOS and # Windows: the rounded tile. flutter_launcher_icons: image_path: "assets/icon/halkyon_train_icon.png" android: true adaptive_icon_background: "#ffffff" adaptive_icon_foreground: "assets/icon/halkyon_train_icon.png" ios: true remove_alpha_ios: true background_color_ios: "#ffffff" macos: generate: true image_path: "build/icons/macos.png" windows: generate: true image_path: "build/icons/rounded.png" icon_size: 256