name: immich_mobile
description: Immich - selfhosted backup media file on mobile phone

publish_to: "none"
version: 1.95.0+122
isar_version: &isar_version 3.1.0+1

environment:
  sdk: ">=3.0.0 <4.0.0"

dependencies:
  flutter:
    sdk: flutter

  path_provider_ios:
  # TODO: change to stable after 3.16 support
  photo_manager: ^3.0.0-dev.5
  photo_manager_image_provider: ^2.1.0
  flutter_hooks: ^0.20.4
  hooks_riverpod: ^2.4.9
  riverpod_annotation: ^2.3.3
  cached_network_image: ^3.3.1
  flutter_cache_manager: ^3.3.1
  intl: ^0.18.0
  auto_route: ^7.8.4
  fluttertoast: ^8.2.4
  video_player: ^2.8.2
  chewie: ^1.7.4
  socket_io_client: ^2.0.3+1
  # TODO: Update it to tag once next stable release
  maplibre_gl:
    git:
      url: https://github.com/maplibre/flutter-maplibre-gl.git
      ref: acb428a005efd9832a0a8e7ef0945f899dfb3ca5
  geolocator: ^10.1.0 # used to move to current location in map view
  flutter_udid: ^2.1.1
  package_info_plus: ^5.0.1
  url_launcher: ^6.2.4
  http: 0.13.5
  cancellation_token_http: ^1.1.0
  easy_localization: ^3.0.3
  share_plus: ^7.2.1
  flutter_displaymode: ^0.6.0
  scrollable_positioned_list: ^0.3.8
  path: ^1.8.3
  path_provider: ^2.1.2
  collection: ^1.18.0
  http_parser: ^4.0.2
  flutter_web_auth: ^0.5.0
  easy_image_viewer: ^1.4.0
  isar: *isar_version
  isar_flutter_libs: *isar_version # contains Isar Core
  permission_handler: ^11.2.0
  device_info_plus: ^9.1.1
  connectivity_plus: ^5.0.2
  wakelock_plus: ^1.1.4
  flutter_local_notifications: ^16.3.2
  timezone: ^0.9.2
  octo_image: ^2.0.0

  openapi:
    path: openapi

  # easy to remove packages:
  image_picker: ^1.0.7 # only used to select user profile image from system gallery -> we can simply select an image from within immich?
  logging: ^1.2.0

# This is uncommented in F-Droid build script
# Taken from https://github.com/Myzel394/locus/blob/445013d22ec1d759027d4303bd65b30c5c8588c8/pubspec.yaml#L105
dependency_overrides:
  # TODO: remove once Isar is updated
  analyzer: ^6.3.0
  # TODO: remove once analyzer override is removed
  meta: ^1.11.0
  # TODO: remove once analyzer override is removed
  analyzer_plugin: ^0.11.3
#f  geolocator_android:
#f    git:
#f      url: https://github.com/Zverik/flutter-geolocator.git
#f      ref: floss
#f      path: geolocator_android

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^3.0.1
  build_runner: ^2.4.8
  auto_route_generator: ^7.3.2
  flutter_launcher_icons: ^0.13.1
  flutter_native_splash: ^2.3.9
  isar_generator: *isar_version
  integration_test:
    sdk: flutter
  custom_lint: ^0.5.8
  riverpod_lint: ^2.3.7
  riverpod_generator: ^2.3.9
  mocktail: ^1.0.3

flutter:
  uses-material-design: true
  assets:
    - assets/
    - assets/i18n/
  fonts:
    - family: SnowburstOne
      fonts:
        - asset: fonts/SnowburstOne.ttf
    - family: Inconsolata
      fonts:
        - asset: fonts/Inconsolata-Regular.ttf
    - family: Overpass
      fonts:
        - asset: fonts/overpass/Overpass-Regular.ttf
          weight: 400
        - asset: fonts/overpass/Overpass-Italic.ttf
          style: italic
        - asset: fonts/overpass/Overpass-Medium.ttf
          weight: 500
        - asset: fonts/overpass/Overpass-SemiBold.ttf
          weight: 600
        - asset: fonts/overpass/Overpass-Bold.ttf
          weight: 700
    - family: OverpassMono
      fonts:
        - asset: fonts/overpass/OverpassMono.ttf

flutter_launcher_icons:
  image_path_android: "assets/immich-logo-no-outline.png"
  image_path_ios: "assets/immich-logo-no-outline.png"
  android: true # can specify file name here e.g. "ic_launcher"
  ios: true # can specify file name here e.g. "My-Launcher-Icon
  remove_alpha_ios: true

analyzer:
  exclude:
    - openapi/**
