From 336b9cf3ce093c9bf33fc39386d51ef2817554b5 Mon Sep 17 00:00:00 2001 From: Cynthia J Date: Mon, 30 Mar 2026 16:29:55 -0700 Subject: [PATCH 1/8] add spm support for firebase_ai, and update example to running with spm --- .../firebase_ai/firebase_ai/example/.metadata | 12 ++-- .../ios/Flutter/AppFrameworkInfo.plist | 2 - .../firebase_ai/example/ios/Podfile | 1 - .../ios/Runner.xcodeproj/project.pbxproj | 45 +----------- .../contents.xcworkspacedata | 10 --- .../xcshareddata/IDEWorkspaceChecks.plist | 8 --- .../xcshareddata/WorkspaceSettings.xcsettings | 8 --- .../firebase_ai/example/macos/Podfile | 1 - .../macos/Runner.xcodeproj/project.pbxproj | 69 +++++++++++++------ .../contents.xcworkspacedata | 7 ++ .../xcshareddata/xcschemes/Runner.xcscheme | 18 +++++ .../macos/RunnerTests/RunnerTests.swift | 12 ++++ .../firebase_ai/example/pubspec.yaml | 2 +- .../firebase_ai/example/test/widget_test.dart | 30 ++++++++ .../firebase_ai/ios/firebase_ai/Package.swift | 34 +++++++++ .../macos/firebase_ai/Package.swift | 34 +++++++++ 16 files changed, 192 insertions(+), 101 deletions(-) delete mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 packages/firebase_ai/firebase_ai/example/macos/RunnerTests/RunnerTests.swift create mode 100644 packages/firebase_ai/firebase_ai/example/test/widget_test.dart create mode 100644 packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift create mode 100644 packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift diff --git a/packages/firebase_ai/firebase_ai/example/.metadata b/packages/firebase_ai/firebase_ai/example/.metadata index b6128fc4f019..c27bc3035576 100644 --- a/packages/firebase_ai/firebase_ai/example/.metadata +++ b/packages/firebase_ai/firebase_ai/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "2615ab6c1932e44e6802aaba8dc715b387ff155f" + revision: "230b2e5aa9c0da94c4caca4c12c6eecfcca7e105" channel: "main" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f - base_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f - - platform: android - create_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f - base_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f + create_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 + base_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 + - platform: macos + create_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 + base_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 # User provided section diff --git a/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist b/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist index 7c5696400627..391a902b2beb 100644 --- a/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist +++ b/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist @@ -20,7 +20,5 @@ ???? CFBundleVersion 1.0 - MinimumOSVersion - 12.0 diff --git a/packages/firebase_ai/firebase_ai/example/ios/Podfile b/packages/firebase_ai/firebase_ai/example/ios/Podfile index a419e4239013..9d7ef08d52b2 100644 --- a/packages/firebase_ai/firebase_ai/example/ios/Podfile +++ b/packages/firebase_ai/firebase_ai/example/ios/Podfile @@ -29,7 +29,6 @@ flutter_ios_podfile_setup target 'Runner' do use_frameworks! - use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj index 40278fc43dec..c99827697349 100644 --- a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj @@ -195,14 +195,12 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - F51794D56D63ACA383D5C2E4 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 34F21DFC67109DEAFD936E80 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -246,7 +244,7 @@ ); mainGroup = 97C146E51CF9000F007C117D; packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; @@ -281,23 +279,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 34F21DFC67109DEAFD936E80 /* [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; - }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -329,28 +310,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F51794D56D63ACA383D5C2E4 /* [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; - }; F5C7CFE0E232B64D613F0623 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -739,7 +698,7 @@ /* End XCConfigurationList section */ /* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { isa = XCLocalSwiftPackageReference; relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; }; diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14c74e..000000000000 --- a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d68..000000000000 --- a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5ea15..000000000000 --- a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/packages/firebase_ai/firebase_ai/example/macos/Podfile b/packages/firebase_ai/firebase_ai/example/macos/Podfile index b52666a10389..ff5ddb3b8bdc 100644 --- a/packages/firebase_ai/firebase_ai/example/macos/Podfile +++ b/packages/firebase_ai/firebase_ai/example/macos/Podfile @@ -28,7 +28,6 @@ flutter_macos_podfile_setup target 'Runner' do use_frameworks! - use_modular_headers! flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do diff --git a/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj index 4bc66a519ca5..2c54c992e5b8 100644 --- a/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj @@ -30,6 +30,7 @@ 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 3D1CF19370CB8E26E5C667A5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4DAA18FE8B79A454BF3F8CB /* Pods_Runner.framework */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -85,11 +86,14 @@ 587C61AFC0E2B0BF5340F8E8 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 5C2B5E4F1CE100E1FA5D9DC5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 766A2E414AFDFA56243527A6 /* 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 = ""; }; + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 816B0EE72BF94FC5261D04E6 /* 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 = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; A2911B8EF91B3925874FDE6A /* 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 = ""; }; C4DAA18FE8B79A454BF3F8CB /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 784666492D4C4C64000A1A5F /* FlutterFramework */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterFramework; path = ephemeral/Packages/.packages/FlutterFramework; sourceTree = ""; }; + 78DABEA22ED26510000E7860 /* firebase_ai */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = firebase_ai; path = ../../macos/firebase_ai; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -105,6 +109,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, 3D1CF19370CB8E26E5C667A5 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -167,6 +172,9 @@ 33CEB47122A05771004F2AC0 /* Flutter */ = { isa = PBXGroup; children = ( + 78DABEA22ED26510000E7860 /* firebase_ai */, + 784666492D4C4C64000A1A5F /* FlutterFramework */, + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, @@ -198,7 +206,6 @@ 587C61AFC0E2B0BF5340F8E8 /* Pods-RunnerTests.release.xcconfig */, 5C2B5E4F1CE100E1FA5D9DC5 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -237,13 +244,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - E10F886575A4AF9F1D3D5C5B /* [CP] Check Pods Manifest.lock */, + 606AE4A9031C7C91EFF70994 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 1D3525FBE401B81EB0265948 /* [CP] Embed Pods Frameworks */, + 7035891EAAFF34285DDE160B /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -251,6 +258,9 @@ 33CC11202044C79F0003C045 /* PBXTargetDependency */, ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 33CC10ED2044A3C60003C045 /* example.app */; productType = "com.apple.product-type.application"; @@ -295,6 +305,9 @@ Base, ); mainGroup = 33CC10E42044A3C60003C045; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + ); productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -327,23 +340,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1D3525FBE401B81EB0265948 /* [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; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -404,7 +400,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - E10F886575A4AF9F1D3D5C5B /* [CP] Check Pods Manifest.lock */ = { + 606AE4A9031C7C91EFF70994 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -426,6 +422,23 @@ 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; }; + 7035891EAAFF34285DDE160B /* [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; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -800,6 +813,20 @@ 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 = 33CC10E52044A3C60003C045 /* Project object */; } diff --git a/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000000..919434a6254f --- /dev/null +++ b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index b0a82f087ad1..49eac59ad872 100644 --- a/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + Date: Mon, 30 Mar 2026 16:53:00 -0700 Subject: [PATCH 2/8] remove unnecessary test file --- .../firebase_ai/example/test/widget_test.dart | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 packages/firebase_ai/firebase_ai/example/test/widget_test.dart diff --git a/packages/firebase_ai/firebase_ai/example/test/widget_test.dart b/packages/firebase_ai/firebase_ai/example/test/widget_test.dart deleted file mode 100644 index 1271317d6591..000000000000 --- a/packages/firebase_ai/firebase_ai/example/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:firebase_ai_example/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} From a7af8f99a045c60249df980af5aa44bae202ddc6 Mon Sep 17 00:00:00 2001 From: Cynthia J Date: Mon, 30 Mar 2026 20:26:37 -0700 Subject: [PATCH 3/8] delete one more non-necessary test file --- .../example/macos/RunnerTests/RunnerTests.swift | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 packages/firebase_ai/firebase_ai/example/macos/RunnerTests/RunnerTests.swift diff --git a/packages/firebase_ai/firebase_ai/example/macos/RunnerTests/RunnerTests.swift b/packages/firebase_ai/firebase_ai/example/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index 61f3bd1fc504..000000000000 --- a/packages/firebase_ai/firebase_ai/example/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Cocoa -import FlutterMacOS -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} From 43af9c41bf90d05468191e8b0f314b690eb4ef7c Mon Sep 17 00:00:00 2001 From: Cynthia J Date: Mon, 30 Mar 2026 20:51:44 -0700 Subject: [PATCH 4/8] try to fix review comments --- .../firebase_ai/firebase_ai/example/.metadata | 18 ++++--- .../ios/Flutter/AppFrameworkInfo.plist | 2 + .../ios/Runner.xcodeproj/project.pbxproj | 51 ++++++++++++++++++- .../contents.xcworkspacedata | 10 ++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ .../xcshareddata/WorkspaceSettings.xcsettings | 8 +++ .../example/ios/Runner/SceneDelegate.swift | 6 +++ .../macos/Runner.xcodeproj/project.pbxproj | 1 + 8 files changed, 96 insertions(+), 8 deletions(-) create mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift diff --git a/packages/firebase_ai/firebase_ai/example/.metadata b/packages/firebase_ai/firebase_ai/example/.metadata index c27bc3035576..9ab588718994 100644 --- a/packages/firebase_ai/firebase_ai/example/.metadata +++ b/packages/firebase_ai/firebase_ai/example/.metadata @@ -4,8 +4,8 @@ # This file should be version controlled and should not be manually edited. version: - revision: "230b2e5aa9c0da94c4caca4c12c6eecfcca7e105" - channel: "main" + revision: "aa1d2edd012bbf31e58827bf3ac7010c10991e20" + channel: "beta" project_type: app @@ -13,11 +13,17 @@ project_type: app migration: platforms: - platform: root - create_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 - base_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 + create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 + base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 + - platform: ios + create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 + base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 - platform: macos - create_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 - base_revision: 230b2e5aa9c0da94c4caca4c12c6eecfcca7e105 + create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 + base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 + - platform: android + create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 + base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20 # User provided section diff --git a/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist b/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist index 391a902b2beb..0d14080090af 100644 --- a/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist +++ b/packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist @@ -20,5 +20,7 @@ ???? CFBundleVersion 1.0 + MinimumOSVersion + 15.0 diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj index c99827697349..2552246e5d98 100644 --- a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj @@ -55,6 +55,9 @@ 5F1FA05866A2D0FCA3287B20 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 784666492D4C4C64000A1A5F /* FlutterFramework */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterFramework; path = Flutter/ephemeral/Packages/.packages/FlutterFramework; sourceTree = ""; }; + 78DABEA22ED26510000E7860 /* firebase_ai */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = firebase_ai; path = ../../ios/firebase_ai; sourceTree = ""; }; + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 8ACDC47C7E9AF1A1B9595598 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 94CE5BFCDF90764354BB6740 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -115,6 +118,9 @@ 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( + 78DABEA22ED26510000E7860 /* firebase_ai */, + 784666492D4C4C64000A1A5F /* FlutterFramework */, + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, @@ -195,12 +201,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 65E1413F3D5F0EF9AF4CD1AB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 7C03669E7720256A458F4A2F /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -244,7 +252,7 @@ ); mainGroup = 97C146E51CF9000F007C117D; packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; @@ -295,6 +303,45 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 65E1413F3D5F0EF9AF4CD1AB /* [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; + }; + 7C03669E7720256A458F4A2F /* [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; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -698,7 +745,7 @@ /* End XCConfigurationList section */ /* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { isa = XCLocalSwiftPackageReference; relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; }; diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000000..21a3cc14c74e --- /dev/null +++ b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000000..18d981003d68 --- /dev/null +++ b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000000..f9b0d7c5ea15 --- /dev/null +++ b/packages/firebase_ai/firebase_ai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift b/packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift new file mode 100644 index 000000000000..b9ce8ea2b2ad --- /dev/null +++ b/packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift @@ -0,0 +1,6 @@ +import Flutter +import UIKit + +class SceneDelegate: FlutterSceneDelegate { + +} diff --git a/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj index 2c54c992e5b8..9a68c0a44f3c 100644 --- a/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj @@ -824,6 +824,7 @@ /* Begin XCSwiftPackageProductDependency section */ 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { isa = XCSwiftPackageProductDependency; + package = 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */; productName = FlutterGeneratedPluginSwiftPackage; }; /* End XCSwiftPackageProductDependency section */ From 94917b82abb56a19059d8a43f8deca2a0fdaa10e Mon Sep 17 00:00:00 2001 From: Cynthia J Date: Mon, 30 Mar 2026 20:57:01 -0700 Subject: [PATCH 5/8] delete --- .../firebase_ai/example/ios/Runner/SceneDelegate.swift | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift diff --git a/packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift b/packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift deleted file mode 100644 index b9ce8ea2b2ad..000000000000 --- a/packages/firebase_ai/firebase_ai/example/ios/Runner/SceneDelegate.swift +++ /dev/null @@ -1,6 +0,0 @@ -import Flutter -import UIKit - -class SceneDelegate: FlutterSceneDelegate { - -} From 5adbce42c4691afe73b9286cba3a2066ce22e94d Mon Sep 17 00:00:00 2001 From: Cynthia J Date: Mon, 30 Mar 2026 22:03:40 -0700 Subject: [PATCH 6/8] this package doesn't need cSettings --- .../firebase_ai/firebase_ai/ios/firebase_ai/Package.swift | 8 +------- .../firebase_ai/macos/firebase_ai/Package.swift | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift index 6d443286ef9d..fc46dce78e37 100644 --- a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift @@ -1,14 +1,12 @@ // 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 +// 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. import PackageDescription -let library_version = "3.10.0" - let package = Package( name: "firebase_ai", platforms: [ @@ -25,10 +23,6 @@ let package = Package( resources: [ .process("Resources"), ], - cSettings: [ - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-ai\""), - ] ), ] ) diff --git a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift index 6b24132fe3ec..c43a6b867464 100644 --- a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift @@ -1,14 +1,12 @@ // 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 +// 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. import PackageDescription -let library_version = "3.10.0" - let package = Package( name: "firebase_ai", platforms: [ @@ -25,10 +23,6 @@ let package = Package( resources: [ .process("Resources"), ], - cSettings: [ - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-ai\""), - ] ), ] ) From 24ab889a5beab09414f1b81581c8897490930fba Mon Sep 17 00:00:00 2001 From: Cynthia J Date: Mon, 30 Mar 2026 22:07:50 -0700 Subject: [PATCH 7/8] fix formatter --- packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift | 2 +- .../firebase_ai/firebase_ai/macos/firebase_ai/Package.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift index fc46dce78e37..087f2530b1c1 100644 --- a/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/ios/firebase_ai/Package.swift @@ -22,7 +22,7 @@ let package = Package( dependencies: [], resources: [ .process("Resources"), - ], + ] ), ] ) diff --git a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift index c43a6b867464..5440873b51b2 100644 --- a/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift +++ b/packages/firebase_ai/firebase_ai/macos/firebase_ai/Package.swift @@ -22,7 +22,7 @@ let package = Package( dependencies: [], resources: [ .process("Resources"), - ], + ] ), ] ) From 4bbfdd65e27db9d0397cafc39f3bdaa181b10997 Mon Sep 17 00:00:00 2001 From: Cynthia J Date: Tue, 31 Mar 2026 11:34:00 -0700 Subject: [PATCH 8/8] add firebase_ai to the github swift integration workflow --- .github/workflows/all_plugins.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index ac5acce22e61..7604b8a0b8fd 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -136,7 +136,7 @@ jobs: runs-on: macos-15 timeout-minutes: 45 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" + 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" PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938