1919import class Foundation. ProcessInfo
2020import PackageDescription
2121
22- // let firebaseVersion = "10.25.0"
23-
2422let package = Package (
2523 name: " FirebaseDataConnect " ,
2624 platforms: [ . iOS( . v12) , . macCatalyst( . v13) , . macOS( . v10_15) , . tvOS( . v13) , . watchOS( . v7) ] ,
@@ -31,8 +29,7 @@ let package = Package(
3129 ) ,
3230 ] ,
3331 dependencies: [
34- . package ( url: " https://github.com/firebase/firebase-ios-sdk " ,
35- from: " 11.0.0 " ) ,
32+ firebaseDependency ( ) ,
3633 . package (
3734 url: " https://github.com/grpc/grpc-swift.git " ,
3835 from: " 1.19.1 " // TODO: Constrain to a range at time of release
@@ -43,6 +40,8 @@ let package = Package(
4340 name: " FirebaseDataConnect " ,
4441 dependencies: [
4542 . product( name: " GRPC " , package : " grpc-swift " ) ,
43+ . product( name: " FirebaseCore " , package : " firebase-ios-sdk " ) ,
44+ // TODO: Investigate switching Auth and AppCheck to interop.
4645 . product( name: " FirebaseAuth " , package : " firebase-ios-sdk " ) ,
4746 . product( name: " FirebaseAppCheck " , package : " firebase-ios-sdk " ) ,
4847
@@ -56,3 +55,15 @@ let package = Package(
5655 ) ,
5756 ]
5857)
58+
59+ func firebaseDependency( ) -> Package . Dependency {
60+ let firebaseURL = " https://github.com/firebase/firebase-ios-sdk "
61+
62+ // Point SPM CI to the tip of main of https://github.com/firebase/firebase-ios-sdk so that the
63+ // release process can defer publishing the GoogleAppMeasurement tag until after testing.
64+ if ProcessInfo . processInfo. environment [ " FIREBASE_MAIN " ] != nil {
65+ return . package ( url: firebaseURL, branch: " main " )
66+ }
67+
68+ return . package ( url: firebaseURL, exact: " 11.3.0 " )
69+ }
0 commit comments