diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index d9400ce43bbf..607ea0b7e169 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -34,7 +34,6 @@ body: - Database - In-App Messaging - Messaging - - ML Custom - Performance - Remote Config - Storage diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index bbec98298f4c..854aa06ddc3d 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -190,7 +190,7 @@ jobs: runs-on: xcode-27 timeout-minutes: 35 env: - FLUTTER_DEPENDENCIES: "cloud_firestore firebase_remote_config cloud_functions firebase_database firebase_auth firebase_storage firebase_analytics firebase_messaging firebase_app_check firebase_in_app_messaging firebase_performance firebase_crashlytics firebase_ml_model_downloader firebase_app_installations firebase_ai" + FLUTTER_DEPENDENCIES: "cloud_firestore firebase_remote_config cloud_functions firebase_database firebase_auth firebase_storage firebase_analytics firebase_messaging firebase_app_check firebase_in_app_messaging firebase_performance firebase_crashlytics firebase_app_installations firebase_ai" PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 @@ -219,7 +219,7 @@ jobs: runs-on: xcode-27 timeout-minutes: 35 env: - FLUTTER_DEPENDENCIES: "cloud_firestore firebase_remote_config cloud_functions firebase_database firebase_auth firebase_storage firebase_analytics firebase_messaging firebase_app_check firebase_in_app_messaging firebase_performance firebase_crashlytics firebase_ml_model_downloader firebase_app_installations firebase_ai" + FLUTTER_DEPENDENCIES: "cloud_firestore firebase_remote_config cloud_functions firebase_database firebase_auth firebase_storage firebase_analytics firebase_messaging firebase_app_check firebase_in_app_messaging firebase_performance firebase_crashlytics firebase_app_installations firebase_ai" PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 diff --git a/.github/workflows/config/custom_analysis.yaml b/.github/workflows/config/custom_analysis.yaml index cd2664f7b992..7cc2cb5eff15 100644 --- a/.github/workflows/config/custom_analysis.yaml +++ b/.github/workflows/config/custom_analysis.yaml @@ -34,8 +34,6 @@ - firebase_messaging - firebase_messaging/firebase_messaging_platform_interface - firebase_messaging/firebase_messaging_web -- firebase_ml_model_downloader -- firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface - firebase_performance - firebase_performance/firebase_performance_platform_interface - firebase_performance/firebase_performance_web diff --git a/.github/workflows/e2e_tests_ml_model_downloader.yaml b/.github/workflows/e2e_tests_ml_model_downloader.yaml deleted file mode 100644 index 624d56ffc1d3..000000000000 --- a/.github/workflows/e2e_tests_ml_model_downloader.yaml +++ /dev/null @@ -1,106 +0,0 @@ -name: e2e-ml-model-downloader - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-ml_model_downloader - cancel-in-progress: true - -# Live tier: this product has no emulator, so every job talks to the real -# `flutterfire-e2e-tests` project using the config in repository secrets. -# Fork and dependabot PRs do not get those secrets, so the reusable workflow -# guards every job. -# -# Thin caller: one job per platform this product supports, each delegating -# to the matching `reusable_e2e_.yaml`. Platforms the product does -# not support have no job here, so they render no check at all. -# Path-filtered so it only runs when this product or its dependencies change; -# the nightly workflow_call still runs it unconditionally. -on: - pull_request: - paths: - - 'packages/firebase_ml_model_downloader/**' - - 'packages/firebase_core/**' - - '.github/workflows/e2e_tests_ml_model_downloader.yaml' - - '.github/workflows/reusable_e2e_*.yaml' - - '.github/actions/setup-flutterfire/**' - - '.github/workflows/scripts/**' - push: - branches: - - main - paths: - - 'packages/firebase_ml_model_downloader/**' - - 'packages/firebase_core/**' - - '.github/workflows/e2e_tests_ml_model_downloader.yaml' - - '.github/workflows/reusable_e2e_*.yaml' - - '.github/actions/setup-flutterfire/**' - - '.github/workflows/scripts/**' - workflow_call: - inputs: - nightly_test_mode: - type: boolean - default: false - secrets: - TESTS_E2E_FIREBASE_OPTIONS_DART: - required: true - TESTS_E2E_GOOGLE_SERVICES_JSON: - required: true - -permissions: - contents: read - -jobs: - changes: - uses: ./.github/workflows/reusable_e2e_changes.yaml - with: - package-path: 'packages/firebase_ml_model_downloader/firebase_ml_model_downloader' - platform-interface-package: 'firebase_ml_model_downloader_platform_interface' - inject-config-secrets: true - - android: - needs: changes - if: needs.changes.outputs.android == 'true' - uses: ./.github/workflows/reusable_e2e_android.yaml - with: - package-path: 'packages/firebase_ml_model_downloader/firebase_ml_model_downloader' - package-scope: 'firebase_ml_model_downloader*' - native-config-args: '--live-tier-plist=ml_model_downloader' - inject-config-secrets: true - use-firebase-emulators: false - nightly_test_mode: ${{ inputs.nightly_test_mode == true }} - secrets: - TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }} - TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }} - - ios: - needs: changes - if: needs.changes.outputs.ios == 'true' - uses: ./.github/workflows/reusable_e2e_ios.yaml - with: - package-path: 'packages/firebase_ml_model_downloader/firebase_ml_model_downloader' - package-scope: 'firebase_ml_model_downloader*' - cache-key-suffix: 'ml_model_downloader' - native-config-args: '--live-tier-plist=ml_model_downloader' - inject-config-secrets: true - use-firebase-emulators: false - # Firebase Apple SDK 13 removed FirebaseMLModelDownloader. Live tests stay - # on CocoaPods, which is still pinned to 12.19.0. - ios-spm: false - nightly_test_mode: ${{ inputs.nightly_test_mode == true }} - secrets: - TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }} - TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }} - - macos: - needs: changes - if: needs.changes.outputs.macos == 'true' - uses: ./.github/workflows/reusable_e2e_macos.yaml - with: - package-path: 'packages/firebase_ml_model_downloader/firebase_ml_model_downloader' - package-scope: 'firebase_ml_model_downloader*' - cache-key-suffix: 'ml_model_downloader' - native-config-args: '--live-tier-plist=ml_model_downloader' - inject-config-secrets: true - use-firebase-emulators: false - nightly_test_mode: ${{ inputs.nightly_test_mode == true }} - secrets: - TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }} - TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }} diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 4ae8fab10c26..8a91fba637f6 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -21,7 +21,7 @@ permissions: jobs: # The emulator-backed workflows (smoke, firestore, fdc, storage, auth, - # database, functions) need no secrets. The nine live-tier product + # database, functions) need no secrets. The eight live-tier product # workflows and e2e-pipeline talk to real Firebase projects, so they get # their config passed explicitly - never `secrets: inherit`, which would # hand every called workflow the whole secret store. @@ -98,13 +98,6 @@ jobs: secrets: TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }} TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }} - e2e-ml-model-downloader: - uses: ./.github/workflows/e2e_tests_ml_model_downloader.yaml - with: - nightly_test_mode: ${{ github.event.inputs.test_mode == 'true' }} - secrets: - TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }} - TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }} e2e-performance: uses: ./.github/workflows/e2e_tests_performance.yaml with: @@ -140,8 +133,7 @@ jobs: e2e-smoke, e2e-firestore, e2e-fdc, e2e-storage, e2e-auth, e2e-database, e2e-functions, e2e-pipeline, e2e-ai, e2e-analytics, e2e-app-check, e2e-app-installations, - e2e-crashlytics, e2e-messaging, e2e-ml-model-downloader, - e2e-performance, e2e-remote-config, + e2e-crashlytics, e2e-messaging, e2e-performance, e2e-remote-config, ] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 @@ -166,7 +158,6 @@ jobs: APP_INSTALLATIONS_STATUS: ${{ needs.e2e-app-installations.result }} CRASHLYTICS_STATUS: ${{ needs.e2e-crashlytics.result }} MESSAGING_STATUS: ${{ needs.e2e-messaging.result }} - ML_MODEL_DOWNLOADER_STATUS: ${{ needs.e2e-ml-model-downloader.result }} PERFORMANCE_STATUS: ${{ needs.e2e-performance.result }} REMOTE_CONFIG_STATUS: ${{ needs.e2e-remote-config.result }} REPO: ${{ github.repository }} diff --git a/.github/workflows/reusable_e2e_web.yaml b/.github/workflows/reusable_e2e_web.yaml index 3558056e4297..4f4020a43596 100644 --- a/.github/workflows/reusable_e2e_web.yaml +++ b/.github/workflows/reusable_e2e_web.yaml @@ -2,8 +2,7 @@ name: reusable-e2e-web # The web half of the per-product e2e suite: `flutter drive` the example under # chromedriver. Called by every `e2e_tests_.yaml` whose product ships -# a web implementation (everything except firebase_crashlytics and -# firebase_ml_model_downloader). +# a web implementation (everything except firebase_crashlytics). # # `wasm: true` selects the WebAssembly variant instead of the JS one; a product # whose example ships `web/wasm_index.html` calls this workflow twice, once per diff --git a/.github/workflows/scripts/generate-dummy-firebase-configs.dart b/.github/workflows/scripts/generate-dummy-firebase-configs.dart index f64cf4f154a3..c3f59a65416f 100644 --- a/.github/workflows/scripts/generate-dummy-firebase-configs.dart +++ b/.github/workflows/scripts/generate-dummy-firebase-configs.dart @@ -10,11 +10,11 @@ import 'dart:io'; /// Examples whose `lib/firebase_options.dart` this script fills in with dummy /// credentials. /// -/// The nine live-tier examples (ai, analytics, app_check, app_installations, -/// crashlytics, messaging, ml_model_downloader, performance, remote_config) -/// are still listed: their `lib/main.dart` imports `firebase_options.dart`, so -/// without a file here `melos analyze-ci` and every example build in -/// `all_plugins.yaml` fail on an unresolved import. +/// The eight live-tier examples (ai, analytics, app_check, app_installations, +/// crashlytics, messaging, performance, remote_config) are still listed: their +/// `lib/main.dart` imports `firebase_options.dart`, so without a file here +/// `melos analyze-ci` and every example build in `all_plugins.yaml` fail on an +/// unresolved import. /// /// Their e2e workflows never take this path. `e2e_tests_.yaml` gets /// the real values from repository secrets ("Inject Firebase config") and only @@ -36,7 +36,6 @@ const _firebaseOptionsPaths = [ 'packages/firebase_database/firebase_database/example/lib/firebase_options.dart', 'packages/firebase_in_app_messaging/firebase_in_app_messaging/example/lib/firebase_options.dart', 'packages/firebase_messaging/firebase_messaging/example/lib/firebase_options.dart', - 'packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/lib/firebase_options.dart', 'packages/firebase_performance/firebase_performance/example/lib/firebase_options.dart', 'packages/firebase_remote_config/firebase_remote_config/example/lib/firebase_options.dart', 'packages/firebase_storage/firebase_storage/example/lib/firebase_options.dart', @@ -50,12 +49,12 @@ const _firebaseOptionsPaths = [ /// the bundle - the plugin registrant runs it before any Dart code, so the Dart /// `FirebaseOptions` never get a say. `FIRApp` then eagerly instantiates /// `FIRInstallations`, which is a hard dependency of Analytics, App Check, -/// App Installations, Crashlytics, In-App Messaging, ML Model Downloader, -/// Messaging, Performance and Remote Config. `+[FIRInstallations -/// validateAPIKey:]` raises an ObjC exception - i.e. SIGABRT at launch, before -/// the VM service is up, which `flutter test` only ever sees as -/// "WebSocketChannelException: Connection refused" - unless the key is exactly -/// 39 characters, starts with `A` and contains only base64url characters. +/// App Installations, Crashlytics, In-App Messaging, Messaging, Performance +/// and Remote Config. `+[FIRInstallations validateAPIKey:]` raises an ObjC +/// exception - i.e. SIGABRT at launch, before the VM service is up, which +/// `flutter test` only ever sees as "WebSocketChannelException: Connection +/// refused" - unless the key is exactly 39 characters, starts with `A` and +/// contains only base64url characters. /// /// So: keep the shape, keep the value obviously fake. const _dummyApiKey = 'AIzaSyDUMMYKEYFORFLUTTERFIRECITESTS0000'; @@ -141,7 +140,7 @@ class DefaultFirebaseOptions { } '''; -/// Example roots of the nine live-tier products, keyed by the name used in +/// Example roots of the eight live-tier products, keyed by the name used in /// `--live-tier-plist=`. /// /// Every one of these Xcode projects lists `GoogleService-Info.plist` in a @@ -172,14 +171,12 @@ const _liveTierExampleRoots = { 'packages/firebase_app_installations/firebase_app_installations/example', 'crashlytics': 'packages/firebase_crashlytics/firebase_crashlytics/example', 'messaging': 'packages/firebase_messaging/firebase_messaging/example', - 'ml_model_downloader': - 'packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example', 'performance': 'packages/firebase_performance/firebase_performance/example', 'remote_config': 'packages/firebase_remote_config/firebase_remote_config/example', }; -/// The app identity shared by the mega `tests` app and the nine live-tier +/// The app identity shared by the mega `tests` app and the eight live-tier /// examples: live Firebase backends only accept app ids registered in the /// `flutterfire-e2e-tests` project. const _liveTierBundleId = 'io.flutter.plugins.firebase.tests'; diff --git a/.github/workflows/scripts/nightly_issue_dashboard.dart b/.github/workflows/scripts/nightly_issue_dashboard.dart index c49d9e459fe0..ba8e35d72729 100644 --- a/.github/workflows/scripts/nightly_issue_dashboard.dart +++ b/.github/workflows/scripts/nightly_issue_dashboard.dart @@ -41,7 +41,6 @@ const _columns = <({String env, String header})>[ (env: 'APP_INSTALLATIONS_STATUS', header: 'Installations'), (env: 'CRASHLYTICS_STATUS', header: 'Crashlytics'), (env: 'MESSAGING_STATUS', header: 'Messaging'), - (env: 'ML_MODEL_DOWNLOADER_STATUS', header: 'ML Model'), (env: 'PERFORMANCE_STATUS', header: 'Performance'), (env: 'REMOTE_CONFIG_STATUS', header: 'Remote Config'), ]; diff --git a/README.md b/README.md index 5e57d89b4ab9..cb8600b16b63 100644 --- a/README.md +++ b/README.md @@ -65,13 +65,6 @@ and open source. (*) for development only. Production on Windows is not supported. -## Preview Plugins - -| Name | pub.dev | Firebase Product | Documentation | View Source | Android | iOS | Web | MacOS | -|---------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------:|:---------:|:-----:|:-----:|:-------:| -| ML Model Downloader (deprecated) | [![ML Model Downloader pub.dev badge](https://img.shields.io/pub/v/firebase_ml_model_downloader.svg)](https://pub.dev/packages/firebase_ml_model_downloader) | [🔗](https://firebase.google.com/products/ml) | [📖](https://firebase.google.com/docs/ml/migrate-to-cloud-storage) | [`firebase_ml_model_downloader`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_ml_model_downloader) | ✔ | ✔ | N/A | β | - - ## Issues Please file FlutterFire specific issues, bugs, or feature requests in diff --git a/docs/ml/use-custom-models.md b/docs/ml/use-custom-models.md deleted file mode 100644 index 0e1dc9822b72..000000000000 --- a/docs/ml/use-custom-models.md +++ /dev/null @@ -1,150 +0,0 @@ -Project: /docs/_project.yaml -Book: /docs/_book.yaml - - - -# Use a custom TensorFlow Lite model with Flutter - - - -If your app uses custom -[TensorFlow Lite](https://www.tensorflow.org/lite/){:.external} models, you can -use Firebase ML to deploy your models. By deploying models with Firebase, you -can reduce the initial download size of your app and update your app's ML models -without releasing a new version of your app. And, with Remote Config and A/B -Testing, you can dynamically serve different models to different sets of users. - -## TensorFlow Lite models - -TensorFlow Lite models are ML models that are optimized to run on mobile -devices. To get a TensorFlow Lite model: - -- Use a pre-built model, such as one of the [official TensorFlow Lite models](https://www.tensorflow.org/lite/models){:.external} -- [Convert a TensorFlow model, Keras model, or concrete function to TensorFlow Lite.](https://www.tensorflow.org/lite/convert){:.external} - -Note that in the absence of a maintained TensorFlow Lite library for Dart, you -will need to integrate with the native TensorFlow Lite library for your -platforms. This integration is not documented here. - -## Before you begin - -1. [Install and initialize the Firebase SDKs for Flutter](/docs/flutter/setup) - if you haven't already done so. - -1. From the root directory of your Flutter project, run the following - command to install the ML model downloader plugin: - - ```bash - flutter pub add firebase_ml_model_downloader - ``` - -1. Rebuild your project: - - ```bash - flutter run - ``` - -## 1. Deploy your model {:#deploy} - -Deploy your custom TensorFlow models using either the Firebase console or -the Firebase Admin Python and Node.js SDKs. See -[Deploy and manage custom models](/docs/ml/manage-hosted-models). - -After you add a custom model to your Firebase project, you can reference the -model in your apps using the name you specified. At any time, you can deploy a -new TensorFlow Lite model and download the new model onto users' devices by -calling `getModel()` (see below). - -## 2. Download the model to the device and initialize a TensorFlow Lite interpreter - -To use your TensorFlow Lite model in your app, first use the model downloader -to download the latest version of the model to the device. Then, instantiate a -TensorFlow Lite interpreter with the model. - -To start the model download, call the model downloader's `getModel()` method, -specifying the name you assigned the model when you uploaded it, whether you -want to always download the latest model, and the conditions under which you -want to allow downloading. - -You can choose from three download behaviors: - -| Download type | Description -|----------------------------------|-------------------------------------------- -| `localModel` | Get the local model from the device. -: : If there is no local model available, this -: : behaves like `latestModel`. Use this -: : download type if you are not interested in -: : checking for model updates. For example, -: : you're using Remote Config to retrieve -: : model names and you always upload models -: : under new names (recommended). -| `localModelUpdateInBackground` | Get the local model from the device and -: : start updating the model in the background. -: : If there is no local model available, this -: : behaves like `latestModel`. -| `latestModel` | Get the latest model. If the local model is -: : the latest version, returns the local -: : model. Otherwise, download the latest -: : model. This behavior will block until the -: : latest version is downloaded (not -: : recommended). Use this behavior only in -: : cases where you explicitly need the latest -: : version. - -You should disable model-related functionality—for example, grey-out or -hide part of your UI—until you confirm the model has been downloaded. - -```dart -FirebaseModelDownloader.instance - .getModel( - "yourModelName", - FirebaseModelDownloadType.localModel, - FirebaseModelDownloadConditions( - iosAllowsCellularAccess: true, - iosAllowsBackgroundDownloading: false, - androidChargingRequired: false, - androidWifiRequired: false, - androidDeviceIdleRequired: false, - ) - ) - .then((customModel) { - // Download complete. Depending on your app, you could enable the ML - // feature, or switch from the local model to the remote model, etc. - - // The CustomModel object contains the local path of the model file, - // which you can use to instantiate a TensorFlow Lite interpreter. - final localModelPath = customModel.file; - - // ... - }); -``` - -Many apps start the download task in their initialization code, but you can do -so at any point before you need to use the model. - - -## 3. Perform inference on input data - -Now that you have your model file on the device you can use it with the -TensorFlow Lite interpreter to perform inference. In the absence of a maintained -TensorFlow Lite library for Dart, you will need to integrate with the -[native TensorFlow Lite libraries](https://www.tensorflow.org/lite){:.external} -for iOS and Android. - - -## Appendix: Model security {:#model_security} - -Regardless of how you make your TensorFlow Lite models available to -Firebase ML, Firebase ML stores them in the standard serialized protobuf format in -local storage. - -In theory, this means that anybody can copy your model. However, -in practice, most models are so application-specific and obfuscated by -optimizations that the risk is similar to that of competitors disassembling and -reusing your code. Nevertheless, you should be aware of this risk before you use -a custom model in your app. diff --git a/docs/reference/_toc.yaml b/docs/reference/_toc.yaml index ee922411a014..06723c28d892 100644 --- a/docs/reference/_toc.yaml +++ b/docs/reference/_toc.yaml @@ -51,9 +51,6 @@ toc: - title: firebase_messaging_web path: https://pub.dev/documentation/firebase_messaging_web/latest/ status: external -- title: firebase_ml_model_downloader - path: https://pub.dev/documentation/firebase_ml_model_downloader/latest/ - status: external - title: firebase_performance path: https://pub.dev/documentation/firebase_performance/latest/ status: external diff --git a/docs/setup/_setup_main.md b/docs/setup/_setup_main.md index 34534edd51e0..fa4cc0ad6514 100644 --- a/docs/setup/_setup_main.md +++ b/docs/setup/_setup_main.md @@ -208,7 +208,6 @@ Product | Plugin name [{{data_connect_short}}][dataconnect docs] | `firebase_data_connect` | {{YES}} | {{YES}} | {{YES}} | | [{{inappmessaging}}][fiam docs] | `firebase_in_app_messaging` | {{YES}} | {{YES}} | | | [{{firebase_installations}}][installations docs] | `firebase_app_installations` | {{YES}} | {{YES}} | {{YES}} | beta | -[ML Model Downloader][ml docs] | `firebase_ml_model_downloader` | {{YES}} | {{YES}} | | deprecated | [{{perfmon}}][perfmon docs] | `firebase_performance` | {{YES}} | {{YES}} | {{YES}} | | [{{database}}][rtdb docs] | `firebase_database` | {{YES}} | {{YES}} | {{YES}} | beta | [{{remote_config}}][remote config docs] | `firebase_remote_config` | {{YES}} | {{YES}} | {{YES}} | beta | @@ -335,7 +334,6 @@ By default, the Firebase Flutter SDK auto-injects the Firebase JavaScript SDK wh [ddls docs]: /docs/dynamic-links/flutter/create [fiam docs]: /docs/in-app-messaging/get-started?platform=flutter [installations docs]: /docs/projects/manage-installations -[ml docs]: /docs/ml/flutter/use-custom-models [perfmon docs]: /docs/perf-mon/flutter/get-started [rtdb docs]: /docs/database/flutter/start [remote config docs]: /docs/remote-config/get-started?platform=flutter diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/.gitignore deleted file mode 100644 index e9dc58d3d6e2..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.DS_Store -.dart_tool/ - -.packages -.pub/ - -build/ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/.metadata b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/.metadata deleted file mode 100644 index 5bed5265e818..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: 18116933e77adc82f80866c928266a5b4f1ed645 - channel: stable - -project_type: plugin diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/CHANGELOG.md b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/CHANGELOG.md deleted file mode 100644 index 75183abacba7..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/CHANGELOG.md +++ /dev/null @@ -1,489 +0,0 @@ -## 0.4.5 - - - **FEAT**(core): bump Firebase iOS SDK to 12.19.0 ([#18683](https://github.com/firebase/flutterfire/issues/18683)). ([35e39637](https://github.com/firebase/flutterfire/commit/35e39637f4cbef0d70043047f80d6f6e80daf8fe)) - -## 0.4.4 - - - **FIX**(ci): bump Kotlin Gradle plugin to 2.3.0 ([#18600](https://github.com/firebase/flutterfire/issues/18600)). ([4c3865e2](https://github.com/firebase/flutterfire/commit/4c3865e2e56bf59904a9f48a6e70f0f963df2cda)) - - **FIX**(ci): align Android toolchain and analyzer with Flutter 3.47 ([#18566](https://github.com/firebase/flutterfire/issues/18566)). ([87ace849](https://github.com/firebase/flutterfire/commit/87ace8496fec75c461f3b29a9b8a85d46e286957)) - - **FEAT**: bump Firebase iOS SDK to 12.18.0 ([#18596](https://github.com/firebase/flutterfire/issues/18596)). ([07febc37](https://github.com/firebase/flutterfire/commit/07febc37617ab8b4f6f06e7208baa6a15ce2ef70)) - -## 0.4.3 - - - **FIX**(app_check): sync SPM pins to 12.17.0 and fix Windows Activate override after [#18505](https://github.com/firebase/flutterfire/issues/18505) ([#18515](https://github.com/firebase/flutterfire/issues/18515)). ([ce1f6e05](https://github.com/firebase/flutterfire/commit/ce1f6e05e2d2645c414f8e731d3d082436caa012)) - - **FEAT**(ml): adding depreciation notice to ML plugin ([#18472](https://github.com/firebase/flutterfire/issues/18472)). ([fb20da9c](https://github.com/firebase/flutterfire/commit/fb20da9c88d0e7ac20b89fc27000ae4eeb50654d)) - -## 0.4.2+6 - - - Update a dependency to the latest release. - -## 0.4.2+5 - - - Update a dependency to the latest release. - -## 0.4.2+4 - - - Update a dependency to the latest release. - -## 0.4.2+3 - - - Update a dependency to the latest release. - -## 0.4.2+2 - - - Update a dependency to the latest release. - -## 0.4.2+1 - - - **REFACTOR**: move all packages to workspace ([#18182](https://github.com/firebase/flutterfire/issues/18182)). ([6cdfcb10](https://github.com/firebase/flutterfire/commit/6cdfcb103da7be46ccb190d7e107d8c537aa1ff8)) - -## 0.4.2 - - - **FEAT**: use local firebase_core instead of remote SPM dependency ([#18141](https://github.com/firebase/flutterfire/issues/18141)). ([995caf40](https://github.com/firebase/flutterfire/commit/995caf400df80c0fde7151c651ccc6c0f756e381)) - -## 0.4.1 - - - **FEAT**(ios): migrate iOS to UIScene lifecycle ([#18054](https://github.com/firebase/flutterfire/issues/18054)). ([3ffa4110](https://github.com/firebase/flutterfire/commit/3ffa411098132fd5182a84be4e7a226106bc7451)) - -## 0.4.0+7 - - - Update a dependency to the latest release. - -## 0.4.0+6 - - - Update a dependency to the latest release. - -## 0.4.0+5 - - - Update a dependency to the latest release. - -## 0.4.0+4 - - - Update a dependency to the latest release. - -## 0.4.0+3 - - - Update a dependency to the latest release. - -## 0.4.0+2 - - - Update a dependency to the latest release. - -## 0.4.0+1 - - - Update a dependency to the latest release. - -## 0.4.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: bump iOS SDK to version 12.0.0 ([#17549](https://github.com/firebase/flutterfire/issues/17549)). ([b2619e68](https://github.com/firebase/flutterfire/commit/b2619e685fec897513483df1d7be347b64f95606)) - - **BREAKING** **FEAT**: bump Android SDK to version 34.0.0 ([#17554](https://github.com/firebase/flutterfire/issues/17554)). ([a5bdc051](https://github.com/firebase/flutterfire/commit/a5bdc051d40ee44e39cf0b8d2a7801bc6f618b67)) - -## 0.3.3+8 - - - Update a dependency to the latest release. - -## 0.3.3+7 - - - Update a dependency to the latest release. - -## 0.3.3+6 - - - Update a dependency to the latest release. - -## 0.3.3+5 - - - Update a dependency to the latest release. - -## 0.3.3+4 - - - Update a dependency to the latest release. - -## 0.3.3+3 - - - Update a dependency to the latest release. - -## 0.3.3+2 - - - Update a dependency to the latest release. - -## 0.3.3+1 - - - Update a dependency to the latest release. - -## 0.3.3 - - - **FEAT**: bump Firebase android SDK to `33.8.0` ([#17048](https://github.com/firebase/flutterfire/issues/17048)). ([0befa109](https://github.com/firebase/flutterfire/commit/0befa109970893f79fb50d2b809b95d797fdc416)) - -## 0.3.2+1 - - - Update a dependency to the latest release. - -## 0.3.2 - - - **FEAT**(model-downloader): Swift Package Manager support ([#16854](https://github.com/firebase/flutterfire/issues/16854)). ([30b4fb6c](https://github.com/firebase/flutterfire/commit/30b4fb6c1f1db87f24d54f0da0bad0851d688c59)) - -## 0.3.1+6 - - - Update a dependency to the latest release. - -## 0.3.1+5 - - - Update a dependency to the latest release. - -## 0.3.1+4 - - - Update a dependency to the latest release. - -## 0.3.1+3 - - - Update a dependency to the latest release. - -## 0.3.1+2 - - - Update a dependency to the latest release. - -## 0.3.1+1 - - - Update a dependency to the latest release. - -## 0.3.1 - - - **FEAT**: bump iOS SDK to version 11.0.0 ([#13158](https://github.com/firebase/flutterfire/issues/13158)). ([c0e0c997](https://github.com/firebase/flutterfire/commit/c0e0c99703ea394d1bb873ac225c5fe3539b002d)) - -## 0.3.0+4 - - - Update a dependency to the latest release. - -## 0.3.0+3 - - - Update a dependency to the latest release. - -## 0.3.0+2 - - - Update a dependency to the latest release. - -## 0.3.0+1 - - - Update a dependency to the latest release. - -## 0.3.0 - -> Note: This release has breaking changes. - - - **BREAKING** **REFACTOR**: android plugins require `minSdk 21`, auth requires `minSdk 23` ahead of android BOM `>=33.0.0` ([#12873](https://github.com/firebase/flutterfire/issues/12873)). ([52accfc6](https://github.com/firebase/flutterfire/commit/52accfc6c39d6360d9c0f36efe369ede990b7362)) - - **BREAKING** **REFACTOR**: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SDK `v11` breaking change ([#12872](https://github.com/firebase/flutterfire/issues/12872)). ([de0cea2c](https://github.com/firebase/flutterfire/commit/de0cea2c3c36694a76361be784255986fac84a43)) - -## 0.2.5+6 - - - Update a dependency to the latest release. - -## 0.2.5+5 - - - Update a dependency to the latest release. - -## 0.2.5+4 - - - Update a dependency to the latest release. - -## 0.2.5+3 - - - Update a dependency to the latest release. - -## 0.2.5+2 - - - Update a dependency to the latest release. - -## 0.2.5+1 - - - Update a dependency to the latest release. - -## 0.2.5 - - - **FEAT**(android): Bump `compileSdk` version of Android plugins to latest stable (34) ([#12566](https://github.com/firebase/flutterfire/issues/12566)). ([e891fab2](https://github.com/firebase/flutterfire/commit/e891fab291e9beebc223000b133a6097e066a7fc)) - -## 0.2.4+18 - - - Update a dependency to the latest release. - -## 0.2.4+17 - - - Update a dependency to the latest release. - -## 0.2.4+16 - - - Update a dependency to the latest release. - -## 0.2.4+15 - - - Update a dependency to the latest release. - -## 0.2.4+14 - - - Update a dependency to the latest release. - -## 0.2.4+13 - - - Update a dependency to the latest release. - -## 0.2.4+12 - - - Update a dependency to the latest release. - -## 0.2.4+11 - - - Update a dependency to the latest release. - -## 0.2.4+10 - - - Update a dependency to the latest release. - -## 0.2.4+9 - - - **DOCS**: change old documentation links of packages in README files ([#12136](https://github.com/firebase/flutterfire/issues/12136)). ([24b9ac7e](https://github.com/firebase/flutterfire/commit/24b9ac7ec29fc9ca466c0941c2cff26d75b8568d)) - -## 0.2.4+8 - - - Update a dependency to the latest release. - -## 0.2.4+7 - - - Update a dependency to the latest release. - -## 0.2.4+6 - - - Update a dependency to the latest release. - -## 0.2.4+5 - - - Update a dependency to the latest release. - -## 0.2.4+4 - - - Update a dependency to the latest release. - -## 0.2.4+3 - - - Update a dependency to the latest release. - -## 0.2.4+2 - - - Update a dependency to the latest release. - -## 0.2.4+1 - - - Update a dependency to the latest release. - -## 0.2.4 - - - **FEAT**: Full support of AGP 8 ([#11699](https://github.com/firebase/flutterfire/issues/11699)). ([bdb5b270](https://github.com/firebase/flutterfire/commit/bdb5b27084d225809883bdaa6aa5954650551927)) - -## 0.2.3+7 - - - Update a dependency to the latest release. - -## 0.2.3+6 - - - Update a dependency to the latest release. - -## 0.2.3+5 - - - Update a dependency to the latest release. - -## 0.2.3+4 - - - Update a dependency to the latest release. - -## 0.2.3+3 - - - Update a dependency to the latest release. - -## 0.2.3+2 - - - Update a dependency to the latest release. - -## 0.2.3+1 - - - Update a dependency to the latest release. - -## 0.2.3 - - - **FEAT**: update dependency constraints to `sdk: '>=2.18.0 <4.0.0'` `flutter: '>=3.3.0'` ([#10946](https://github.com/firebase/flutterfire/issues/10946)). ([2772d10f](https://github.com/firebase/flutterfire/commit/2772d10fe510dcc28ec2d37a26b266c935699fa6)) - -## 0.2.2 - - - **FIX**: add support for AGP 8.0 ([#10901](https://github.com/firebase/flutterfire/issues/10901)). ([a3b96735](https://github.com/firebase/flutterfire/commit/a3b967354294c295a9be8d699a6adb7f4b1dba7f)) - - **FEAT**: upgrade to dart 3 compatible dependencies ([#10890](https://github.com/firebase/flutterfire/issues/10890)). ([4bd7e59b](https://github.com/firebase/flutterfire/commit/4bd7e59b1f2b09a2230c49830159342dd4592041)) - -## 0.2.1+1 - - - Update a dependency to the latest release. - -## 0.2.1 - - - **FEAT**: bump dart sdk constraint to 2.18 ([#10618](https://github.com/firebase/flutterfire/issues/10618)). ([f80948a2](https://github.com/firebase/flutterfire/commit/f80948a28b62eead358bdb900d5a0dfb97cebb33)) - -## 0.2.0+13 - - - Update a dependency to the latest release. - -## 0.2.0+12 - - - Update a dependency to the latest release. - -## 0.2.0+11 - - - Update a dependency to the latest release. - -## 0.2.0+10 - - - Update a dependency to the latest release. - -## 0.2.0+9 - - - Update a dependency to the latest release. - -## 0.2.0+8 - - - **REFACTOR**: upgrade project to remove warnings from Flutter 3.7 ([#10344](https://github.com/firebase/flutterfire/issues/10344)). ([e0087c84](https://github.com/firebase/flutterfire/commit/e0087c845c7526c11a4241a26d39d4673b0ad29d)) - -## 0.2.0+7 - - - Update a dependency to the latest release. - -## 0.2.0+6 - - - Update a dependency to the latest release. - -## 0.2.0+5 - - - Update a dependency to the latest release. - -## 0.2.0+4 - - - Update a dependency to the latest release. - -## 0.2.0+3 - - - **REFACTOR**: add `verify` to `QueryPlatform` and change internal `verifyToken` API to `verify` ([#9711](https://github.com/firebase/flutterfire/issues/9711)). ([c99a842f](https://github.com/firebase/flutterfire/commit/c99a842f3e3f5f10246e73f51530cc58c42b49a3)) - -## 0.2.0+2 - - - Update a dependency to the latest release. - -## 0.2.0+1 - - - Update a dependency to the latest release. - -## 0.2.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: Firebase iOS SDK version: `10.0.0` ([#9708](https://github.com/firebase/flutterfire/issues/9708)). ([9627c56a](https://github.com/firebase/flutterfire/commit/9627c56a37d657d0250b6f6b87d0fec1c31d4ba3)) - -## 0.1.1+9 - - - Update a dependency to the latest release. - -## 0.1.1+8 - - - Update a dependency to the latest release. - -## 0.1.1+7 - - - Update a dependency to the latest release. - -## 0.1.1+6 - - - Update a dependency to the latest release. - -## 0.1.1+5 - - - Update a dependency to the latest release. - -## 0.1.1+4 - - - Update a dependency to the latest release. - -## 0.1.1+3 - - - Update a dependency to the latest release. - -## 0.1.1+2 - - - Update a dependency to the latest release. - -## 0.1.1+1 - - - **FIX**: bump `firebase_core_platform_interface` version to fix previous release. ([bea70ea5](https://github.com/firebase/flutterfire/commit/bea70ea5cbbb62cbfd2a7a74ae3a07cb12b3ee5a)) - -## 0.1.1 - - - **FEAT**: Bump Firebase iOS SDK to `9.2.0` (#8594). ([79610162](https://github.com/firebase/flutterfire/commit/79610162460b8877f3bc727464a7065106f08079)) - -## 0.1.0+15 - - - **REFACTOR**: use `firebase.google.com` link for `homepage` in `pubspec.yaml` (#8736). ([f0ca0f19](https://github.com/firebase/flutterfire/commit/f0ca0f191714e0e53101219741d848428ff33e75)) - - **REFACTOR**: use "firebase" instead of "FirebaseExtended" as organisation in all links for this repository (#8791). ([d90b8357](https://github.com/firebase/flutterfire/commit/d90b8357db01d65e753021358668f0b129713e6b)) - - **DOCS**: point to "firebase.google" domain for hyperlinks in the usage section of `README.md` files (for the missing packages) (#8818). ([5bda8c92](https://github.com/firebase/flutterfire/commit/5bda8c92be1651a941d1285d36e885ee0b967b11)) - -## 0.1.0+14 - - - **DOCS**: use camel case style for "FlutterFire" in `README.md` (#8751). ([e1e42eb9](https://github.com/firebase/flutterfire/commit/e1e42eb97772a86bf5e35d0f3be0376225a5f1d6)) - -## 0.1.0+13 - - - Update a dependency to the latest release. - -## 0.1.0+12 - - - Update a dependency to the latest release. - -## 0.1.0+11 - - - Update a dependency to the latest release. - -## 0.1.0+10 - - - Update a dependency to the latest release. - -## 0.1.0+9 - - - Update a dependency to the latest release. - -## 0.1.0+8 - - - **FIX**: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184). ([df4a5bab](https://github.com/firebase/flutterfire/commit/df4a5bab3c029399b4f257a5dd658d302efe3908)) - -## 0.1.0+7 - - - Update a dependency to the latest release. - -## 0.1.0+6 - - - **FIX**: fixed an issue where macOS builds failed due to bug with missing pod subspec in Firebase SDK (added a workaround until issue fixed upstream). ([acc6afab](https://github.com/firebase/flutterfire/commit/acc6afab3e1bc66baa13a35c968df45de36e64bf)) - -## 0.1.0+5 - - - Update a dependency to the latest release. - -## 0.1.0+4 - - - **REFACTOR**: fix all `unnecessary_import` analyzer issues introduced with Flutter 2.8. ([7f0e82c9](https://github.com/firebase/flutterfire/commit/7f0e82c978a3f5a707dd95c7e9136a3e106ff75e)) - -## 0.1.0+3 - - - Update a dependency to the latest release. - -## 0.1.0+2 - - - Update a dependency to the latest release. - -## 0.1.0+1 - - - **FIX**: listDownloadedModels cast error (#7486). - -## 0.1.0 - -- Initial Firebase ML Downloader release. diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/LICENSE b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/LICENSE deleted file mode 100644 index e8a438415fb0..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2021, the Chromium project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/README.md b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/README.md deleted file mode 100644 index 6ef1f1cf1297..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Firebase ML Model Downloader for Flutter -[![pub package](https://img.shields.io/pub/v/firebase_ml_model_downloader.svg)](https://pub.dev/packages/firebase_ml_model_downloader) - -> [!WARNING] -> Firebase ML is deprecated and will shut down on June 15, 2027. Existing -> projects should migrate hosted custom models to another solution before that -> date. See the -> [Cloud Storage migration guide](https://firebase.google.com/docs/ml/migrate-to-cloud-storage). - -A Flutter plugin to use the [Firebase ML Model Downloader API](https://firebase.google.com/docs/ml/). - -## Getting Started - -To get started with Firebase ML Model Downloader, please [see the documentation](https://firebase.google.com/docs/ml/flutter/use-custom-models). - -## Usage - -To use this plugin, please visit the [Firebase ML Model Downloader Usage documentation](https://firebase.google.com/docs/ml/flutter/use-custom-models) - -## Issues and feedback - -Please file FlutterFire specific issues, bugs, or feature requests in our [issue tracker](https://github.com/firebase/flutterfire/issues/new). - -Plugin issues that are not specific to FlutterFire can be filed in the [Flutter issue tracker](https://github.com/flutter/flutter/issues/new). - -To contribute a change to this plugin, -please review our [contribution guide](https://github.com/firebase/flutterfire/blob/main/CONTRIBUTING.md) -and open a [pull request](https://github.com/firebase/flutterfire/pulls). diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/.gitignore deleted file mode 100644 index c6cbe562a427..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/workspace.xml -/.idea/libraries -.DS_Store -/build -/captures diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/build.gradle b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/build.gradle deleted file mode 100644 index d2dbe786baf5..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/build.gradle +++ /dev/null @@ -1,69 +0,0 @@ -group 'io.flutter.plugins.firebase.firebase_ml_model_downloader' -version '1.0' - -apply plugin: 'com.android.library' -apply from: file("local-config.gradle") - -buildscript { - repositories { - google() - mavenCentral() - } -} - -rootProject.allprojects { - repositories { - google() - mavenCentral() - } -} - -def firebaseCoreProject = findProject(':firebase_core') -if (firebaseCoreProject == null) { - throw new GradleException('Could not find the firebase_core FlutterFire plugin, have you added it as a dependency in your pubspec?') -} else if (!firebaseCoreProject.properties['FirebaseSDKVersion']) { - throw new GradleException('A newer version of the firebase_core FlutterFire plugin is required, please update your firebase_core pubspec dependency.') -} - -def getRootProjectExtOrCoreProperty(name, firebaseCoreProject) { - if (!rootProject.ext.has('FlutterFire')) return firebaseCoreProject.properties[name] - if (!rootProject.ext.get('FlutterFire')[name]) return firebaseCoreProject.properties[name] - return rootProject.ext.get('FlutterFire').get(name) -} - -android { - // Conditional for compatibility with AGP <4.2. - if (project.android.hasProperty("namespace")) { - namespace 'io.flutter.plugins.firebase.firebase_ml_model_downloader' - } - - compileSdkVersion project.ext.compileSdk - - defaultConfig { - minSdkVersion project.ext.minSdk - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility project.ext.javaVersion - targetCompatibility project.ext.javaVersion - } - - buildFeatures { - buildConfig = true - } - - lintOptions { - disable 'InvalidPackage' - } - - dependencies { - api firebaseCoreProject - implementation platform("com.google.firebase:firebase-bom:${getRootProjectExtOrCoreProperty("FirebaseSDKVersion", firebaseCoreProject)}") - // BoM 35 dropped this artifact. 26.1.1 is the last version BoM 34.19.0 mapped. - implementation 'com.google.firebase:firebase-ml-modeldownloader:26.1.1' - implementation 'androidx.annotation:annotation:1.7.0' - } -} - -apply from: file("./user-agent.gradle") diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/gradle.properties b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/gradle.properties deleted file mode 100644 index d9cf55df7c19..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a54a8..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/local-config.gradle b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/local-config.gradle deleted file mode 100644 index 2bd171bb5106..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/local-config.gradle +++ /dev/null @@ -1,7 +0,0 @@ -ext { - compileSdk=34 - minSdk=24 - targetSdk=34 - javaVersion = JavaVersion.toVersion(17) - androidGradlePluginVersion = '8.3.0' -} \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/settings.gradle b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/settings.gradle deleted file mode 100644 index c3f031cf0552..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/settings.gradle +++ /dev/null @@ -1,10 +0,0 @@ -rootProject.name = 'firebase_ml_model_downloader' - -apply from: file("local-config.gradle") - -pluginManagement { - plugins { - id "com.android.application" version project.ext.androidGradlePluginVersion - id "com.android.library" version project.ext.androidGradlePluginVersion - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/AndroidManifest.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/AndroidManifest.xml deleted file mode 100644 index b10b6ced466f..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/java/io/flutter/plugins/firebase/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.java b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/java/io/flutter/plugins/firebase/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.java deleted file mode 100644 index 80393e947b73..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/java/io/flutter/plugins/firebase/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.java +++ /dev/null @@ -1,292 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.firebase_ml_model_downloader; - -import android.os.Build; -import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; -import com.google.android.gms.tasks.Task; -import com.google.android.gms.tasks.TaskCompletionSource; -import com.google.android.gms.tasks.Tasks; -import com.google.firebase.FirebaseApp; -import com.google.firebase.ml.modeldownloader.CustomModel; -import com.google.firebase.ml.modeldownloader.CustomModelDownloadConditions; -import com.google.firebase.ml.modeldownloader.DownloadType; -import com.google.firebase.ml.modeldownloader.FirebaseMlException; -import com.google.firebase.ml.modeldownloader.FirebaseModelDownloader; -import io.flutter.embedding.engine.plugins.FlutterPlugin; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugins.firebase.core.FlutterFirebasePlugin; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; - -public class FirebaseModelDownloaderPlugin - implements FlutterPlugin, MethodCallHandler, FlutterFirebasePlugin { - - private static final String METHOD_CHANNEL_NAME = - "plugins.flutter.io/firebase_ml_model_downloader"; - private MethodChannel channel; - - public FirebaseModelDownloaderPlugin() {} - - static Map getExceptionDetails(Exception exception) { - Map details = new HashMap<>(); - - if (exception == null) { - return details; - } - - String code = "UNKNOWN"; - String message = exception.getMessage(); - - if (exception instanceof FirebaseMlException) { - FirebaseMlException mlException = (FirebaseMlException) exception.getCause(); - code = exceptionCodeToString(mlException.getCode()); - message = mlException.getMessage(); - } - - details.put("code", code.replace("_", "-").toLowerCase()); - details.put("message", message); - - return details; - } - - static String exceptionCodeToString(int code) { - switch (code) { - case 1: - return "CANCELLED"; - default: - case 2: - return "UNKNOWN"; - case 3: - return "INVALID_ARGUMENT"; - case 4: - return "DEADLINE_EXCEEDED"; - case 5: - return "NOT_FOUND"; - case 6: - return "ALREADY_EXISTS"; - case 7: - return "PERMISSION_DENIED"; - case 8: - return "RESOURCE_EXHAUSTED"; - case 9: - return "FAILED_PRECONDITION"; - case 10: - return "ABORTED"; - case 11: - return "OUT_OF_RANGE"; - case 12: - return "UNIMPLEMENTED"; - case 13: - return "INTERNAL"; - case 14: - return "UNAVAILABLE"; - case 16: - return "UNAUTHENTICATED"; - case 17: - return "NO_NETWORK_CONNECTION"; - case 101: - return "NOT_ENOUGH_SPACE"; - case 102: - return "MODEL_HASH_MISMATCH"; - case 121: - return "DOWNLOAD_URL_EXPIRED"; - } - } - - @Override - public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { - channel = new MethodChannel(binding.getBinaryMessenger(), METHOD_CHANNEL_NAME); - channel.setMethodCallHandler(this); - } - - @Override - public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { - channel.setMethodCallHandler(null); - channel = null; - } - - // Returns a FirebaseModelDownloader instance for a given FirebaseApp. - private FirebaseModelDownloader getFirebaseModelDownloader(Map arguments) { - String appName = (String) Objects.requireNonNull(arguments.get("appName")); - FirebaseApp app = FirebaseApp.getInstance(appName); - return FirebaseModelDownloader.getInstance(app); - } - - // Converts a CustomModel into a Map for Dart. - private Map customModelToMap(CustomModel model) { - Map out = new HashMap<>(); - - out.put("filePath", model.getLocalFilePath()); - out.put("size", model.getSize()); - out.put("name", model.getName()); - out.put("hash", model.getModelHash()); - - return out; - } - - // Converts the provided Dart string into a DownloadType. - private DownloadType getDownloadType(String type) { - switch (type) { - case "local": - return DownloadType.LOCAL_MODEL; - case "local_background": - return DownloadType.LOCAL_MODEL_UPDATE_IN_BACKGROUND; - case "latest": - default: - return DownloadType.LATEST_MODEL; - } - } - - @SuppressWarnings("ConstantConditions") - @RequiresApi(api = Build.VERSION_CODES.N) - Task> getModel(Map arguments) { - TaskCompletionSource> taskCompletionSource = new TaskCompletionSource<>(); - - cachedThreadPool.execute( - () -> { - FirebaseModelDownloader instance = getFirebaseModelDownloader(arguments); - String modelName = (String) Objects.requireNonNull(arguments.get("modelName")); - String downloadType = (String) Objects.requireNonNull(arguments.get("downloadType")); - @SuppressWarnings("unchecked") - Map conditions = - (Map) Objects.requireNonNull(arguments.get("conditions")); - - CustomModelDownloadConditions.Builder conditionsBuilder = - new CustomModelDownloadConditions.Builder(); - - if (conditions.get("androidChargingRequired")) { - conditionsBuilder.requireCharging(); - } - - if (conditions.get("androidWifiRequired")) { - conditionsBuilder.requireWifi(); - } - - if (conditions.get("androidDeviceIdleRequired")) { - conditionsBuilder.requireDeviceIdle(); - } - - try { - CustomModel model = - Tasks.await( - instance.getModel( - modelName, getDownloadType(downloadType), conditionsBuilder.build())); - taskCompletionSource.setResult(customModelToMap(model)); - } catch (Exception e) { - taskCompletionSource.setException(e); - } - }); - - return taskCompletionSource.getTask(); - } - - Task>> listDownloadedModels(Map arguments) { - TaskCompletionSource>> taskCompletionSource = - new TaskCompletionSource<>(); - - cachedThreadPool.execute( - () -> { - FirebaseModelDownloader instance = getFirebaseModelDownloader(arguments); - - try { - Set result = Tasks.await(instance.listDownloadedModels()); - List> models = new ArrayList<>(result.size()); - - for (CustomModel model : result) { - models.add(customModelToMap(model)); - } - - taskCompletionSource.setResult(models); - } catch (Exception e) { - taskCompletionSource.setException(e); - } - }); - - return taskCompletionSource.getTask(); - } - - Task deleteDownloadedModel(Map arguments) { - TaskCompletionSource taskCompletionSource = new TaskCompletionSource<>(); - - cachedThreadPool.execute( - () -> { - FirebaseModelDownloader instance = getFirebaseModelDownloader(arguments); - String modelName = (String) Objects.requireNonNull(arguments.get("modelName")); - - try { - Tasks.await(instance.deleteDownloadedModel(modelName)); - taskCompletionSource.setResult(null); - } catch (Exception e) { - taskCompletionSource.setException(e); - } - }); - - return taskCompletionSource.getTask(); - } - - @RequiresApi(api = Build.VERSION_CODES.N) - @Override - public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) { - Task methodCallTask; - - switch (call.method) { - case "FirebaseModelDownloader#getModel": - methodCallTask = getModel(call.arguments()); - break; - case "FirebaseModelDownloader#listDownloadedModels": - methodCallTask = listDownloadedModels(call.arguments()); - break; - case "FirebaseModelDownloader#deleteDownloadedModel": - methodCallTask = deleteDownloadedModel(call.arguments()); - break; - default: - result.notImplemented(); - return; - } - - methodCallTask.addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(task.getResult()); - } else { - Exception exception = task.getException(); - Map exceptionDetails = getExceptionDetails(exception); - - result.error( - "firebase_ml_model_downloader", - exception != null ? exception.getMessage() : null, - exceptionDetails); - } - }); - } - - // Returns a nullable task. - private Task nullTask() { - TaskCompletionSource taskCompletionSource = new TaskCompletionSource<>(); - cachedThreadPool.execute(() -> taskCompletionSource.setResult(null)); - return taskCompletionSource.getTask(); - } - - @Override - public Task> getPluginConstantsForFirebaseApp(FirebaseApp firebaseApp) { - return nullTask(); - } - - @Override - public Task didReinitializeFirebaseCore() { - return nullTask(); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/java/io/flutter/plugins/firebase/firebase_ml_model_downloader/FlutterFirebaseAppRegistrar.java b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/java/io/flutter/plugins/firebase/firebase_ml_model_downloader/FlutterFirebaseAppRegistrar.java deleted file mode 100644 index 87fd95534467..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/src/main/java/io/flutter/plugins/firebase/firebase_ml_model_downloader/FlutterFirebaseAppRegistrar.java +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.plugins.firebase.firebase_ml_model_downloader; - -import androidx.annotation.Keep; -import com.google.firebase.components.Component; -import com.google.firebase.components.ComponentRegistrar; -import com.google.firebase.platforminfo.LibraryVersionComponent; -import java.util.Collections; -import java.util.List; - -@Keep -public class FlutterFirebaseAppRegistrar implements ComponentRegistrar { - @Override - public List> getComponents() { - return Collections.>singletonList( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/user-agent.gradle b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/user-agent.gradle deleted file mode 100644 index bd44c8f7fbe2..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/android/user-agent.gradle +++ /dev/null @@ -1,22 +0,0 @@ -import java.util.regex.Matcher -import java.util.regex.Pattern - -String libraryVersionName = "UNKNOWN" -String libraryName = "flutter-fire-ml-downloader" -File pubspec = new File(project.projectDir.parentFile, 'pubspec.yaml') - -if (pubspec.exists()) { - String yaml = pubspec.text - // Using \s*['|"]?([^\n|'|"]*)['|"]? to extract version number. - Matcher versionMatcher = Pattern.compile("^version:\\s*['|\"]?([^\\n|'|\"]*)['|\"]?\$", Pattern.MULTILINE).matcher(yaml) - if (versionMatcher.find()) libraryVersionName = versionMatcher.group(1).replaceAll("\\+", "-") -} - -android { - defaultConfig { - // BuildConfig.VERSION_NAME - buildConfigField 'String', 'LIBRARY_VERSION', "\"${libraryVersionName}\"" - // BuildConfig.LIBRARY_NAME - buildConfigField 'String', 'LIBRARY_NAME', "\"${libraryName}\"" - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/.gitignore deleted file mode 100644 index 0fa6b675c0a5..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/.gitignore +++ /dev/null @@ -1,46 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Web related -lib/generated_plugin_registrant.dart - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/.metadata b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/.metadata deleted file mode 100644 index 65a4a371c766..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/.metadata +++ /dev/null @@ -1,30 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "5dcb86f68f239346676ceb1ed1ea385bd215fba1" - channel: "stable" - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - - platform: android - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/README.md b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/README.md deleted file mode 100644 index 89e69d71257d..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# firebase_ml_model_downloader_example - -> [!WARNING] -> Firebase ML is deprecated and will shut down on June 15, 2027. Existing -> projects should migrate hosted custom models to another solution before that -> date. See the -> [Cloud Storage migration guide](https://firebase.google.com/docs/ml/migrate-to-cloud-storage). - -Demonstrates how to use the firebase_ml_model_downloader plugin. - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) - -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/analysis_options.yaml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/analysis_options.yaml deleted file mode 100644 index e2aca2845488..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/analysis_options.yaml +++ /dev/null @@ -1,39 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/.gitignore deleted file mode 100644 index 6f568019d3c6..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/build.gradle b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/build.gradle deleted file mode 100644 index 0e7c3e4690ce..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/build.gradle +++ /dev/null @@ -1,73 +0,0 @@ -plugins { - id "com.android.application" - // START: FlutterFire Configuration - id 'com.google.gms.google-services' - // END: FlutterFire Configuration - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" -} -apply from: file("../../../android/local-config.gradle") - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - -android { - namespace = "io.flutter.plugins.firebase.tests" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - - compileOptions { - sourceCompatibility = project.ext.javaVersion - targetCompatibility = project.ext.javaVersion - } - - defaultConfig { - // Deliberately the mega test app's Firebase app identity: the live-service - // e2e suite in `integration_test/` talks to real Firebase backends, which - // only accept app ids registered in the `flutterfire-e2e-tests` project. - // `namespace` and the Kotlin package below are unaffected. Two of these - // examples cannot be co-installed on one device - CI installs one per - // emulator. - applicationId = "io.flutter.plugins.firebase.tests" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdk = 24 - targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug - } - } -} - -flutter { - source = "../.." -} - -kotlin { - compilerOptions { - jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/debug/AndroidManifest.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f6981d5d3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/AndroidManifest.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 7b026ee8daff..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt deleted file mode 100644 index 88c6950b89c7..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/tests/MainActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.flutter.plugins.firebase.tests - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity : FlutterActivity() diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/drawable-v21/launch_background.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f3f6a2..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/drawable/launch_background.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f88420..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b09..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d4391482be..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb2..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/values-night/styles.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be745f9..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/values/styles.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88056ed..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/profile/AndroidManifest.xml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f6981d5d3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/build.gradle b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/build.gradle deleted file mode 100644 index d2ffbffa4cd2..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/gradle.properties b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/gradle.properties deleted file mode 100644 index 3c0f502f334a..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true -androidGradlePluginVersion=8.3.0 \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a54a8..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/settings.gradle b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/settings.gradle deleted file mode 100644 index a12a424c31ed..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/android/settings.gradle +++ /dev/null @@ -1,28 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "${androidGradlePluginVersion}" apply false - // START: FlutterFire Configuration - id "com.google.gms.google-services" version "4.3.15" apply false - // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "2.3.0" apply false -} - -include ":app" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/integration_test/e2e_test.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/integration_test/e2e_test.dart deleted file mode 100644 index 01fad2dd0de3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/integration_test/e2e_test.dart +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// These tests intentionally exercise the deprecated package. -// ignore_for_file: deprecated_member_use - -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_ml_model_downloader/firebase_ml_model_downloader.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:integration_test/integration_test.dart'; -import 'package:firebase_ml_model_downloader_example/firebase_options.dart'; - -import 'report_test_results.dart'; - -void main() { - final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - reportTestResultsToDriver(binding); - - group( - 'firebase_ml_model_downloader', - () { - setUpAll(() async { - // The native SDK may already have configured [DEFAULT] from a bundled - // GoogleService-Info.plist (the plugin registrant does this before any - // Dart runs). Dart's Firebase.apps cannot see that app until the first - // platform-channel call, so the only reliable guard is catching the - // duplicate-app error and keeping the natively configured instance. - try { - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - } on FirebaseException catch (e) { - if (e.code != 'duplicate-app') { - rethrow; - } - } - }); - - group('listDownloadedModels', () { - test('should return successfully', () async { - await expectLater( - FirebaseModelDownloader.instance.listDownloadedModels(), - completes, - ); - }); - }); - }, - // Only supported on Android & iOS/macOS. - skip: kIsWeb, - ); -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/integration_test/report_test_results.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/integration_test/report_test_results.dart deleted file mode 100644 index fb80e3ba19f7..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/integration_test/report_test_results.dart +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'package:flutter_test/flutter_test.dart'; -import 'package:integration_test/common.dart' show Failure; -import 'package:integration_test/integration_test.dart'; -import 'package:test_api/hooks.dart' show TestHandle; - -/// Records every executed test via the package:test lifecycle (plain `test()` -/// declarations never reach the binding's `results` map - only `testWidgets` -/// does) and publishes them through -/// [IntegrationTestWidgetsFlutterBinding.reportData], the only channel that -/// crosses the wire on web. -void reportTestResultsToDriver(IntegrationTestWidgetsFlutterBinding binding) { - final executed = []; - setUp(() { - executed.add(TestHandle.current.name); - }); - tearDownAll(() { - // `TestHandle.current.name` is the full name, prefixed with the enclosing - // group names, while `binding.results` is keyed by the bare `testWidgets` - // description - so match a failed entry on the suffix as well as on - // equality, otherwise no grouped test could ever be marked failed. - final failures = [ - for (final entry in binding.results.entries) - if (entry.value is Failure) entry.key, - ]; - bool didFail(String name) => failures - .any((failure) => name == failure || name.endsWith(' $failure')); - - binding.reportData ??= {}; - binding.reportData!['testResults'] = { - // Plain test() failures are not individually attributable here, but they - // fail the run as a whole via allTestsPassed; testWidgets failures are - // attributed from the binding's results map. - for (final name in executed) name: didFail(name) ? 'failed' : 'success', - }; - }); -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/.gitignore deleted file mode 100644 index 7a7f9873ad7d..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/AppFrameworkInfo.plist b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 7c5696400627..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 12.0 - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/Debug.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f3021..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/Release.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bfe2000..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Podfile b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Podfile deleted file mode 100644 index 4a9a1c357856..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Podfile +++ /dev/null @@ -1,48 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '15.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - # Xcode 27 rejects iOS deployment targets below 15.0. - ios_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] - if ios_target.nil? || ios_target.empty? || Gem::Version.new(ios_target.to_s) < Gem::Version.new('15.0') - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' - end - end - end -end diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.pbxproj b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 8d3d70b03a06..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,567 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 6C62D89BA8C5DC2D319A2566 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 24F04695F7A4872E4682AE75 /* GoogleService-Info.plist */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - B1EF1B241E96A7434819A891 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0045A7F54711A44CC1B5C694 /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0045A7F54711A44CC1B5C694 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0B6A7AF7B5D4EEE0976A9BDD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 17E936BF3364141F9CAD9EF6 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 24F04695F7A4872E4682AE75 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EB0905F740449AC64B0DC79A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - B1EF1B241E96A7434819A891 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 7C3B33E8C198B73200DFF32F /* Frameworks */ = { - isa = PBXGroup; - children = ( - 0045A7F54711A44CC1B5C694 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - C4C3143082F62592CB7E6D93 /* Pods */, - 24F04695F7A4872E4682AE75 /* GoogleService-Info.plist */, - 7C3B33E8C198B73200DFF32F /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - ); - path = Runner; - sourceTree = ""; - }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - C4C3143082F62592CB7E6D93 /* Pods */ = { - isa = PBXGroup; - children = ( - 17E936BF3364141F9CAD9EF6 /* Pods-Runner.debug.xcconfig */, - EB0905F740449AC64B0DC79A /* Pods-Runner.release.xcconfig */, - 0B6A7AF7B5D4EEE0976A9BDD /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - C929239F42AFA38E67049F91 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - 6C62D89BA8C5DC2D319A2566 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - C929239F42AFA38E67049F91 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - "LD_RUNPATH_SEARCH_PATHS[arch=*]" = /usr/lib/swift; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.tests; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - "LD_RUNPATH_SEARCH_PATHS[arch=*]" = /usr/lib/swift; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - "LD_RUNPATH_SEARCH_PATHS[arch=*]" = /usr/lib/swift; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.tests; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.tests; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6254f..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d68..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5ea15..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 7120d2eaf0f3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14c74e..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d68..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5ea15..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.h b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bbf9cf4..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.m b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.m deleted file mode 100644 index 70e83933db14..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#import "AppDelegate.h" -#import "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 626664468b89..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Flutter -import UIKit - -@main -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab2d9d..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf03016f..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd967d96..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0bca8..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde12118dda..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7edb8..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc2306c285..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd967d96..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f5cee..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b8609df0..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b8609df0..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164a5a9..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d39da7..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41e14e2..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f5853602..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2fd467..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eacad3b..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b70f1..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7c939..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Base.lproj/Main.storyboard b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516fb38..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Info.plist b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Info.plist deleted file mode 100644 index 15835549ad8c..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Info.plist +++ /dev/null @@ -1,70 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - firebase_ml_model_downloader_example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneClassName - UIWindowScene - UISceneDelegateClassName - FlutterSceneDelegate - UISceneConfigurationName - flutter - UISceneStoryboardFile - Main - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Runner-Bridging-Header.h b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a560b42..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/main.m b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/main.m deleted file mode 100644 index dff6597e4513..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/firebase_app_id_file.json b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/firebase_app_id_file.json deleted file mode 100644 index cbd176455eae..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/ios/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:acd9c8e17b5e620e3574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/lib/firebase_options.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/lib/firebase_options.dart deleted file mode 100644 index a5a1360f6620..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/lib/firebase_options.dart +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2026, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// Generated for CI builds and emulator tests. These are not real credentials. -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' - show defaultTargetPlatform, kIsWeb, TargetPlatform; - -class DefaultFirebaseOptions { - static FirebaseOptions get currentPlatform { - if (kIsWeb) { - return web; - } - return switch (defaultTargetPlatform) { - TargetPlatform.android => android, - TargetPlatform.iOS => ios, - TargetPlatform.macOS => macos, - TargetPlatform.windows => windows, - _ => throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', - ), - }; - } - - static const web = FirebaseOptions( - apiKey: 'dummy-api-key', - appId: '1:123456789012:web:0000000000000000000000', - messagingSenderId: '123456789012', - projectId: 'flutterfire-e2e-tests', - authDomain: 'flutterfire-e2e-tests.firebaseapp.com', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); - - static const android = FirebaseOptions( - apiKey: 'dummy-api-key', - appId: '1:123456789012:android:0000000000000000000000', - messagingSenderId: '123456789012', - projectId: 'flutterfire-e2e-tests', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); - - static const ios = FirebaseOptions( - apiKey: 'dummy-api-key', - appId: '1:123456789012:ios:0000000000000000000000', - messagingSenderId: '123456789012', - projectId: 'flutterfire-e2e-tests', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); - - static const macos = ios; - - static const windows = FirebaseOptions( - apiKey: 'dummy-api-key', - appId: '1:123456789012:web:0000000000000000000000', - messagingSenderId: '123456789012', - projectId: 'flutterfire-e2e-tests', - authDomain: 'flutterfire-e2e-tests.firebaseapp.com', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/lib/main.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/lib/main.dart deleted file mode 100644 index 125686f931fb..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/lib/main.dart +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// This example intentionally demonstrates the deprecated package. -// ignore_for_file: deprecated_member_use - -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_ml_model_downloader/firebase_ml_model_downloader.dart'; -import 'package:flutter/material.dart'; - -import 'firebase_options.dart'; - -const kModelName = "mobilenet_v1_1_0_224"; - -void main() async { - WidgetsFlutterBinding.ensureInitialized(); - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - runApp(const MyApp()); -} - -class MyApp extends StatefulWidget { - const MyApp({super.key}); - - @override - State createState() => _MyAppState(); -} - -class _MyAppState extends State { - @override - void initState() { - super.initState(); - initWithLocalModel(); - } - - FirebaseCustomModel? model; - - /// Initially get the lcoal model if found, and asynchronously get the latest one in background. - Future initWithLocalModel() async { - final newModel = await FirebaseModelDownloader.instance.getModel( - kModelName, FirebaseModelDownloadType.localModelUpdateInBackground); - - setState(() { - model = newModel; - }); - } - - @override - Widget build(BuildContext context) { - return MaterialApp( - theme: ThemeData(primarySwatch: Colors.amber), - home: Scaffold( - appBar: AppBar( - title: const Text('Plugin example app'), - ), - body: Padding( - padding: const EdgeInsets.all(20.0), - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - SizedBox( - width: double.infinity, - child: Card( - margin: EdgeInsets.zero, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: model != null - ? Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text('Model name: ${model!.name}'), - Text('Model size: ${model!.size}'), - ], - ) - : const Text("No local model found"), - ), - ), - ), - const SizedBox(height: 20), - Row( - children: [ - Expanded( - child: ElevatedButton( - onPressed: () async { - final newModel = - await FirebaseModelDownloader.instance.getModel( - kModelName, - FirebaseModelDownloadType.latestModel); - - setState(() { - model = newModel; - }); - }, - child: const Text('Get latest model'), - ), - ), - const SizedBox(width: 20), - Expanded( - child: ElevatedButton( - onPressed: () async { - await FirebaseModelDownloader.instance - .deleteDownloadedModel(kModelName); - - setState(() { - model = null; - }); - }, - child: const Text('Delete local model'), - ), - ), - ], - ), - ], - ), - ), - ), - ), - ); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/.gitignore deleted file mode 100644 index 746adbb6b9e1..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b2d200..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Flutter/Flutter-Release.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d1579e4..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Podfile b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Podfile deleted file mode 100644 index 170aa8aa3a4d..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Podfile +++ /dev/null @@ -1,49 +0,0 @@ -platform :osx, '12.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - # Xcode 27 rejects macOS deployment targets below 12.0. - macos_target = config.build_settings['MACOSX_DEPLOYMENT_TARGET'] - if macos_target.nil? || macos_target.empty? || Gem::Version.new(macos_target.to_s) < Gem::Version.new('12.0') - config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = '12.0' - end - end - end -end diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/project.pbxproj b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 9e9d47624b1c..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,638 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 51; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - A83FEC7259E3BD3BE8290314 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 93E8A626BECE92F512ED79C9 /* GoogleService-Info.plist */; }; - CECC36D088977FEA6F4C1003 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE8B6589603437F8EF35345E /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1779DABB40E431F6140D7937 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 6D913916A8D84C1FDC8F7B4C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 7234BB708D5460BA64D90E26 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 93E8A626BECE92F512ED79C9 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - BE8B6589603437F8EF35345E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CECC36D088977FEA6F4C1003 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1C79AB84644B94FC4355DDDB /* Pods */ = { - isa = PBXGroup; - children = ( - 6D913916A8D84C1FDC8F7B4C /* Pods-Runner.debug.xcconfig */, - 7234BB708D5460BA64D90E26 /* Pods-Runner.release.xcconfig */, - 1779DABB40E431F6140D7937 /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - 1C79AB84644B94FC4355DDDB /* Pods */, - 93E8A626BECE92F512ED79C9 /* GoogleService-Info.plist */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* example.app */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - BE8B6589603437F8EF35345E /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - A2B5BA26A8ECD333A76C446C /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - 9B0D0C0196D50B117C72597B /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 0930; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - A83FEC7259E3BD3BE8290314 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; - 9B0D0C0196D50B117C72597B /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - A2B5BA26A8ECD333A76C446C /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.tests; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.tests; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.tests; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d68..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index ae8ff59d97b3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14c74e..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d68..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/AppDelegate.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index d53ef6437726..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Cocoa -import FlutterMacOS - -@NSApplicationMain -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f19f11..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 3c4935a7ca84..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index ed4cc1642168..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 483be6138973..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bcbf36df2f2a..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index 9c0a65286476..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index e71a726136a4..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 8a31fe2dd3f9..000000000000 Binary files a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Base.lproj/MainMenu.xib b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 537341abf994..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/AppInfo.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index 43d10e8bcd7f..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.tests - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2021 com.example. All rights reserved. diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Debug.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd9464f4..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Release.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f49561c8..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Warnings.xcconfig b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf4780b1..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/DebugProfile.entitlements b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index 3ba6c1266f21..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.client - - com.apple.security.network.server - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Info.plist b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Info.plist deleted file mode 100644 index 4789daa6a443..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/MainFlutterWindow.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 2722837ec918..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Release.entitlements b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Release.entitlements deleted file mode 100644 index 852fa1a4728a..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/firebase_app_id_file.json b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/firebase_app_id_file.json deleted file mode 100644 index cbd176455eae..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/macos/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:acd9c8e17b5e620e3574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/pubspec.yaml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/pubspec.yaml deleted file mode 100644 index 50f1433dc6f6..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/pubspec.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: firebase_ml_model_downloader_example -description: Demonstrates how to use the firebase_ml_model_downloader plugin. -resolution: workspace - -publish_to: 'none' - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - flutter: - sdk: flutter - - firebase_core: ^4.14.0 - firebase_ml_model_downloader: ^0.4.4 - -dev_dependencies: - flutter_lints: ^6.0.0 - flutter_test: - sdk: flutter - integration_test: - sdk: flutter - # `integration_test/report_test_results.dart` names each executed test via - # `package:test_api/hooks.dart`; `any` defers to the version flutter_test pins. - test_api: any - -flutter: - uses-material-design: true diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/test_driver/integration_test.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/test_driver/integration_test.dart deleted file mode 100644 index 691723cbbfe1..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/test_driver/integration_test.dart +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:io'; - -import 'package:integration_test/integration_test_driver.dart'; - -Future main() => integrationDriver( - writeResponseOnFailure: true, - responseDataCallback: (Map? data) async { - final results = - (data?['testResults'] as Map?)?.cast() ?? - const {}; - var passed = 0; - var failed = 0; - for (final entry in results.entries) { - final ok = entry.value == 'success'; - ok ? passed++ : failed++; - // ignore: avoid_print - print('${ok ? '✅' : '❌'} ${entry.key}'); - } - // ignore: avoid_print - print('Web e2e summary: $passed passed, $failed failed, ' - '${results.length} total'); - if (results.isEmpty) { - // ignore: avoid_print - print('[E] No tests reported by the app - treating as ' - 'infrastructure failure.'); - exit(1); - } - await writeResponseData(data); - }, - ); diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/.gitignore deleted file mode 100644 index 0c885071e36b..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -.idea/ -.vagrant/ -.sconsign.dblite -.svn/ - -.DS_Store -*.swp -profile - -DerivedData/ -build/ -GeneratedPluginRegistrant.h -GeneratedPluginRegistrant.m - -.generated/ - -*.pbxuser -*.mode1v3 -*.mode2v3 -*.perspectivev3 - -!default.pbxuser -!default.mode1v3 -!default.mode2v3 -!default.perspectivev3 - -xcuserdata - -*.moved-aside - -*.pyc -*sync/ -Icon? -.tags* - -/Flutter/Generated.xcconfig -/Flutter/ephemeral/ -/Flutter/flutter_export_environment.sh \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader.podspec b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader.podspec deleted file mode 100644 index 8516dcee91dd..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader.podspec +++ /dev/null @@ -1,42 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - s.source_files = 'firebase_ml_model_downloader/Sources/**/*.swift' - - s.ios.deployment_target = '15.0' - - - s.dependency 'Flutter' - s.dependency 'firebase_core' - s.dependency 'Firebase/MLModelDownloader', firebase_sdk_version - s.static_framework = true - s.swift_version = '5.0' - - # Flutter.framework does not contain a i386 slice. - s.pod_target_xcconfig = { - 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' - } -end diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift deleted file mode 100644 index a449881aedac..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Package.swift +++ /dev/null @@ -1,38 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let firebaseSdkVersion: Version = "13.0.0" - -let package = Package( - name: "firebase_ml_model_downloader", - platforms: [ - .iOS("15.0") - ], - products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core"), - .package(name: "FlutterFramework", path: "../FlutterFramework"), - ], - targets: [ - .target( - name: "firebase_ml_model_downloader", - dependencies: [ - .product(name: "FirebaseCore", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - .product(name: "FlutterFramework", package: "FlutterFramework"), - ], - resources: [ - .process("Resources") - ] - ) - ] -) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Constants.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Constants.swift deleted file mode 100644 index bbcf69a6b8f5..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Constants.swift +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Auto-generated file. Do not edit. -public let versionNumber = "0.4.5" diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift deleted file mode 100644 index b65745ff4e2c..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import FirebaseCore - -#if canImport(FirebaseMLModelDownloader) - import FirebaseMLModelDownloader -#endif - -#if canImport(FlutterMacOS) - import FlutterMacOS -#else - import Flutter -#endif - -#if canImport(firebase_core) - import firebase_core -#else - import firebase_core_shared -#endif - -let kFLTFirebaseModelDownloaderChannelName = "plugins.flutter.io/firebase_ml_model_downloader" - -public class FirebaseModelDownloaderPlugin: NSObject, FLTFirebasePluginProtocol, FlutterPlugin { - public static func register(with registrar: FlutterPluginRegistrar) { - let binaryMessenger: FlutterBinaryMessenger - - #if os(macOS) - binaryMessenger = registrar.messenger - #elseif os(iOS) - binaryMessenger = registrar.messenger() - #endif - - let channel = FlutterMethodChannel( - name: kFLTFirebaseModelDownloaderChannelName, - binaryMessenger: binaryMessenger - ) - let instance = FirebaseModelDownloaderPlugin() - FLTFirebasePluginRegistry.sharedInstance().register(instance) - registrar.addMethodCallDelegate(instance, channel: channel) - #if os(iOS) - registrar.publish(instance) - #endif - } - - public func firebaseLibraryVersion() -> String { - versionNumber - } - - public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { - completion() - } - - public func pluginConstants(for firebaseApp: FirebaseApp) -> [AnyHashable: Any] { - [:] - } - - @objc public func firebaseLibraryName() -> String { - "flutter-fire-ml-downloader" - } - - @objc public func flutterChannelName() -> String { - "plugins.flutter.io/firebase_ml_model_downloader" - } - - #if canImport(FirebaseMLModelDownloader) - func mapErrorCodes(error: Error) -> NSString { - switch error { - case DownloadError.notFound: - return "no-existing-model" - case DownloadError.permissionDenied: - return "permission-denied" - case DownloadError.notFound: - return "server-unreachable" - case DownloadError.failedPrecondition: - return "failed-precondition" - case DownloadedModelError.fileIOError: - return "file-io-error" - case DownloadedModelError.internalError: - return "internal-error" - default: - return "unknown" - } - } - - public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) { - let errorBlock: FLTFirebaseMethodCallErrorBlock = { (code, message, details, error: Error?) in - var errorDetails = [String: Any?]() - - errorDetails["code"] = code ?? self.mapErrorCodes(error: error! as NSError) - errorDetails["message"] = - message ?? error? - .localizedDescription ?? "An unknown error has occurred." - errorDetails["additionalData"] = - details ?? ["code": errorDetails["code"], "message": errorDetails["message"]] - - if code == "unknown" { - NSLog( - "FLTFirebaseModelDownloader: An error occurred while calling method %@", call.method) - } - - result( - FLTFirebasePlugin.createFlutterError( - fromCode: errorDetails["code"] as! String, - message: errorDetails["message"] as! String, - optionalDetails: errorDetails[ - "additionalData" - ] as? [AnyHashable: Any], - andOptionalNSError: nil - ) - ) - } - - let result = FLTFirebaseMethodCallResult.create(success: result, andErrorBlock: errorBlock) - if call.method == "FirebaseModelDownloader#getModel" { - getModel(arguments: call.arguments as! [String: Any], result: result) - } - if call.method == "FirebaseModelDownloader#listDownloadedModels" { - listDownloadedModels(arguments: call.arguments as! [String: Any], result: result) - } - if call.method == "FirebaseModelDownloader#deleteDownloadedModel" { - deleteDownloadedModel(arguments: call.arguments as! [String: Any], result: result) - } - } - - func listDownloadedModels( - arguments: [String: Any], - result: FLTFirebaseMethodCallResult - ) { - let modelDownloader = modelDownloaderFromArguments(arguments: arguments) - - modelDownloader?.listDownloadedModels { response in - switch response { - case .success(let customModel): - let responseList: [[String: Any]] = customModel.map { - [ - "filePath": $0.path, - "size": $0.size, - "hash": $0.hash, - "name": $0.name, - ] - } - result.success(responseList) - case .failure(let error): - result.error(nil, nil, nil, error) - } - } - } - - func getModel(arguments: [String: Any], result: FLTFirebaseMethodCallResult) { - let modelDownloader = modelDownloaderFromArguments(arguments: arguments) - let modelName = arguments["modelName"] as! String - let downloadType = arguments["downloadType"] as! String - let conditions = arguments["conditions"] as! [String: Bool] - - let cellularAccess = conditions["iosAllowsCellularAccess"]! - var downloadTypeEnum = ModelDownloadType.localModel - if downloadType == "local" { - downloadTypeEnum = ModelDownloadType.localModel - } else if downloadType == "local_background" { - downloadTypeEnum = ModelDownloadType.localModelUpdateInBackground - } else if downloadType == "latest" { - downloadTypeEnum = ModelDownloadType.latestModel - } - - let modelDownloadConditions = ModelDownloadConditions(allowsCellularAccess: cellularAccess) - - modelDownloader?.getModel( - name: modelName, - downloadType: downloadTypeEnum, - conditions: modelDownloadConditions - ) { response in - switch response { - case .success(let customModel): - result.success([ - "filePath": customModel.path, - "size": customModel.size, - "hash": customModel.hash, - "name": customModel.name, - ]) - case .failure(let error): - result.error(nil, nil, nil, error) - } - } - } - - func deleteDownloadedModel( - arguments: [String: Any], - result: FLTFirebaseMethodCallResult - ) { - let modelDownloader = modelDownloaderFromArguments(arguments: arguments) - let modelName = arguments["modelName"] - - modelDownloader?.deleteDownloadedModel(name: modelName as! String) { response in - switch response { - case .success(): - result.success(nil) - case .failure(let error): - result.error(nil, nil, nil, error) - } - } - } - - func modelDownloaderFromArguments(arguments: [String: Any]) -> ModelDownloader? { - let app: FirebaseApp = FLTFirebasePlugin.firebaseAppNamed(arguments["appName"] as! String)! - return ModelDownloader.modelDownloader(app: app) - } - #else - public func handle(_: FlutterMethodCall, result: @escaping FlutterResult) { - result( - FLTFirebasePlugin.createFlutterError( - fromCode: "unimplemented", - message: - "Firebase ML Model Downloader is not in the Firebase Apple SDK 13 Swift package. CocoaPods remains on Firebase Apple SDK 12.19.0, which still includes it.", - optionalDetails: nil, - andOptionalNSError: nil - ) - ) - } - #endif -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Resources/.gitkeep b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Resources/.gitkeep deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/lib/firebase_ml_model_downloader.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/lib/firebase_ml_model_downloader.dart deleted file mode 100644 index 3de6d36d5bb0..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/lib/firebase_ml_model_downloader.dart +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// This package intentionally re-exports its deprecated public API. -// ignore_for_file: deprecated_member_use - -import 'dart:async'; - -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart' - show FirebasePlugin; -import 'package:firebase_ml_model_downloader_platform_interface/firebase_ml_model_downloader_platform_interface.dart'; -import 'package:flutter/foundation.dart'; - -export 'package:firebase_ml_model_downloader_platform_interface/firebase_ml_model_downloader_platform_interface.dart' - show - FirebaseCustomModel, - FirebaseModelDownloadType, - FirebaseModelDownloadConditions; - -part 'src/firebase_ml_model_downloader.dart'; diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/lib/src/firebase_ml_model_downloader.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/lib/src/firebase_ml_model_downloader.dart deleted file mode 100644 index ece49d7fbdda..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/lib/src/firebase_ml_model_downloader.dart +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_ml_model_downloader.dart'; - -@Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', -) -class FirebaseModelDownloader extends FirebasePlugin { - @Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', - ) - FirebaseModelDownloader._({required this.app}) - : super(app.name, 'plugins.flutter.io/firebase_ml_model_downloader'); - - // Cached and lazily loaded instance of [FirebaseModelDownloaderPlatform] to avoid - // creating a [MethodChannelFirebaseFunctions] when not needed or creating an - // instance with the default app before a user specifies an app. - FirebaseModelDownloaderPlatform? _delegatePackingProperty; - - /// The [FirebaseApp] for this current [FirebaseModelDownloader] instance. - final FirebaseApp app; - - static final Map _cachedInstances = {}; - - /// Returns the underlying [FirebaseModelDownloaderPlatform] delegate for this - /// [FirebaseModelDownloader] instance. This is useful for testing purposes only. - @visibleForTesting - FirebaseModelDownloaderPlatform get delegate { - return _delegatePackingProperty ??= - FirebaseModelDownloaderPlatform.instanceFor(app: app); - } - - /// Returns an instance using the default [FirebaseApp]. - static FirebaseModelDownloader get instance { - return FirebaseModelDownloader.instanceFor( - app: Firebase.app(), - ); - } - - /// Returns an instance using a specified [FirebaseApp]. - @Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', - ) - factory FirebaseModelDownloader.instanceFor({required FirebaseApp app}) { - return _cachedInstances.putIfAbsent(app.name, () { - return FirebaseModelDownloader._(app: app); - }); - } - - /// Gets the downloaded model file based on download type and conditions. - Future getModel( - String modelName, - FirebaseModelDownloadType downloadType, [ - FirebaseModelDownloadConditions? conditions, - ]) { - return delegate.getModel( - modelName, - downloadType, - conditions ?? FirebaseModelDownloadConditions(), - ); - } - - /// Lists all models downloaded to device. - Future> listDownloadedModels() { - return delegate.listDownloadedModels(); - } - - /// Deletes a locally downloaded model by name. - Future deleteDownloadedModel(String modelName) { - return delegate.deleteDownloadedModel(modelName); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader.podspec b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader.podspec deleted file mode 100644 index e2cf5a92271a..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader.podspec +++ /dev/null @@ -1,61 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -begin - required_macos_version = "10.12" - current_target_definition = Pod::Config.instance.podfile.send(:current_target_definition) - user_osx_target = current_target_definition.to_hash["platform"]["osx"] - if (Gem::Version.new(user_osx_target) < Gem::Version.new(required_macos_version)) - error_message = "The FlutterFire plugin #{pubspec['name']} for macOS requires a macOS deployment target of #{required_macos_version} or later." - Pod::UI.warn error_message, [ - "Update the `platform :osx, '#{user_osx_target}'` line in your macOS/Podfile to version `#{required_macos_version}` and ensure you commit this file.", - "Open your `macos/Runner.xcodeproj` Xcode project and under the 'Runner' target General tab set your Deployment Target to #{required_macos_version} or later." - ] - raise Pod::Informative, error_message - end -rescue Pod::Informative - raise -rescue - # Do nothing for all other errors and let `pod install` deal with any issues. -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - s.source_files = 'firebase_ml_model_downloader/Sources/**/*.swift' - - s.platform = :osx, '10.13' - - # Flutter dependencies - s.dependency 'FlutterMacOS' - s.dependency 'firebase_core' - - # Firebase dependencies - s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}" - s.dependency 'Firebase/MLModelDownloader', firebase_sdk_version - s.static_framework = true - s.swift_version = '5.0' - s.pod_target_xcconfig = { - 'DEFINES_MODULE' => 'YES' - } -end diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift deleted file mode 100644 index c679f43a85e6..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Package.swift +++ /dev/null @@ -1,38 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let firebaseSdkVersion: Version = "13.0.0" - -let package = Package( - name: "firebase_ml_model_downloader", - platforms: [ - .macOS("11.0") - ], - products: [ - .library(name: "firebase-ml-model-downloader", targets: ["firebase_ml_model_downloader"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core"), - .package(name: "FlutterFramework", path: "../FlutterFramework"), - ], - targets: [ - .target( - name: "firebase_ml_model_downloader", - dependencies: [ - .product(name: "FirebaseCore", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - .product(name: "FlutterFramework", package: "FlutterFramework"), - ], - resources: [ - .process("Resources") - ] - ) - ] -) diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Constants.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Constants.swift deleted file mode 120000 index 2897c30fed25..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Constants.swift +++ /dev/null @@ -1 +0,0 @@ -../../../../ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Constants.swift \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift deleted file mode 120000 index a3711e4a9af0..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift +++ /dev/null @@ -1 +0,0 @@ -../../../../ios/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/FirebaseModelDownloaderPlugin.swift \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Resources/.gitkeep b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/macos/firebase_ml_model_downloader/Sources/firebase_ml_model_downloader/Resources/.gitkeep deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/pubspec.yaml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/pubspec.yaml deleted file mode 100644 index 4fd7bc60e65f..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/pubspec.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: firebase_ml_model_downloader -description: "Deprecated: A Flutter plugin for Firebase ML Model Downloader. Firebase ML shuts down June 15, 2027." -version: 0.4.5 -resolution: workspace -homepage: https://firebase.google.com/docs/ml/flutter/use-custom-models -repository: https://github.com/firebase/flutterfire/tree/main/packages/firebase_ml_model_downloader/firebase_ml_model_downloader -topics: - - firebase - - ml - - model - - downloader - -false_secrets: - - example/** - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - firebase_core: ^4.14.0 - firebase_core_platform_interface: ^8.1.1 - firebase_ml_model_downloader_platform_interface: ^0.1.6+1 - flutter: - sdk: flutter - -dev_dependencies: - flutter_test: - sdk: flutter - mockito: ^5.0.0 - plugin_platform_interface: ^2.1.3 - -flutter: - plugin: - platforms: - android: - package: io.flutter.plugins.firebase.firebase_ml_model_downloader - pluginClass: FirebaseModelDownloaderPlugin - ios: - pluginClass: FirebaseModelDownloaderPlugin - macos: - pluginClass: FirebaseModelDownloaderPlugin diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/test/firebase_ml_model_downloader_test.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/test/firebase_ml_model_downloader_test.dart deleted file mode 100644 index fcdb5476bea3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/test/firebase_ml_model_downloader_test.dart +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright 2021, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// These tests intentionally exercise the deprecated package. -// ignore_for_file: deprecated_member_use - -import 'dart:io'; - -import 'package:firebase_ml_model_downloader/firebase_ml_model_downloader.dart'; -import 'package:firebase_ml_model_downloader_platform_interface/firebase_ml_model_downloader_platform_interface.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockito/mockito.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import './mock.dart'; - -final MockFirebaseModelDownloader kMockDownloaderPlatform = - MockFirebaseModelDownloader(); - -void main() { - setupFirebaseModelDownloaderMocks(); - - late FirebaseModelDownloader mlModelDownloader; - late FirebaseApp secondaryApp; - - group('$FirebaseModelDownloader', () { - setUpAll(() async { - await Firebase.initializeApp(); - secondaryApp = await Firebase.initializeApp( - name: 'secondaryApp', - options: const FirebaseOptions( - appId: '1:1234567890:ios:42424242424242', - apiKey: '123', - projectId: '123', - messagingSenderId: '1234567890', - ), - ); - FirebaseModelDownloaderPlatform.instance = MockFirebaseModelDownloader(); - mlModelDownloader = FirebaseModelDownloader.instance; - }); - }); - - group('instance', () { - test('returns an instance', () async { - expect(mlModelDownloader, isA()); - }); - - test('returns the correct $FirebaseApp', () { - expect(mlModelDownloader.app, isA()); - expect(mlModelDownloader.app.name, defaultFirebaseAppName); - }); - }); - - group('instanceFor', () { - test('returns an instance', () async { - final mlModelDownloader = - FirebaseModelDownloader.instanceFor(app: secondaryApp); - expect(mlModelDownloader, isA()); - }); - - test('returns the correct $FirebaseApp', () { - final mlModelDownloader = - FirebaseModelDownloader.instanceFor(app: secondaryApp); - expect(mlModelDownloader.app, isA()); - expect(mlModelDownloader.app.name, 'secondaryApp'); - }); - }); - - group('getModel', () { - test('verify delegate method is called', () async { - const String modelName = 'modelName'; - final conditions = FirebaseModelDownloadConditions(); - final customModel = FirebaseCustomModel( - file: File('file'), - hash: 'hash', - name: 'name', - size: 123, - ); - when( - kMockDownloaderPlatform.getModel( - modelName, - FirebaseModelDownloadType.latestModel, - conditions, - ), - ).thenAnswer((_) => Future.value(customModel)); - - final model = await mlModelDownloader.getModel( - modelName, - FirebaseModelDownloadType.latestModel, - conditions, - ); - - expect(customModel, model); - verify( - kMockDownloaderPlatform.getModel( - modelName, - FirebaseModelDownloadType.latestModel, - conditions, - ), - ); - }); - }); - - group('listDownloadedModels', () { - test('verify delegate method is called', () async { - final customModels = [ - FirebaseCustomModel( - file: File('file'), - hash: 'hash', - name: 'name', - size: 123, - ), - ]; - when(kMockDownloaderPlatform.listDownloadedModels()) - .thenAnswer((_) => Future.value(customModels)); - - final modelList = await mlModelDownloader.listDownloadedModels(); - - expect(customModels, modelList); - verify(kMockDownloaderPlatform.listDownloadedModels()); - }); - }); - - group('deleteDownloadedModel', () { - test('verify delegate method is called', () async { - const String modelName = 'modelName'; - when(kMockDownloaderPlatform.deleteDownloadedModel(modelName)) - .thenAnswer((_) => Future.value()); - - await mlModelDownloader.deleteDownloadedModel(modelName); - - verify(kMockDownloaderPlatform.deleteDownloadedModel(modelName)); - }); - }); -} - -final model = FirebaseCustomModel( - name: 'name', - size: 100, - hash: 'hash', - file: File('path'), -); - -class MockFirebaseModelDownloader extends Mock - with MockPlatformInterfaceMixin - implements FirebaseModelDownloaderPlatform { - MockFirebaseModelDownloader() : super(); - - @override - Future getModel( - String modelName, - FirebaseModelDownloadType downloadType, - FirebaseModelDownloadConditions conditions, - ) { - return super.noSuchMethod( - Invocation.method(#getModel, [modelName, downloadType, conditions]), - returnValue: Future.value(model), - returnValueForMissingStub: Future.value(model), - ); - } - - @override - FirebaseModelDownloaderPlatform delegateFor({FirebaseApp? app}) { - return super.noSuchMethod( - Invocation.method(#delegateFor, [], {#app: app}), - returnValue: kMockDownloaderPlatform, - returnValueForMissingStub: kMockDownloaderPlatform, - ); - } - - @override - Future> listDownloadedModels() { - return super.noSuchMethod( - Invocation.method(#listDownloadedModels, []), - returnValue: Future.value([model]), - returnValueForMissingStub: Future.value([model]), - ); - } - - @override - Future deleteDownloadedModel(String modelName) { - return super.noSuchMethod( - Invocation.method(#deleteDownloadedModel, [modelName]), - returnValue: Future.value(), - returnValueForMissingStub: Future.value(), - ); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/test/mock.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/test/mock.dart deleted file mode 100644 index 147a74550d98..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/test/mock.dart +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_core_platform_interface/test.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -typedef Callback = void Function(MethodCall call); - -void setupFirebaseModelDownloaderMocks([Callback? customHandlers]) { - TestWidgetsFlutterBinding.ensureInitialized(); - - setupFirebaseCoreMocks(); -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/.gitignore b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/.gitignore deleted file mode 100644 index a247422ef7c3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -build/ - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Flutter.podspec -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/ephemeral -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/flutter_assets/ -**/ios/Flutter/flutter_export_environment.sh -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/.metadata b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/.metadata deleted file mode 100644 index db56104b21ff..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: 18116933e77adc82f80866c928266a5b4f1ed645 - channel: stable - -project_type: package diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/CHANGELOG.md b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/CHANGELOG.md deleted file mode 100644 index d3770280c0f2..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/CHANGELOG.md +++ /dev/null @@ -1,473 +0,0 @@ -## 0.1.6+1 - - - Update a dependency to the latest release. - -## 0.1.6 - - - **FEAT**(ml): adding depreciation notice to ML plugin ([#18472](https://github.com/firebase/flutterfire/issues/18472)). ([fb20da9c](https://github.com/firebase/flutterfire/commit/fb20da9c88d0e7ac20b89fc27000ae4eeb50654d)) - -## 0.1.5+26 - - - Update a dependency to the latest release. - -## 0.1.5+25 - - - Update a dependency to the latest release. - -## 0.1.5+24 - - - Update a dependency to the latest release. - -## 0.1.5+23 - - - Update a dependency to the latest release. - -## 0.1.5+22 - - - Update a dependency to the latest release. - -## 0.1.5+21 - - - **REFACTOR**: move all packages to workspace ([#18182](https://github.com/firebase/flutterfire/issues/18182)). ([6cdfcb10](https://github.com/firebase/flutterfire/commit/6cdfcb103da7be46ccb190d7e107d8c537aa1ff8)) - -## 0.1.5+20 - - - Update a dependency to the latest release. - -## 0.1.5+19 - - - Update a dependency to the latest release. - -## 0.1.5+18 - - - Update a dependency to the latest release. - -## 0.1.5+17 - - - Update a dependency to the latest release. - -## 0.1.5+16 - - - Update a dependency to the latest release. - -## 0.1.5+15 - - - Update a dependency to the latest release. - -## 0.1.5+14 - - - Update a dependency to the latest release. - -## 0.1.5+13 - - - Update a dependency to the latest release. - -## 0.1.5+12 - - - Update a dependency to the latest release. - -## 0.1.5+11 - - - Update a dependency to the latest release. - -## 0.1.5+10 - - - Update a dependency to the latest release. - -## 0.1.5+9 - - - Update a dependency to the latest release. - -## 0.1.5+8 - - - Update a dependency to the latest release. - -## 0.1.5+7 - - - Update a dependency to the latest release. - -## 0.1.5+6 - - - Update a dependency to the latest release. - -## 0.1.5+5 - - - Update a dependency to the latest release. - -## 0.1.5+4 - - - Update a dependency to the latest release. - -## 0.1.5+3 - - - Update a dependency to the latest release. - -## 0.1.5+2 - - - Update a dependency to the latest release. - -## 0.1.5+1 - - - Update a dependency to the latest release. - -## 0.1.5 - - - Update a dependency to the latest release. - -## 0.1.4+45 - - - Update a dependency to the latest release. - -## 0.1.4+44 - - - Update a dependency to the latest release. - -## 0.1.4+43 - - - Update a dependency to the latest release. - -## 0.1.4+42 - - - Update a dependency to the latest release. - -## 0.1.4+41 - - - Update a dependency to the latest release. - -## 0.1.4+40 - - - Update a dependency to the latest release. - -## 0.1.4+39 - - - Update a dependency to the latest release. - -## 0.1.4+38 - - - Update a dependency to the latest release. - -## 0.1.4+37 - - - Update a dependency to the latest release. - -## 0.1.4+36 - - - Update a dependency to the latest release. - -## 0.1.4+35 - - - Update a dependency to the latest release. - -## 0.1.4+34 - - - Update a dependency to the latest release. - -## 0.1.4+33 - - - Update a dependency to the latest release. - -## 0.1.4+32 - - - Update a dependency to the latest release. - -## 0.1.4+31 - - - Update a dependency to the latest release. - -## 0.1.4+30 - - - Update a dependency to the latest release. - -## 0.1.4+29 - - - Update a dependency to the latest release. - -## 0.1.4+28 - - - Update a dependency to the latest release. - -## 0.1.4+27 - - - Update a dependency to the latest release. - -## 0.1.4+26 - - - Update a dependency to the latest release. - -## 0.1.4+25 - - - Update a dependency to the latest release. - -## 0.1.4+24 - - - Update a dependency to the latest release. - -## 0.1.4+23 - - - Update a dependency to the latest release. - -## 0.1.4+22 - - - Update a dependency to the latest release. - -## 0.1.4+21 - - - Update a dependency to the latest release. - -## 0.1.4+20 - - - Update a dependency to the latest release. - -## 0.1.4+19 - - - Update a dependency to the latest release. - -## 0.1.4+18 - - - Update a dependency to the latest release. - -## 0.1.4+17 - - - Update a dependency to the latest release. - -## 0.1.4+16 - - - Update a dependency to the latest release. - -## 0.1.4+15 - - - Update a dependency to the latest release. - -## 0.1.4+14 - - - Update a dependency to the latest release. - -## 0.1.4+13 - - - Update a dependency to the latest release. - -## 0.1.4+12 - - - Update a dependency to the latest release. - -## 0.1.4+11 - - - Update a dependency to the latest release. - -## 0.1.4+10 - - - Update a dependency to the latest release. - -## 0.1.4+9 - - - Update a dependency to the latest release. - -## 0.1.4+8 - - - Update a dependency to the latest release. - -## 0.1.4+7 - - - Update a dependency to the latest release. - -## 0.1.4+6 - - - Update a dependency to the latest release. - -## 0.1.4+5 - - - Update a dependency to the latest release. - -## 0.1.4+4 - - - Update a dependency to the latest release. - -## 0.1.4+3 - - - Update a dependency to the latest release. - -## 0.1.4+2 - - - Update a dependency to the latest release. - -## 0.1.4+1 - - - Update a dependency to the latest release. - -## 0.1.4 - - - **FEAT**: update dependency constraints to `sdk: '>=2.18.0 <4.0.0'` `flutter: '>=3.3.0'` ([#10946](https://github.com/firebase/flutterfire/issues/10946)). ([2772d10f](https://github.com/firebase/flutterfire/commit/2772d10fe510dcc28ec2d37a26b266c935699fa6)) - - **FEAT**: update libraries to be compatible with Flutter 3.10.0 ([#10944](https://github.com/firebase/flutterfire/issues/10944)). ([e1f5a5ea](https://github.com/firebase/flutterfire/commit/e1f5a5ea798c54f19d1d2f7b8f2250f8819f44b7)) - -## 0.1.3 - - - **FEAT**: upgrade to dart 3 compatible dependencies ([#10890](https://github.com/firebase/flutterfire/issues/10890)). ([4bd7e59b](https://github.com/firebase/flutterfire/commit/4bd7e59b1f2b09a2230c49830159342dd4592041)) - -## 0.1.2+1 - - - Update a dependency to the latest release. - -## 0.1.2 - - - **FEAT**: bump dart sdk constraint to 2.18 ([#10618](https://github.com/firebase/flutterfire/issues/10618)). ([f80948a2](https://github.com/firebase/flutterfire/commit/f80948a28b62eead358bdb900d5a0dfb97cebb33)) - -## 0.1.1+32 - - - Update a dependency to the latest release. - -## 0.1.1+31 - - - Update a dependency to the latest release. - -## 0.1.1+30 - - - Update a dependency to the latest release. - -## 0.1.1+29 - - - Update a dependency to the latest release. - -## 0.1.1+28 - - - Update a dependency to the latest release. - -## 0.1.1+27 - - - Update a dependency to the latest release. - -## 0.1.1+26 - - - Update a dependency to the latest release. - -## 0.1.1+25 - - - Update a dependency to the latest release. - -## 0.1.1+24 - - - Update a dependency to the latest release. - -## 0.1.1+23 - - - Update a dependency to the latest release. - -## 0.1.1+22 - - - **REFACTOR**: add `verify` to `QueryPlatform` and change internal `verifyToken` API to `verify` ([#9711](https://github.com/firebase/flutterfire/issues/9711)). ([c99a842f](https://github.com/firebase/flutterfire/commit/c99a842f3e3f5f10246e73f51530cc58c42b49a3)) - -## 0.1.1+21 - - - Update a dependency to the latest release. - -## 0.1.1+20 - - - Update a dependency to the latest release. - -## 0.1.1+19 - - - Update a dependency to the latest release. - -## 0.1.1+18 - - - Update a dependency to the latest release. - -## 0.1.1+17 - - - Update a dependency to the latest release. - -## 0.1.1+16 - - - Update a dependency to the latest release. - -## 0.1.1+15 - - - Update a dependency to the latest release. - -## 0.1.1+14 - - - Update a dependency to the latest release. - -## 0.1.1+13 - - - Update a dependency to the latest release. - -## 0.1.1+12 - - - Update a dependency to the latest release. - -## 0.1.1+11 - - - Update a dependency to the latest release. - -## 0.1.1+10 - - - **FIX**: bump `firebase_core_platform_interface` version to fix previous release. ([bea70ea5](https://github.com/firebase/flutterfire/commit/bea70ea5cbbb62cbfd2a7a74ae3a07cb12b3ee5a)) - -## 0.1.1+9 - - - Update a dependency to the latest release. - -## 0.1.1+8 - - - **REFACTOR**: use "firebase" instead of "FirebaseExtended" as organisation in all links for this repository (#8791). ([d90b8357](https://github.com/firebase/flutterfire/commit/d90b8357db01d65e753021358668f0b129713e6b)) - -## 0.1.1+7 - - - Update a dependency to the latest release. - -## 0.1.1+6 - - - Update a dependency to the latest release. - -## 0.1.1+5 - - - Update a dependency to the latest release. - -## 0.1.1+4 - - - Update a dependency to the latest release. - -## 0.1.1+3 - - - Update a dependency to the latest release. - -## 0.1.1+2 - - - Update a dependency to the latest release. - -## 0.1.1+1 - - - **FIX**: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184). ([df4a5bab](https://github.com/firebase/flutterfire/commit/df4a5bab3c029399b4f257a5dd658d302efe3908)) - -## 0.1.1 - - - **FEAT**: refactor error handling to preserve stack traces on platform exceptions (#8156). ([6ac77d99](https://github.com/firebase/flutterfire/commit/6ac77d99042de2a1950f89b35972e3ee1116dc9f)) - -## 0.1.0+6 - - - Update a dependency to the latest release. - -## 0.1.0+5 - - - Update a dependency to the latest release. - -## 0.1.0+4 - - - **REFACTOR**: fix all `unnecessary_import` analyzer issues introduced with Flutter 2.8. ([7f0e82c9](https://github.com/firebase/flutterfire/commit/7f0e82c978a3f5a707dd95c7e9136a3e106ff75e)) - -## 0.1.0+3 - - - Update a dependency to the latest release. - -## 0.1.0+2 - - - Update a dependency to the latest release. - -## 0.1.0+1 - - - **FIX**: listDownloadedModels cast error (#7486). - -## 0.1.0 - -- Initial Firebase ML Downloader release. - \ No newline at end of file diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/LICENSE b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/LICENSE deleted file mode 100644 index 88629004819f..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/README.md b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/README.md deleted file mode 100644 index bbfd6bf50f0f..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# firebase_ml_model_downloader_platform_interface - -> [!WARNING] -> Firebase ML is deprecated and will shut down on June 15, 2027. Existing -> projects should migrate hosted custom models to another solution before that -> date. See the -> [Cloud Storage migration guide](https://firebase.google.com/docs/ml/migrate-to-cloud-storage). - -A common platform interface for the [`firebase_ml_model_downloader`][1] plugin. - -This interface allows platform-specific implementations of the `firebase_ml_model_downloader` -plugin, as well as the plugin itself, to ensure they are supporting the -same interface. - -# Usage - -To implement a new platform-specific implementation of `firebase_ml_model_downloader`, extend -[`FirebaseMlModelDownloaderPlatform`][2] with an implementation that performs the -platform-specific behavior, and when you register your plugin, set the default -`FirebaseMlModelDownloaderPlatform` by calling -`FirebaseMlModelDownloaderPlatform.instance = MyFirebaseMlModelDownloader()`. - -# Note on breaking changes - -Strongly prefer non-breaking changes (such as adding a method to the interface) -over breaking changes for this package. - -See https://flutter.dev/go/platform-interface-breaking-changes for a discussion -on why a less-clean interface is preferable to a breaking change. - -[1]: ../firebase_ml_model_downloader -[2]: lib/firebase_ml_model_downloader_platform_interface.dart diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/firebase_ml_model_downloader_platform_interface.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/firebase_ml_model_downloader_platform_interface.dart deleted file mode 100644 index bcca8d461b10..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/firebase_ml_model_downloader_platform_interface.dart +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'src/custom_model.dart'; -export 'src/download_type.dart'; -export 'src/download_conditions.dart'; -export 'src/platform_interface/platform_interface_firebase_ml_model_downloader.dart'; diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/custom_model.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/custom_model.dart deleted file mode 100644 index a831f5eca5e6..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/custom_model.dart +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// ignore_for_file: avoid_equals_and_hash_code_on_mutable_classes - -import 'dart:io'; - -/// Stores information about custom models that are being downloaded or are -/// already downloaded on a device -/// -/// In the case where an update is available, after the updated model file is -/// fully downloaded, the original model file will be removed once it is safe -/// to do so. -@Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', -) -class FirebaseCustomModel { - /// Creates a new [FirebaseCustomModel] instance. - @Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', - ) - FirebaseCustomModel({ - required this.file, - required this.size, - required this.name, - required this.hash, - }); - - /// The locally downloaded model file. - final File file; - - /// The model name and identifier. - final String name; - - /// The size of the file currently associated with this model. - /// - /// If a download is in progress, this will be the size of the current model, - /// not the new model currently being downloaded. - final int size; - - /// Retrieves the model hash. - final String hash; - - @override - // ignore: avoid_renaming_method_parameters - bool operator ==(Object o) => o is FirebaseCustomModel && hash == o.hash; - - @override - int get hashCode => hash.hashCode; -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/download_conditions.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/download_conditions.dart deleted file mode 100644 index 3e8fe1d8f3b1..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/download_conditions.dart +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Download conditions for downloading a model via the [getModel] API. -@Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', -) -class FirebaseModelDownloadConditions { - /// Creates a new [DownloadConditions] instance. - @Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', - ) - FirebaseModelDownloadConditions({ - this.iosAllowsCellularAccess = true, - this.iosAllowsBackgroundDownloading = false, - this.androidChargingRequired = false, - this.androidWifiRequired = false, - this.androidDeviceIdleRequired = false, - }); - - /// Indicates whether download requests should be made over a cellular network. - /// - /// Default is `true`. iOS only. - bool iosAllowsCellularAccess; - - /// Indicates whether the model can be downloaded while the app is in the - /// background. - /// - /// Default is `false`. iOS only. - bool iosAllowsBackgroundDownloading; - - /// Indicates whether the model can only be downloaded whilst the device is - /// charging. - /// - /// Defaults to `false`. Android only. - bool androidChargingRequired; - - /// Indicates whether the model can only be downloaded whilst the device is - /// connected to Wifi. - /// - /// Defaults to `false`. Android only. - bool androidWifiRequired; - - /// Indicates whether the model can only be downloaded whilst the device is - /// idle. - /// - /// Defaults to `false`. Android only. - bool androidDeviceIdleRequired; - - /// Converts the instance to a [Map]. - Map toMap() { - return { - 'iosAllowsCellularAccess': iosAllowsCellularAccess, - 'iosAllowsBackgroundDownloading': iosAllowsBackgroundDownloading, - 'androidChargingRequired': androidChargingRequired, - 'androidWifiRequired': androidWifiRequired, - 'androidDeviceIdleRequired': androidDeviceIdleRequired, - }; - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/download_type.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/download_type.dart deleted file mode 100644 index 2b75824d9949..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/download_type.dart +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// A download type to download a custom model when calling the [getModel] API. -@Deprecated( - 'Firebase ML is deprecated and will shut down on June 15, 2027. ' - 'Migrate hosted custom models to another solution, such as Cloud Storage ' - 'for Firebase. See https://firebase.google.com/docs/ml/migrate-to-cloud-storage.', -) -enum FirebaseModelDownloadType { - /// Returns the current model if present, otherwise triggers new download - /// (or finds one in progress) and only completes when download is finished. - localModel, - - /// Returns the current model if present and triggers an update to fetch a - /// new version in the background. If no local model is present triggers a - /// new download (or finds one in progress) and only completes when download - /// is finished. - localModelUpdateInBackground, - - /// Returns the latest model. Checks if latest model is different from local - /// model. If the models are the same, returns the current model. Otherwise, - /// triggers a new model download and returns when this download finishes. - latestModel, -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/method_channel/method_channel_firebase_ml_model_downloader.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/method_channel/method_channel_firebase_ml_model_downloader.dart deleted file mode 100644 index 3251b38b2e03..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/method_channel/method_channel_firebase_ml_model_downloader.dart +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:io'; - -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/services.dart'; - -import './utils/exception.dart'; -import '../../firebase_ml_model_downloader_platform_interface.dart'; - -class MethodChannelFirebaseModelDownloader - extends FirebaseModelDownloaderPlatform { - /// The [MethodChannelFirebaseAuth] method channel. - static const MethodChannel channel = MethodChannel( - 'plugins.flutter.io/firebase_ml_model_downloader', - ); - - /// Returns a stub instance to allow the platform interface to access - /// the class instance statically. - static MethodChannelFirebaseModelDownloader get instance { - return MethodChannelFirebaseModelDownloader._(); - } - - /// Internal stub class initializer. - /// - /// When the user code calls an auth method, the real instance is - /// then initialized via the [delegateFor] method. - MethodChannelFirebaseModelDownloader._() : super(appInstance: null); - - /// Creates a new instance with a given [FirebaseApp]. - MethodChannelFirebaseModelDownloader({required FirebaseApp app}) - : super(appInstance: app); - - /// Gets a [FirebaseModelDownloaderPlatform] with specific arguments such as a different - /// [FirebaseApp]. - @override - FirebaseModelDownloaderPlatform delegateFor({required FirebaseApp app}) { - return MethodChannelFirebaseModelDownloader(app: app); - } - - @override - Future getModel( - String modelName, - FirebaseModelDownloadType downloadType, - FirebaseModelDownloadConditions conditions, - ) async { - try { - final result = await channel.invokeMapMethod( - 'FirebaseModelDownloader#getModel', { - 'appName': app.name, - 'modelName': modelName, - 'downloadType': _downloadTypeToString(downloadType), - 'conditions': conditions.toMap(), - }); - - return _resultToFirebaseCustomModel(result!); - } catch (e, s) { - convertPlatformException(e, s); - } - } - - @override - Future> listDownloadedModels() async { - try { - final result = await channel.invokeListMethod( - 'FirebaseModelDownloader#listDownloadedModels', { - 'appName': app.name, - }); - - return result!.map(_resultToFirebaseCustomModel).toList(growable: false); - } catch (e, s) { - convertPlatformException(e, s); - } - } - - @override - Future deleteDownloadedModel(String modelName) async { - try { - await channel - .invokeMethod('FirebaseModelDownloader#deleteDownloadedModel', { - 'appName': app.name, - 'modelName': modelName, - }); - } catch (e, s) { - convertPlatformException(e, s); - } - } - - FirebaseCustomModel _resultToFirebaseCustomModel( - Map result, - ) { - return FirebaseCustomModel( - file: File(result['filePath']), - size: result['size'], - name: result['name'], - hash: result['hash'], - ); - } -} - -String _downloadTypeToString(FirebaseModelDownloadType downloadType) { - switch (downloadType) { - case FirebaseModelDownloadType.localModel: - return 'local'; - case FirebaseModelDownloadType.localModelUpdateInBackground: - return 'local_background'; - case FirebaseModelDownloadType.latestModel: - return 'latest'; - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/method_channel/utils/exception.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/method_channel/utils/exception.dart deleted file mode 100644 index 78cfb28a18e1..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/method_channel/utils/exception.dart +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// ignore_for_file: require_trailing_commas - -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/services.dart'; - -/// Catches a [PlatformException] and returns an [Exception]. -/// -/// If the [Exception] is a [PlatformException], a [FirebaseException] is returned. -Never convertPlatformException( - dynamic exception, - StackTrace stackTrace, -) { - if (exception is! Exception || exception is! PlatformException) { - Error.throwWithStackTrace(exception, stackTrace); - } - - Error.throwWithStackTrace( - platformExceptionToFirebaseException(exception, stackTrace), - stackTrace, - ); -} - -/// Converts a [PlatformException] into a [FirebaseException]. -/// -/// A [PlatformException] can only be converted to a [FirebaseException] if the -/// `details` of the exception exist. Firebase returns specific codes and messages -/// which can be converted into user friendly exceptions. -FirebaseException platformExceptionToFirebaseException( - PlatformException platformException, - StackTrace stackTrace, -) { - Map? details = platformException.details != null - ? Map.from(platformException.details) - : null; - - String code = 'unknown'; - String message = platformException.message ?? ''; - - if (details != null) { - code = details['code'] ?? code; - message = details['message'] ?? message; - } - - return FirebaseException( - plugin: 'firebase_ml_model_downloader', - code: code, - message: message, - stackTrace: stackTrace, - ); -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/platform_interface/platform_interface_firebase_ml_model_downloader.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/platform_interface/platform_interface_firebase_ml_model_downloader.dart deleted file mode 100644 index 55027547bac9..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/lib/src/platform_interface/platform_interface_firebase_ml_model_downloader.dart +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_core/firebase_core.dart'; -import 'package:meta/meta.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import '../custom_model.dart'; -import '../download_conditions.dart'; -import '../download_type.dart'; -import '../method_channel/method_channel_firebase_ml_model_downloader.dart'; - -abstract class FirebaseModelDownloaderPlatform extends PlatformInterface { - /// The [FirebaseApp] this instance was initialized with. - @protected - final FirebaseApp? appInstance; - - FirebaseModelDownloaderPlatform({this.appInstance}) : super(token: _token); - - static final Object _token = Object(); - - /// Create an instance using [app] using the existing implementation - factory FirebaseModelDownloaderPlatform.instanceFor({ - required FirebaseApp app, - }) { - return FirebaseModelDownloaderPlatform.instance.delegateFor(app: app); - } - - /// The current default [FirebaseModelDownloaderPlatform] instance. - /// - /// It will always default to [MethodChannelFirebaseModelDownloader] - /// if no other implementation was provided. - static FirebaseModelDownloaderPlatform get instance { - _instance ??= MethodChannelFirebaseModelDownloader.instance; - return _instance!; - } - - static FirebaseModelDownloaderPlatform? _instance; - - /// Sets the [FirebaseModelDownloaderPlatform.instance] - static set instance(FirebaseModelDownloaderPlatform instance) { - PlatformInterface.verify(instance, _token); - _instance = instance; - } - - /// Returns the [FirebaseApp] for the current instance. - FirebaseApp get app { - if (appInstance == null) { - return Firebase.app(); - } - - return appInstance!; - } - - /// Enables delegates to create new instances of themselves if a none default - /// [FirebaseApp] instance is required by the user. - @protected - FirebaseModelDownloaderPlatform delegateFor({required FirebaseApp app}) { - throw UnimplementedError('delegateFor() is not implemented'); - } - - /// Gets the downloaded model file based on download type and conditions. - Future getModel( - String modelName, - FirebaseModelDownloadType downloadType, - FirebaseModelDownloadConditions conditions, - ) { - throw UnimplementedError('getModel() is not implemented'); - } - - /// Lists all models downloaded to device. - Future> listDownloadedModels() { - throw UnimplementedError('listDownloadedModels() is not implemented'); - } - - /// Deletes a locally downloaded model by name. - Future deleteDownloadedModel(String modelName) { - throw UnimplementedError('deleteDownloadedModel() is not implemented'); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/pubspec.yaml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/pubspec.yaml deleted file mode 100644 index f5c367044112..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/pubspec.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: firebase_ml_model_downloader_platform_interface -description: "Deprecated: The platform interface for the firebase_ml_model_downloader plugin." -version: 0.1.6+1 -resolution: workspace -homepage: https://github.com/firebase/flutterfire/tree/main/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface -repository: https://github.com/firebase/flutterfire/tree/main/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - firebase_core: ^4.14.0 - flutter: - sdk: flutter - meta: ^1.8.0 - plugin_platform_interface: ^2.1.3 - -dev_dependencies: - firebase_core_platform_interface: ^8.1.1 - flutter_test: - sdk: flutter - mockito: ^5.0.0 diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/method_channel_tests/method_channel_firebase_ml_model_downloader_test.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/method_channel_tests/method_channel_firebase_ml_model_downloader_test.dart deleted file mode 100644 index 76b2548dd6ca..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/method_channel_tests/method_channel_firebase_ml_model_downloader_test.dart +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_ml_model_downloader_platform_interface/firebase_ml_model_downloader_platform_interface.dart'; -import 'package:firebase_ml_model_downloader_platform_interface/src/method_channel/method_channel_firebase_ml_model_downloader.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter/services.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:mockito/mockito.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import '../mock.dart'; - -void main() { - setupFirebaseModelDownloaderMocks(); - - late FirebaseApp app; - late FirebaseModelDownloaderPlatform mlDownloader; - final List log = []; - - bool mockPlatformExceptionThrown = false; - - const String kModelName = 'model-name'; - const String kDownloadType = 'latest'; - - group('$MethodChannelFirebaseModelDownloader', () { - setUpAll(() async { - app = await Firebase.initializeApp(); - - handleMethodCall((call) async { - log.add(call); - - if (mockPlatformExceptionThrown) { - throw PlatformException(code: 'UNKNOWN'); - } - - switch (call.method) { - case 'FirebaseModelDownloader#getModel': - return { - 'filePath': '/path/to/file', - 'size': 1234, - 'name': kModelName, - 'hash': 'model-hash', - }; - case 'FirebaseModelDownloader#listDownloadedModels': - return []; - case 'FirebaseModelDownloader#deleteDownloadedModel': - return null; - default: - return {}; - } - }); - }); - - setUp(() { - log.clear(); - mockPlatformExceptionThrown = false; - mlDownloader = MethodChannelFirebaseModelDownloader(app: app); - }); - - tearDown(() { - mockPlatformExceptionThrown = false; - }); - - group('$FirebaseModelDownloaderPlatform()', () { - test('$MethodChannelFirebaseModelDownloader is the default instance', () { - expect( - FirebaseModelDownloaderPlatform.instance, - isA(), - ); - }); - - test('Can be extended', () { - FirebaseModelDownloaderPlatform.instance = - ExtendsFirebaseModelDownloaderPlatform(); - }); - - test('Can be mocked with `implements`', () { - final FirebaseModelDownloaderPlatform mock = - MocksFirebaseModelDownloaderPlatform(); - FirebaseModelDownloaderPlatform.instance = mock; - }); - }); - - group('delegateFor', () { - test('returns correct class instance', () { - final testMlDownloader = - TestMethodChannelFirebaseModelDownloader(Firebase.app()); - final result = testMlDownloader.delegateFor(app: Firebase.app()); - - expect(result, isA()); - expect(result.app, isA()); - }); - }); - group('getModel', () { - test('call delegate method successfully', () async { - final conditions = FirebaseModelDownloadConditions(); - final response = await mlDownloader.getModel( - kModelName, - FirebaseModelDownloadType.latestModel, - conditions, - ); - - expect(response, isA()); - // check native method was called - expect(log, [ - isMethodCall( - 'FirebaseModelDownloader#getModel', - arguments: { - 'appName': app.name, - 'modelName': kModelName, - 'downloadType': kDownloadType, - 'conditions': conditions.toMap(), - }, - ), - ]); - }); - - test( - 'catch a [PlatformException] error and throws a [FirebaseException] error', - () async { - mockPlatformExceptionThrown = true; - - await testExceptionHandling( - 'PLATFORM', - () => mlDownloader.getModel( - kModelName, - FirebaseModelDownloadType.latestModel, - FirebaseModelDownloadConditions(), - ), - ); - }); - }); - - group('listDownloadedModels', () { - test('call delegate method successfully', () async { - final response = await mlDownloader.listDownloadedModels(); - - expect(response, isA>()); - // check native method was called - expect(log, [ - isMethodCall( - 'FirebaseModelDownloader#listDownloadedModels', - arguments: { - 'appName': app.name, - }, - ), - ]); - }); - - test( - 'catch a [PlatformException] error and throws a [FirebaseException] error', - () async { - mockPlatformExceptionThrown = true; - - await testExceptionHandling( - 'PLATFORM', - () => mlDownloader.listDownloadedModels(), - ); - }); - }); - - group('deleteDownloadedModel', () { - test('call delegate method successfully', () async { - await mlDownloader.deleteDownloadedModel(kModelName); - - // check native method was called - expect(log, [ - isMethodCall( - 'FirebaseModelDownloader#deleteDownloadedModel', - arguments: { - 'appName': app.name, - 'modelName': kModelName, - }, - ), - ]); - }); - - test( - 'catch a [PlatformException] error and throws a [FirebaseException] error', - () async { - mockPlatformExceptionThrown = true; - - await testExceptionHandling( - 'PLATFORM', - () => mlDownloader.deleteDownloadedModel(kModelName), - ); - }); - }); - }); -} - -class MocksFirebaseModelDownloaderPlatform extends Mock - with MockPlatformInterfaceMixin - implements FirebaseModelDownloaderPlatform {} - -class ExtendsFirebaseModelDownloaderPlatform - extends FirebaseModelDownloaderPlatform {} - -class TestMethodChannelFirebaseModelDownloader - extends MethodChannelFirebaseModelDownloader { - TestMethodChannelFirebaseModelDownloader(FirebaseApp app) : super(app: app); -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/mock.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/mock.dart deleted file mode 100644 index 655358e4cdf4..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/mock.dart +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2021, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart'; -import 'package:firebase_core_platform_interface/test.dart'; -import 'package:firebase_ml_model_downloader_platform_interface/src/method_channel/method_channel_firebase_ml_model_downloader.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -typedef MethodCallCallback = dynamic Function(MethodCall methodCall); -typedef Callback = Function(MethodCall call); - -void setupFirebaseModelDownloaderMocks([Callback? customHandlers]) { - TestWidgetsFlutterBinding.ensureInitialized(); - setupFirebaseCoreMocks(); -} - -void handleMethodCall(MethodCallCallback methodCallCallback) => - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(MethodChannelFirebaseModelDownloader.channel, - (call) async { - return await methodCallCallback(call); - }); - -Future testExceptionHandling(String type, Function testMethod) async { - try { - await testMethod(); - } on FirebaseException catch (_) { - if (type == 'PLATFORM' || type == 'EXCEPTION') { - return; - } - fail( - 'testExceptionHandling: $testMethod threw unexpected FirebaseException', - ); - } catch (e) { - fail('testExceptionHandling: $testMethod threw invalid exception $e'); - } -} diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/platform_interface_tests/platform_interface_firebase_ml_model_downloader_test.dart b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/platform_interface_tests/platform_interface_firebase_ml_model_downloader_test.dart deleted file mode 100644 index 6266ce2c34b3..000000000000 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface/test/platform_interface_tests/platform_interface_firebase_ml_model_downloader_test.dart +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2021, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_ml_model_downloader_platform_interface/firebase_ml_model_downloader_platform_interface.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import '../mock.dart'; - -void main() { - setupFirebaseModelDownloaderMocks(); - - late TestFirebaseModelDownloaderPlatform firebaseModelDownloaderPlatform; - late FirebaseApp app; - late FirebaseApp secondaryApp; - - group('$FirebaseModelDownloaderPlatform()', () { - setUpAll(() async { - app = await Firebase.initializeApp(); - - secondaryApp = await Firebase.initializeApp( - name: 'testApp2', - options: const FirebaseOptions( - appId: '1:1234567890:ios:42424242424242', - apiKey: '123', - projectId: '123', - messagingSenderId: '1234567890', - ), - ); - - firebaseModelDownloaderPlatform = TestFirebaseModelDownloaderPlatform( - app, - ); - - handleMethodCall((call) async { - switch (call.method) { - default: - return null; - } - }); - }); - - test('Constructor', () { - expect( - firebaseModelDownloaderPlatform, - isA(), - ); - expect(firebaseModelDownloaderPlatform, isA()); - }); - - test('instanceFor', () { - final result = FirebaseModelDownloaderPlatform.instanceFor( - app: app, - ); - expect(result, isA()); - }); - - test('get.instance', () { - expect( - FirebaseModelDownloaderPlatform.instance, - isA(), - ); - expect( - FirebaseModelDownloaderPlatform.instance.app.name, - equals(defaultFirebaseAppName), - ); - }); - - group('set.instance', () { - test('sets the current instance', () { - FirebaseModelDownloaderPlatform.instance = - TestFirebaseModelDownloaderPlatform(secondaryApp); - - expect( - FirebaseModelDownloaderPlatform.instance, - isA(), - ); - expect( - FirebaseModelDownloaderPlatform.instance.app.name, - equals('testApp2'), - ); - }); - }); - - test('throws if delegateFor', () { - expect( - () => firebaseModelDownloaderPlatform.testDelegateFor(), - throwsA( - isA().having( - (e) => e.message, - 'message', - 'delegateFor() is not implemented', - ), - ), - ); - }); - - test('throws if getModel', () { - expect( - () => firebaseModelDownloaderPlatform.getModel( - 'modelName', - FirebaseModelDownloadType.latestModel, - FirebaseModelDownloadConditions(), - ), - throwsA( - isA().having( - (e) => e.message, - 'message', - 'getModel() is not implemented', - ), - ), - ); - }); - - test('throws if listDownloadedModels', () { - expect( - () => firebaseModelDownloaderPlatform.listDownloadedModels(), - throwsA( - isA().having( - (e) => e.message, - 'message', - 'listDownloadedModels() is not implemented', - ), - ), - ); - }); - - test('throws if deleteDownloadedModel', () { - expect( - () => - firebaseModelDownloaderPlatform.deleteDownloadedModel('modelName'), - throwsA( - isA().having( - (e) => e.message, - 'message', - 'deleteDownloadedModel() is not implemented', - ), - ), - ); - }); - }); -} - -class TestFirebaseModelDownloaderPlatform - extends FirebaseModelDownloaderPlatform { - TestFirebaseModelDownloaderPlatform(FirebaseApp? app) - : super(appInstance: app); - - FirebaseModelDownloaderPlatform testDelegateFor({FirebaseApp? app}) { - return delegateFor(app: app ?? Firebase.app()); - } -} diff --git a/pubspec.yaml b/pubspec.yaml index e3d6f3195b02..1a8b4cfd725c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -52,9 +52,6 @@ workspace: - packages/firebase_messaging/firebase_messaging/example - packages/firebase_messaging/firebase_messaging_platform_interface - packages/firebase_messaging/firebase_messaging_web - - packages/firebase_ml_model_downloader/firebase_ml_model_downloader - - packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example - - packages/firebase_ml_model_downloader/firebase_ml_model_downloader_platform_interface - packages/firebase_performance/firebase_performance - packages/firebase_performance/firebase_performance/example - packages/firebase_performance/firebase_performance_platform_interface @@ -300,13 +297,6 @@ melos: description: | Run all e2e tests for firebase_messaging. - test:e2e:firebase_ml_model_downloader: - run: | - cd packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example - flutter test integration_test/e2e_test.dart - description: | - Run all e2e tests for firebase_ml_model_downloader. - test:e2e:firebase_auth: run: | cd packages/firebase_auth/firebase_auth/example diff --git a/scripts/generate_versions_gradle.dart b/scripts/generate_versions_gradle.dart index 1545691ef310..82d4114da531 100644 --- a/scripts/generate_versions_gradle.dart +++ b/scripts/generate_versions_gradle.dart @@ -58,7 +58,6 @@ void main() async { case 'firebase_database': case 'firebase_in_app_messaging': case 'firebase_messaging': - case 'firebase_ml_model_downloader': case 'firebase_performance': case 'firebase_remote_config': case 'firebase_storage': diff --git a/scripts/generate_versions_spm.dart b/scripts/generate_versions_spm.dart index 852bc20482d5..07153f549176 100644 --- a/scripts/generate_versions_spm.dart +++ b/scripts/generate_versions_spm.dart @@ -87,7 +87,6 @@ void updatePluginPackageSwiftVersions( void updateLibraryVersionPureSwiftPlugins() { // Packages that require updating library versions const packages = [ - 'firebase_ml_model_downloader', 'firebase_app_installations', 'cloud_functions', 'firebase_remote_config', diff --git a/tests/pubspec.yaml b/tests/pubspec.yaml index 6f13eae3ddf1..3b8cbe11bea3 100644 --- a/tests/pubspec.yaml +++ b/tests/pubspec.yaml @@ -38,8 +38,6 @@ dependencies: firebase_messaging: ^16.6.0 firebase_messaging_platform_interface: ^4.10.0 firebase_messaging_web: ^4.2.5 - firebase_ml_model_downloader: ^0.4.4 - firebase_ml_model_downloader_platform_interface: ^0.1.6+1 firebase_performance: ^0.11.5 firebase_remote_config: ^6.6.0 firebase_remote_config_platform_interface: ^3.0.7