From 3cbc7361db75c96828fef001c68fdbb7a76d058c Mon Sep 17 00:00:00 2001 From: Loic Sharma Date: Mon, 27 Jan 2025 15:43:51 -0800 Subject: [PATCH 1/2] [google_sign_in_ios] Adds Swift Package Manager support --- .../google_sign_in_ios/CHANGELOG.md | 3 +- .../google_sign_in_ios/darwin/Assets/.gitkeep | 0 .../darwin/Tests/GoogleSignInTests.m | 2 + .../darwin/google_sign_in_ios.podspec | 10 +-- .../darwin/google_sign_in_ios/Package.swift | 48 +++++++++++ .../FLTGoogleSignInPlugin.m | 4 +- .../Resources/PrivacyInfo.xcprivacy | 0 .../include}/FLTGoogleSignInPlugin.modulemap | 0 .../include}/google_sign_in_ios-umbrella.h | 0 .../FLTGoogleSignInPlugin.h | 0 .../FLTGoogleSignInPlugin_Test.h | 0 .../include/google_sign_in_ios}/messages.g.h | 0 .../Sources/google_sign_in_ios}/messages.g.m | 2 +- .../google_sign_in_ios/example/ios/Podfile | 5 +- .../ios/Runner.xcodeproj/project.pbxproj | 64 +++++++-------- .../google_sign_in_ios/example/macos/Podfile | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 80 ++++++++++--------- .../xcshareddata/xcschemes/Runner.xcscheme | 18 +++++ .../google_sign_in_ios/pigeons/messages.dart | 11 ++- .../google_sign_in_ios/pubspec.yaml | 2 +- script/configs/xcode_warnings_exceptions.yaml | 4 + 21 files changed, 164 insertions(+), 91 deletions(-) delete mode 100644 packages/google_sign_in/google_sign_in_ios/darwin/Assets/.gitkeep create mode 100644 packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift rename packages/google_sign_in/google_sign_in_ios/darwin/{Classes => google_sign_in_ios/Sources/google_sign_in_ios}/FLTGoogleSignInPlugin.m (99%) rename packages/google_sign_in/google_sign_in_ios/darwin/{ => google_sign_in_ios/Sources/google_sign_in_ios}/Resources/PrivacyInfo.xcprivacy (100%) rename packages/google_sign_in/google_sign_in_ios/darwin/{Classes => google_sign_in_ios/Sources/google_sign_in_ios/include}/FLTGoogleSignInPlugin.modulemap (100%) rename packages/google_sign_in/google_sign_in_ios/darwin/{Classes => google_sign_in_ios/Sources/google_sign_in_ios/include}/google_sign_in_ios-umbrella.h (100%) rename packages/google_sign_in/google_sign_in_ios/darwin/{Classes => google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios}/FLTGoogleSignInPlugin.h (100%) rename packages/google_sign_in/google_sign_in_ios/darwin/{Classes => google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios}/FLTGoogleSignInPlugin_Test.h (100%) rename packages/google_sign_in/google_sign_in_ios/darwin/{Classes => google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios}/messages.g.h (100%) rename packages/google_sign_in/google_sign_in_ios/darwin/{Classes => google_sign_in_ios/Sources/google_sign_in_ios}/messages.g.m (99%) diff --git a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md index f7b0e561716..15e309aa574 100644 --- a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md +++ b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 5.8.0 * Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. +* Adds Swift Package Manager compatibility. ## 5.7.8 diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Assets/.gitkeep b/packages/google_sign_in/google_sign_in_ios/darwin/Assets/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m b/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m index 1d49c9865f1..6ec7f908862 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m +++ b/packages/google_sign_in/google_sign_in_ios/darwin/Tests/GoogleSignInTests.m @@ -11,7 +11,9 @@ @import XCTest; @import google_sign_in_ios; +#if __has_include() @import google_sign_in_ios.Test; +#endif @import GoogleSignIn; // OCMock library doesn't generate a valid modulemap. diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec index 4b3749d4f86..dad93a8643a 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec @@ -12,13 +12,13 @@ Enables Google Sign-In in Flutter apps. s.license = { :type => 'BSD', :file => '../LICENSE' } s.author = { 'Flutter Team' => 'flutter-dev@googlegroups.com' } s.source = { :http => 'https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_ios' } - s.source_files = 'Classes/**/*.{h,m}' - s.public_header_files = 'Classes/**/*.h' - s.module_map = 'Classes/FLTGoogleSignInPlugin.modulemap' + s.source_files = 'google_sign_in_ios/Sources/google_sign_in_ios/**/*.{h,m}' + s.public_header_files = 'google_sign_in_ios/Sources/google_sign_in_ios/include/**/*.h' + s.module_map = 'google_sign_in_ios/Sources/google_sign_in_ios/include/FLTGoogleSignInPlugin.modulemap' # AppAuth and GTMSessionFetcher are GoogleSignIn transitive dependencies. # Depend on versions which defines modules. - s.dependency 'AppAuth', '>= 1.7.4' + s.dependency 'AppAuth', '>= 1.7.6' s.dependency 'GTMSessionFetcher', '>= 3.4.0' s.dependency 'GoogleSignIn', '~> 7.1' s.static_framework = true @@ -33,5 +33,5 @@ Enables Google Sign-In in Flutter apps. # GoogleSignIn depending a Swift pod (GTMAppAuth). s.swift_version = '5.0' - s.resource_bundles = {'google_sign_in_ios_privacy' => ['Resources/PrivacyInfo.xcprivacy']} + s.resource_bundles = {'google_sign_in_ios_privacy' => ['google_sign_in_ios/Sources/google_sign_in_ios/Resources/PrivacyInfo.xcprivacy']} end diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift new file mode 100644 index 00000000000..4bfb75aa58e --- /dev/null +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift @@ -0,0 +1,48 @@ +// swift-tools-version: 5.9 + +// Copyright 2013 The Flutter 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 PackageDescription + +let package = Package( + name: "google_sign_in_ios", + platforms: [ + .iOS("12.0"), + .macOS("10.15"), + ], + products: [ + .library(name: "google-sign-in-ios", targets: ["google_sign_in_ios"]) + ], + dependencies: [ + // AppAuth and GTMSessionFetcher are GoogleSignIn transitive dependencies. + // Depend on versions which define modules. + .package( + url: "https://github.com/openid/AppAuth-iOS.git", + from: "1.7.6"), + .package( + url: "https://github.com/google/gtm-session-fetcher.git", + from: "3.4.0"), + .package( + url: "https://github.com/google/GoogleSignIn-iOS.git", + from: "7.1.0"), + ], + targets: [ + .target( + name: "google_sign_in_ios", + dependencies: [ + .product(name: "GoogleSignIn", package: "GoogleSignIn-iOS") + ], + exclude: [ + "include/google_sign_in_ios-umbrella.h", "include/FLTGoogleSignInPlugin.modulemap", + ], + resources: [ + .process("Resources") + ], + cSettings: [ + .headerSearchPath("include/google_sign_in_ios") + ] + ) + ] +) diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.m b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/FLTGoogleSignInPlugin.m similarity index 99% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.m rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/FLTGoogleSignInPlugin.m index 7ba4db91608..79b80778880 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.m +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/FLTGoogleSignInPlugin.m @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "FLTGoogleSignInPlugin.h" -#import "FLTGoogleSignInPlugin_Test.h" +#import "./include/google_sign_in_ios/FLTGoogleSignInPlugin.h" +#import "./include/google_sign_in_ios/FLTGoogleSignInPlugin_Test.h" #import diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Resources/PrivacyInfo.xcprivacy b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/Resources/PrivacyInfo.xcprivacy similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Resources/PrivacyInfo.xcprivacy rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/Resources/PrivacyInfo.xcprivacy diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.modulemap b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/FLTGoogleSignInPlugin.modulemap similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.modulemap rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/FLTGoogleSignInPlugin.modulemap diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/google_sign_in_ios-umbrella.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios-umbrella.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/google_sign_in_ios-umbrella.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios-umbrella.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin_Test.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin_Test.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/FLTGoogleSignInPlugin_Test.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/FLTGoogleSignInPlugin_Test.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.h b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/messages.g.h similarity index 100% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.h rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/include/google_sign_in_ios/messages.g.h diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.m b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/messages.g.m similarity index 99% rename from packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.m rename to packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/messages.g.m index 96d6b54232a..2ec6ea32d0e 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/Classes/messages.g.m +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Sources/google_sign_in_ios/messages.g.m @@ -4,7 +4,7 @@ // Autogenerated from Pigeon (v11.0.1), do not edit directly. // See also: https://pub.dev/packages/pigeon -#import "messages.g.h" +#import "./include/google_sign_in_ios/messages.g.h" #if TARGET_OS_OSX #import diff --git a/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile b/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile index 66f053d0a5e..16330c1eb50 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile +++ b/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile @@ -26,8 +26,7 @@ end require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) # Suppress warnings from transitive dependencies that cause analysis to fail. -pod 'AppAuth', :inhibit_warnings => true -pod 'GTMAppAuth', :inhibit_warnings => true +inhibit_all_warnings! flutter_ios_podfile_setup @@ -35,8 +34,6 @@ target 'Runner' do flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do inherit! :search_paths - - pod 'OCMock','3.5' end end diff --git a/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj index 038c6d966d2..4c8cb6e32bc 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/google_sign_in/google_sign_in_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -7,7 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 40A6CE2A2D499A7800DE3915 /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = 40A6CE292D499A7800DE3915 /* OCMock */; }; 5C6F5A6E1EC3B4CB008D64B5 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C6F5A6D1EC3B4CB008D64B5 /* GeneratedPluginRegistrant.m */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 78A36DA12AF5761E00CBFD43 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7A303C2D1E89D76400B1F19E /* GoogleService-Info.plist */; }; 7ACDFB0E1E8944C400BE2D00 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7ACDFB0D1E8944C400BE2D00 /* AppFrameworkInfo.plist */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; @@ -19,7 +21,6 @@ C56D3B06A42F3B35C1F47A43 /* libPods-RunnerTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18AD6475292B9C45B529DDC9 /* libPods-RunnerTests.a */; }; F76AC1A52666D0540040C8BC /* GoogleSignInTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F76AC1A42666D0540040C8BC /* GoogleSignInTests.m */; }; F76AC1B32666D0610040C8BC /* GoogleSignInUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = F76AC1B22666D0610040C8BC /* GoogleSignInUITests.m */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -96,6 +97,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 40A6CE2A2D499A7800DE3915 /* OCMock in Frameworks */, C56D3B06A42F3B35C1F47A43 /* libPods-RunnerTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -211,9 +213,6 @@ /* Begin PBXNativeTarget section */ 97C146ED1CF9000F007C117D /* Runner */ = { - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( @@ -223,7 +222,6 @@ 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, - 532EA9D341340B1DCD08293D /* [CP] Copy Pods Resources */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, ); buildRules = ( @@ -231,6 +229,9 @@ dependencies = ( ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; @@ -276,9 +277,6 @@ /* Begin PBXProject section */ 97C146E61CF9000F007C117D /* Project object */ = { - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, - ); isa = PBXProject; attributes = { LastUpgradeCheck = 1510; @@ -308,6 +306,10 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, + 40A6CE282D499A7800DE3915 /* XCRemoteSwiftPackageReference "ocmock" */, + ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -387,34 +389,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed\n/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin\n"; }; - 532EA9D341340B1DCD08293D /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth/AppAuthCore_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth/GTMAppAuth_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher/GTMSessionFetcher_Core_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher/GTMSessionFetcher_Full_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleSignIn/GoogleSignIn.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/google_sign_in_ios/google_sign_in_ios_privacy.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppAuthCore_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMAppAuth_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMSessionFetcher_Core_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMSessionFetcher_Full_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/google_sign_in_ios_privacy.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -774,13 +748,31 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + /* Begin XCLocalSwiftPackageReference section */ 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { isa = XCLocalSwiftPackageReference; relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; }; /* End XCLocalSwiftPackageReference section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 40A6CE282D499A7800DE3915 /* XCRemoteSwiftPackageReference "ocmock" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/erikdoe/ocmock"; + requirement = { + kind = revision; + revision = fe1661a3efed11831a6452f4b1a0c5e6ddc08c3d; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + /* Begin XCSwiftPackageProductDependency section */ + 40A6CE292D499A7800DE3915 /* OCMock */ = { + isa = XCSwiftPackageProductDependency; + package = 40A6CE282D499A7800DE3915 /* XCRemoteSwiftPackageReference "ocmock" */; + productName = OCMock; + }; 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { isa = XCSwiftPackageProductDependency; productName = FlutterGeneratedPluginSwiftPackage; diff --git a/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile b/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile index 587228d11c2..ff5ddb3b8bd 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile +++ b/packages/google_sign_in/google_sign_in_ios/example/macos/Podfile @@ -33,8 +33,6 @@ target 'Runner' do target 'RunnerTests' do inherit! :search_paths end - - pod 'OCMock','3.5' end post_install do |installer| diff --git a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj index f28d06cf191..29c38db0956 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/project.pbxproj @@ -28,6 +28,8 @@ 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 */; }; + 403C71332C66A4F70034A230 /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = 403C71322C66A4F70034A230 /* OCMock */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; D7B8415A3D20001DE212873D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A19720E5189178660264EC3F /* Pods_Runner.framework */; }; F107B1B7E4ECB85727EC4286 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BD1DCE969A7E7C76D9CF93C /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ @@ -97,6 +99,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 403C71332C66A4F70034A230 /* OCMock in Frameworks */, F107B1B7E4ECB85727EC4286 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -105,6 +108,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, D7B8415A3D20001DE212873D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -229,6 +233,9 @@ 331C80DA294CF71000263BE5 /* PBXTargetDependency */, ); name = RunnerTests; + packageProductDependencies = ( + 403C71322C66A4F70034A230 /* OCMock */, + ); productName = RunnerTests; productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; @@ -243,8 +250,6 @@ 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 71BCCDB30AA132D041139429 /* [CP] Embed Pods Frameworks */, - 869627441CAFE5E045BD46CA /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -252,6 +257,9 @@ 33CC11202044C79F0003C045 /* PBXTargetDependency */, ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 33CC10ED2044A3C60003C045 /* google_sign_in_ios_example.app */; productType = "com.apple.product-type.application"; @@ -295,6 +303,10 @@ Base, ); mainGroup = 33CC10E42044A3C60003C045; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + 403C71312C66A4F70034A230 /* XCRemoteSwiftPackageReference "ocmock" */, + ); productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -365,23 +377,6 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 71BCCDB30AA132D041139429 /* [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; - }; 728CBB3DC3D62D9A33FE9D0E /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -426,23 +421,6 @@ 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; }; - 869627441CAFE5E045BD46CA /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -808,6 +786,36 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 403C71312C66A4F70034A230 /* XCRemoteSwiftPackageReference "ocmock" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/erikdoe/ocmock"; + requirement = { + kind = revision; + revision = fe1661a3efed11831a6452f4b1a0c5e6ddc08c3d; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 403C71322C66A4F70034A230 /* OCMock */ = { + isa = XCSwiftPackageProductDependency; + package = 403C71312C66A4F70034A230 /* XCRemoteSwiftPackageReference "ocmock" */; + productName = OCMock; + }; + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 33CC10E52044A3C60003C045 /* Project object */; } diff --git a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 0091f6af4c8..02154802eb0 100644 --- a/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/google_sign_in/google_sign_in_ios/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + Date: Thu, 6 Feb 2025 13:32:11 -0800 Subject: [PATCH 2/2] Remove transitive dependency hoisting --- .../darwin/google_sign_in_ios.podspec | 2 +- .../darwin/google_sign_in_ios/Package.swift | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec index dad93a8643a..c846540e0ab 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios.podspec @@ -18,7 +18,7 @@ Enables Google Sign-In in Flutter apps. # AppAuth and GTMSessionFetcher are GoogleSignIn transitive dependencies. # Depend on versions which defines modules. - s.dependency 'AppAuth', '>= 1.7.6' + s.dependency 'AppAuth', '>= 1.7.4' s.dependency 'GTMSessionFetcher', '>= 3.4.0' s.dependency 'GoogleSignIn', '~> 7.1' s.static_framework = true diff --git a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift index 4bfb75aa58e..0a3a57cf5b4 100644 --- a/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift +++ b/packages/google_sign_in/google_sign_in_ios/darwin/google_sign_in_ios/Package.swift @@ -16,17 +16,9 @@ let package = Package( .library(name: "google-sign-in-ios", targets: ["google_sign_in_ios"]) ], dependencies: [ - // AppAuth and GTMSessionFetcher are GoogleSignIn transitive dependencies. - // Depend on versions which define modules. - .package( - url: "https://github.com/openid/AppAuth-iOS.git", - from: "1.7.6"), - .package( - url: "https://github.com/google/gtm-session-fetcher.git", - from: "3.4.0"), .package( url: "https://github.com/google/GoogleSignIn-iOS.git", - from: "7.1.0"), + from: "7.1.0") ], targets: [ .target(