diff --git a/.github/workflows/abtesting.yml b/.github/workflows/abtesting.yml index 86b82ce7eb..0cd9861b66 100644 --- a/.github/workflows/abtesting.yml +++ b/.github/workflows/abtesting.yml @@ -7,6 +7,7 @@ on: pull_request: paths: - 'FirebaseABTesting**' + - 'Interop/Analytics/Public/*.h' - '.github/workflows/abtesting.yml' - 'Gemfile' schedule: diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index 62508272b2..ffe74d34f5 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -4,6 +4,7 @@ on: pull_request: paths: - 'FirebaseAuth**' + - 'Interop/Auth/Public/*.h' - '.github/workflows/auth.yml' - 'Gemfile' schedule: diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index e8d1970928..f57067bc4e 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -4,6 +4,7 @@ on: pull_request: paths: - 'FirebaseCore**' + - 'Interop/CoreDiagnostics/Public/*.h' - '.github/workflows/core.yml' - 'Gemfile' schedule: diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 6043729eb7..b3fa426042 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -5,6 +5,7 @@ on: paths: - 'Crashlytics**' - '.github/workflows/crashlytics.yml' + - 'Interop/Analytics/Public/*.h' - 'Gemfile' schedule: # Run every day at 11pm (PST) - cron uses UTC times diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml index fa3bd05513..840272194c 100644 --- a/.github/workflows/database.yml +++ b/.github/workflows/database.yml @@ -9,6 +9,7 @@ on: - 'FirebaseDatabase**' - 'Firebase/Database/**' - 'Example/Database/**' + - 'Interop/Auth/Public/*.h' - '.github/workflows/database.yml' - 'Gemfile' schedule: diff --git a/.github/workflows/dynamiclinks.yml b/.github/workflows/dynamiclinks.yml index c069cf660e..6605e26703 100644 --- a/.github/workflows/dynamiclinks.yml +++ b/.github/workflows/dynamiclinks.yml @@ -5,6 +5,7 @@ on: paths: - 'FirebaseDynamicLinks**' - '.github/workflows/dynamiclinks.yml' + - 'Interop/Analytics/Public/*.h' - 'Gemfile' schedule: # Run every day at 11pm (PST) - cron uses UTC times diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index 0b8c8eb287..54b4fcc59e 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -20,6 +20,9 @@ on: # Firestore sources - 'Firestore/**' + # Interop headers + - 'Interop/Auth/Public/*.h' + # Podspec - 'FirebaseFirestore.podspec' diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml index 5a75a443b7..f950c47245 100644 --- a/.github/workflows/functions.yml +++ b/.github/workflows/functions.yml @@ -8,6 +8,7 @@ on: paths: - 'Functions**' - '.github/workflows/functions.yml' + - 'Interop/Auth/Public/*.h' - 'Gemfile' schedule: # Run every day at 11pm (PST) - cron uses UTC times diff --git a/.github/workflows/inappmessaging.yml b/.github/workflows/inappmessaging.yml index 0f362095b3..e98fa857a4 100644 --- a/.github/workflows/inappmessaging.yml +++ b/.github/workflows/inappmessaging.yml @@ -7,6 +7,7 @@ on: pull_request: paths: - 'FirebaseInAppMessaging**' + - 'Interop/Analytics/Public/*.h' - '.github/workflows/inappmessaging.yml' - 'Gemfile' schedule: diff --git a/.github/workflows/interop.yml b/.github/workflows/interop.yml deleted file mode 100644 index 2bb02389f4..0000000000 --- a/.github/workflows/interop.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: interop - -# All Interop pods in the repo are linted here. - -on: - pull_request: - paths: - - 'Interop/**' - - '*Interop.podspec' - - '.github/workflows/interop.yml' - - 'Gemfile' - schedule: - # Run every day at 11pm (PST) - cron uses UTC times - - cron: '0 7 * * *' - -jobs: - pod-lib-lint: - runs-on: macOS-latest - strategy: - matrix: - pod: [Analytics, Auth, CoreDiagnostics] - - steps: - - uses: actions/checkout@v2 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Interop Pod - run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb Firebase${{ matrix.pod }}Interop.podspec diff --git a/.github/workflows/messaging.yml b/.github/workflows/messaging.yml index fd21206eec..25404295b5 100644 --- a/.github/workflows/messaging.yml +++ b/.github/workflows/messaging.yml @@ -5,6 +5,8 @@ on: paths: # Messaging sources - 'FirebaseMessaging/**' + # Interop headers + - 'Interop/Analytics/Public/*.h' # Podspec - 'FirebaseMessaging.podspec' # This file diff --git a/.github/workflows/remoteconfig.yml b/.github/workflows/remoteconfig.yml index 2a5aa88b54..965aaf2c17 100644 --- a/.github/workflows/remoteconfig.yml +++ b/.github/workflows/remoteconfig.yml @@ -7,6 +7,7 @@ on: pull_request: paths: - 'FirebaseRemoteConfig**' + - 'Interop/Analytics/Public/*.h' - '.github/workflows/remoteconfig.yml' - 'Gemfile' schedule: diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 290d54fecf..0d016df96b 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -4,6 +4,7 @@ on: pull_request: paths: - 'FirebaseStorage**' + - 'Interop/Auth/Public/*.h' - '.github/workflows/storage.yml' - 'scripts/**' # Rebuild on Ruby infrastructure changes. diff --git a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_frameworks/Podfile b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_frameworks/Podfile index 9460a359ed..33586fe17f 100644 --- a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_frameworks/Podfile +++ b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_frameworks/Podfile @@ -7,11 +7,8 @@ target 'CocoapodsIntegrationTest' do pod 'FirebaseABTesting', :path => '../' pod 'FirebaseCore', :path => '../' pod 'FirebaseCoreDiagnostics', :path => '../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../' pod 'FirebaseCrashlytics', :path => '../' - pod 'FirebaseAnalyticsInterop', :path => '../' pod 'FirebaseAuth', :path => '../' - pod 'FirebaseAuthInterop', :path => '../' pod 'FirebaseDatabase', :path => '../' pod 'FirebaseDynamicLinks', :path => '../' pod 'FirebaseFirestore', :path => '../' diff --git a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_staticLibs/Podfile b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_staticLibs/Podfile index 41a7f478a5..6ca30d2bca 100644 --- a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_staticLibs/Podfile +++ b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_6_1_staticLibs/Podfile @@ -5,11 +5,8 @@ target 'CocoapodsIntegrationTest' do pod 'FirebaseABTesting', :path => '../' pod 'FirebaseCore', :path => '../' pod 'FirebaseCoreDiagnostics', :path => '../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../' pod 'FirebaseCrashlytics', :path => '../' - pod 'FirebaseAnalyticsInterop', :path => '../' pod 'FirebaseAuth', :path => '../' - pod 'FirebaseAuthInterop', :path => '../' pod 'FirebaseDatabase', :path => '../' pod 'FirebaseDynamicLinks', :path => '../' pod 'FirebaseFirestore', :path => '../' diff --git a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_frameworks/Podfile b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_frameworks/Podfile index 0a219d35d2..0ce673e718 100644 --- a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_frameworks/Podfile +++ b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_frameworks/Podfile @@ -6,11 +6,8 @@ target 'CocoapodsIntegrationTest' do pod 'FirebaseABTesting', :path => '../' pod 'FirebaseCore', :path => '../' pod 'FirebaseCoreDiagnostics', :path => '../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../' pod 'FirebaseCrashlytics', :path => '../' - pod 'FirebaseAnalyticsInterop', :path => '../' pod 'FirebaseAuth', :path => '../' - pod 'FirebaseAuthInterop', :path => '../' pod 'FirebaseDatabase', :path => '../' pod 'FirebaseDynamicLinks', :path => '../' pod 'FirebaseFirestore', :path => '../' diff --git a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_frameworks/Podfile b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_frameworks/Podfile index c0d6f87daf..6eff343de3 100644 --- a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_frameworks/Podfile +++ b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_frameworks/Podfile @@ -7,11 +7,8 @@ target 'CocoapodsIntegrationTest' do pod 'FirebaseABTesting', :path => '../' pod 'FirebaseCore', :path => '../' pod 'FirebaseCoreDiagnostics', :path => '../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../' pod 'FirebaseCrashlytics', :path => '../' - pod 'FirebaseAnalyticsInterop', :path => '../' pod 'FirebaseAuth', :path => '../' - pod 'FirebaseAuthInterop', :path => '../' pod 'FirebaseDatabase', :path => '../' pod 'FirebaseDynamicLinks', :path => '../' pod 'FirebaseFirestore', :path => '../' diff --git a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_staticLibs/Podfile b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_staticLibs/Podfile index f122a22fd3..e947f1db50 100644 --- a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_staticLibs/Podfile +++ b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_multiprojects_staticLibs/Podfile @@ -5,11 +5,8 @@ target 'CocoapodsIntegrationTest' do pod 'FirebaseABTesting', :path => '../' pod 'FirebaseCore', :path => '../' pod 'FirebaseCoreDiagnostics', :path => '../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../' pod 'FirebaseCrashlytics', :path => '../' - pod 'FirebaseAnalyticsInterop', :path => '../' pod 'FirebaseAuth', :path => '../' - pod 'FirebaseAuthInterop', :path => '../' pod 'FirebaseDatabase', :path => '../' pod 'FirebaseDynamicLinks', :path => '../' pod 'FirebaseFirestore', :path => '../' diff --git a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_staticLibs/Podfile b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_staticLibs/Podfile index 41a7f478a5..6ca30d2bca 100644 --- a/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_staticLibs/Podfile +++ b/CocoapodsIntegrationTest/TestEnvironments/Cocoapods1_7_0_staticLibs/Podfile @@ -5,11 +5,8 @@ target 'CocoapodsIntegrationTest' do pod 'FirebaseABTesting', :path => '../' pod 'FirebaseCore', :path => '../' pod 'FirebaseCoreDiagnostics', :path => '../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../' pod 'FirebaseCrashlytics', :path => '../' - pod 'FirebaseAnalyticsInterop', :path => '../' pod 'FirebaseAuth', :path => '../' - pod 'FirebaseAuthInterop', :path => '../' pod 'FirebaseDatabase', :path => '../' pod 'FirebaseDynamicLinks', :path => '../' pod 'FirebaseFirestore', :path => '../' diff --git a/CoreOnly/Tests/FirebasePodTest/Podfile b/CoreOnly/Tests/FirebasePodTest/Podfile index 45e8ea51b5..735c79eb4b 100644 --- a/CoreOnly/Tests/FirebasePodTest/Podfile +++ b/CoreOnly/Tests/FirebasePodTest/Podfile @@ -10,12 +10,9 @@ target 'FirebasePodTest' do pod 'Firebase', :path => '../../../' pod 'FirebaseABTesting', :path => '../../../' - pod 'FirebaseAnalyticsInterop', :path => '../../../' pod 'FirebaseAuth', :path => '../../../' - pod 'FirebaseAuthInterop', :path => '../../../' pod 'FirebaseCore', :path => '../../../' pod 'FirebaseCoreDiagnostics', :path => '../../../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../../../' pod 'FirebaseCrashlytics', :path => '../../../' pod 'FirebaseDatabase', :path => '../../../' pod 'FirebaseDynamicLinks', :path => '../../../' @@ -30,7 +27,6 @@ target 'FirebasePodTest' do # Get dependent pods from the repo also pod 'FirebaseCoreDiagnostics', :path => '../../../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../../../' pod 'GoogleDataTransport', :path => '../../../' pod 'GoogleDataTransportCCTSupport', :path => '../../../' pod 'GoogleUtilities', :path => '../../../' diff --git a/Crashlytics/Crashlytics/Controllers/FIRCLSReportManager.m b/Crashlytics/Crashlytics/Controllers/FIRCLSReportManager.m index 40a42e4a2f..cf04b3f1fe 100644 --- a/Crashlytics/Crashlytics/Controllers/FIRCLSReportManager.m +++ b/Crashlytics/Crashlytics/Controllers/FIRCLSReportManager.m @@ -64,8 +64,9 @@ #import "FIRCLSReportManager_Private.h" -#include -#include +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" +#import "Interop/Analytics/Public/FIRAnalyticsInteropListener.h" + #include "FIRAEvent+Internal.h" #include "FIRCLSFCRAnalytics.h" diff --git a/Crashlytics/Crashlytics/Controllers/FIRCLSReportUploader.m b/Crashlytics/Crashlytics/Controllers/FIRCLSReportUploader.m index 2283d4e199..6b82635343 100644 --- a/Crashlytics/Crashlytics/Controllers/FIRCLSReportUploader.m +++ b/Crashlytics/Crashlytics/Controllers/FIRCLSReportUploader.m @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import "FIRCLSApplication.h" #import "FIRCLSDataCollectionArbiter.h" diff --git a/Crashlytics/Crashlytics/FIRCrashlytics.m b/Crashlytics/Crashlytics/FIRCrashlytics.m index ef5df27b75..16e7a2f448 100644 --- a/Crashlytics/Crashlytics/FIRCrashlytics.m +++ b/Crashlytics/Crashlytics/FIRCrashlytics.m @@ -41,9 +41,9 @@ #import "FIRCLSReportManager.h" -#import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import #import diff --git a/Crashlytics/Crashlytics/Helpers/FIRCLSFCRAnalytics.m b/Crashlytics/Crashlytics/Helpers/FIRCLSFCRAnalytics.m index 6e3ab77cb8..56dd33b982 100644 --- a/Crashlytics/Crashlytics/Helpers/FIRCLSFCRAnalytics.m +++ b/Crashlytics/Crashlytics/Helpers/FIRCLSFCRAnalytics.m @@ -17,7 +17,7 @@ #import "FIRCLSInternalLogging.h" #import "FIRCLSSettings.h" -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" // Origin for events and user properties generated by Crashlytics. static NSString *const kFIREventOriginCrash = @"clx"; diff --git a/Example/CoreDiagnostics/Tests/FIRCoreDiagnosticsTest.m b/Example/CoreDiagnostics/Tests/FIRCoreDiagnosticsTest.m index 3579cdd8da..741bb4c46c 100644 --- a/Example/CoreDiagnostics/Tests/FIRCoreDiagnosticsTest.m +++ b/Example/CoreDiagnostics/Tests/FIRCoreDiagnosticsTest.m @@ -19,8 +19,6 @@ #import #endif // TARGET_OS_IOS || TARGET_OS_TV -#import -#import #import #import #import @@ -31,6 +29,8 @@ #import #import #import +#import "Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsData.h" +#import "Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsInterop.h" #import "FIRCDLibrary/Protogen/nanopb/firebasecore.nanopb.h" diff --git a/Example/Database/Tests/Helpers/FTestHelpers.m b/Example/Database/Tests/Helpers/FTestHelpers.m index c8039ad646..9efd8b6268 100644 --- a/Example/Database/Tests/Helpers/FTestHelpers.m +++ b/Example/Database/Tests/Helpers/FTestHelpers.m @@ -16,8 +16,8 @@ #import "FTestHelpers.h" -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FConstants.h" #import "FIRAuthInteropFake.h" diff --git a/Example/Database/Tests/Integration/FIRAuthTests.m b/Example/Database/Tests/Integration/FIRAuthTests.m index 493b586b98..33c469762d 100644 --- a/Example/Database/Tests/Integration/FIRAuthTests.m +++ b/Example/Database/Tests/Integration/FIRAuthTests.m @@ -16,8 +16,8 @@ #import -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FIRAuthInteropFake.h" #import "FIRDatabaseConfig_Private.h" diff --git a/Example/Shared/FIRAuthInteropFake.h b/Example/Shared/FIRAuthInteropFake.h index eeb8ec39c4..523dc25de5 100644 --- a/Example/Shared/FIRAuthInteropFake.h +++ b/Example/Shared/FIRAuthInteropFake.h @@ -16,7 +16,7 @@ #import -#import +#import "Interop/Auth/Public/FIRAuthInterop.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Example/Shared/FIRAuthInteropFake.m b/Example/Shared/FIRAuthInteropFake.m index 4f33b15e91..6dea5d7a3e 100644 --- a/Example/Shared/FIRAuthInteropFake.m +++ b/Example/Shared/FIRAuthInteropFake.m @@ -16,7 +16,7 @@ #import "FIRAuthInteropFake.h" -#import +#import "Interop/Auth/Public/FIRAuthInterop.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Example/tvOSSample/Podfile b/Example/tvOSSample/Podfile index 30f1df3702..1f044bc825 100644 --- a/Example/tvOSSample/Podfile +++ b/Example/tvOSSample/Podfile @@ -7,9 +7,7 @@ target 'tvOSSample' do # Pods for tvOSSample pod 'FirebaseCore', :path => '../../' pod 'FirebaseCoreDiagnostics', :path => '../../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../../' pod 'FirebaseAuth', :path => '../../' - pod 'FirebaseAuthInterop', :path => '../../' pod 'FirebaseDatabase', :path => '../../' pod 'FirebaseStorage', :path => '../../' pod 'GoogleDataTransport', :path => '../../' diff --git a/Example/watchOSSample/Podfile b/Example/watchOSSample/Podfile index 8851a25628..1eac100647 100644 --- a/Example/watchOSSample/Podfile +++ b/Example/watchOSSample/Podfile @@ -3,14 +3,11 @@ use_frameworks! target 'SampleWatchAppWatchKitExtension' do platform :watchos, '6.0' - pod 'FirebaseAnalyticsInterop', :path => '../../../../../' - pod 'FirebaseAuthInterop', :path => '../../../../../' pod 'FirebaseCore', :path => '../../../../../' pod 'GoogleUtilities', :path => '../../../../../' pod 'FirebaseMessaging', :path => '../../../../../' pod 'FirebaseInstanceID', :path => '../../../../../' pod 'FirebaseCoreDiagnostics', :path => '../../../../../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../../../../../' pod 'GoogleDataTransport', :path => '../../../../../' pod 'GoogleDataTransportCCTSupport', :path => '../../../../../' pod 'FirebaseInstallations', :path => '../../../../../' diff --git a/Firebase/CoreDiagnostics/FIRCDLibrary/FIRCoreDiagnostics.m b/Firebase/CoreDiagnostics/FIRCDLibrary/FIRCoreDiagnostics.m index 87d57c4e8a..2db7db8398 100644 --- a/Firebase/CoreDiagnostics/FIRCDLibrary/FIRCoreDiagnostics.m +++ b/Firebase/CoreDiagnostics/FIRCDLibrary/FIRCoreDiagnostics.m @@ -26,8 +26,8 @@ #import #import -#import -#import +#import "Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsData.h" +#import "Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsInterop.h" #import #import diff --git a/Firebase/Database/Api/FIRDatabase.m b/Firebase/Database/Api/FIRDatabase.m index 71303b7256..01561e9ce6 100644 --- a/Firebase/Database/Api/FIRDatabase.m +++ b/Firebase/Database/Api/FIRDatabase.m @@ -17,7 +17,7 @@ #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" -#import +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FIRDatabase.h" #import "FIRDatabaseComponent.h" diff --git a/Firebase/Database/Api/FIRDatabaseComponent.m b/Firebase/Database/Api/FIRDatabaseComponent.m index 5706fc3a0d..59f89d54f8 100644 --- a/Firebase/Database/Api/FIRDatabaseComponent.m +++ b/Firebase/Database/Api/FIRDatabaseComponent.m @@ -21,7 +21,7 @@ #import "FRepoManager.h" #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" -#import +#import "Interop/Auth/Public/FIRAuthInterop.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firebase/Database/Login/FAuthTokenProvider.m b/Firebase/Database/Login/FAuthTokenProvider.m index 381b2b04b9..61bfb0338a 100644 --- a/Firebase/Database/Login/FAuthTokenProvider.m +++ b/Firebase/Database/Login/FAuthTokenProvider.m @@ -17,7 +17,7 @@ #import "FAuthTokenProvider.h" #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" -#import +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FIRDatabaseQuery_Private.h" #import "FIRNoopAuthTokenProvider.h" diff --git a/FirebaseABTesting.podspec b/FirebaseABTesting.podspec index 33db4bc262..903aa2f618 100644 --- a/FirebaseABTesting.podspec +++ b/FirebaseABTesting.podspec @@ -29,7 +29,11 @@ Firebase Cloud Messaging and Firebase Remote Config in your app. s.prefix_header_file = false base_dir = "FirebaseABTesting/Sources/" - s.source_files = base_dir + '**/*.[mh]' + s.source_files = [ + base_dir + '**/*.[mh]', + 'Interop/Analytics/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.requires_arc = base_dir + '*.m' s.public_header_files = base_dir + 'Public/*.h', base_dir + 'Protos/developers/mobile/abt/proto/*.h' s.private_header_files = base_dir + 'Protos/developers/mobile/abt/proto/*.h' @@ -40,7 +44,6 @@ Firebase Cloud Messaging and Firebase Remote Config in your app. 'FIRABTesting_VERSION=' + String(s.version), 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } - s.dependency 'FirebaseAnalyticsInterop', '~> 1.3' s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'Protobuf', '~> 3.9', '>= 3.9.2' diff --git a/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.h b/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.h index 7ff4b35df2..f022ff0607 100644 --- a/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.h +++ b/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.h @@ -16,7 +16,7 @@ #import "FirebaseABTesting/Sources/Protos/developers/mobile/abt/proto/ExperimentPayload.pbobjc.h" -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" NS_ASSUME_NONNULL_BEGIN diff --git a/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.m b/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.m index 6294df7219..abd2ee1787 100644 --- a/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.m +++ b/FirebaseABTesting/Sources/ABTConditionalUserPropertyController.m @@ -15,9 +15,9 @@ #import "FirebaseABTesting/Sources/ABTConditionalUserPropertyController.h" #import -#import #import "FirebaseABTesting/Sources/ABTConstants.h" #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" @implementation ABTConditionalUserPropertyController { dispatch_queue_t _analyticOperationQueue; diff --git a/FirebaseABTesting/Sources/FIRExperimentController.m b/FirebaseABTesting/Sources/FIRExperimentController.m index 58101dfd04..176b343b86 100644 --- a/FirebaseABTesting/Sources/FIRExperimentController.m +++ b/FirebaseABTesting/Sources/FIRExperimentController.m @@ -19,7 +19,7 @@ #import "FirebaseABTesting/Sources/ABTConstants.h" #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #ifndef FIRABTesting_VERSION #error "FIRABTesting_VERSION is not defined: \ diff --git a/FirebaseABTesting/Tests/Unit/ABTFakeFIRAConditionalUserPropertyController.h b/FirebaseABTesting/Tests/Unit/ABTFakeFIRAConditionalUserPropertyController.h index d87e1e2f28..4924472c1d 100644 --- a/FirebaseABTesting/Tests/Unit/ABTFakeFIRAConditionalUserPropertyController.h +++ b/FirebaseABTesting/Tests/Unit/ABTFakeFIRAConditionalUserPropertyController.h @@ -15,7 +15,7 @@ #import #ifdef COCOAPODS -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #else #import "third_party/firebase/ios/Releases/FirebaseInterop/Analytics/Public/FIRAnalyticsInterop.h" #endif diff --git a/FirebaseABTesting/Tests/Unit/FIRExperimentControllerTest.m b/FirebaseABTesting/Tests/Unit/FIRExperimentControllerTest.m index aaed3ec8ea..4155ca6a5a 100644 --- a/FirebaseABTesting/Tests/Unit/FIRExperimentControllerTest.m +++ b/FirebaseABTesting/Tests/Unit/FIRExperimentControllerTest.m @@ -16,13 +16,13 @@ #import #import -#import #import #import "FirebaseABTesting/Sources/ABTConditionalUserPropertyController.h" #import "FirebaseABTesting/Sources/ABTConstants.h" #import "FirebaseABTesting/Tests/Unit/ABTFakeFIRAConditionalUserPropertyController.h" #import "FirebaseABTesting/Tests/Unit/ABTTestUniversalConstants.h" #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" extern ABTExperimentPayload *ABTDeserializeExperimentPayload(NSData *payload); diff --git a/FirebaseAnalyticsInterop.podspec b/FirebaseAnalyticsInterop.podspec deleted file mode 100644 index ac2527aa8f..0000000000 --- a/FirebaseAnalyticsInterop.podspec +++ /dev/null @@ -1,31 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseAnalyticsInterop' - s.version = '1.5.0' - s.summary = 'Interfaces that allow other Firebase SDKs to use Analytics functionality.' - - s.description = <<-DESC - Not for public use. - - A set of protocols that other Firebase SDKs can use to interoperate with FirebaseAnalytics in a - safe and reliable manner. - DESC - - s.homepage = 'https://firebase.google.com' - s.license = { :type => 'Apache', :file => 'LICENSE' } - s.authors = 'Google, Inc.' - - # NOTE that these should not be used externally, this is for Firebase pods to depend on each - # other. - s.source = { - :git => 'https://github.com/firebase/firebase-ios-sdk.git', - :tag => 'AnalyticsInterop-' + s.version.to_s - } - s.social_media_url = 'https://twitter.com/Firebase' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.11' - s.tvos.deployment_target = '10.0' - s.watchos.deployment_target = '6.0' - - s.source_files = 'Interop/Analytics/**/*.h' - s.public_header_files = 'Interop/Analytics/Public/*.h' -end diff --git a/FirebaseAppDistribution.podspec b/FirebaseAppDistribution.podspec index 42abf5721f..4f0f268920 100644 --- a/FirebaseAppDistribution.podspec +++ b/FirebaseAppDistribution.podspec @@ -22,10 +22,12 @@ iOS SDK for App Distribution for Firebase. s.prefix_header_file = false base_dir = "FirebaseAppDistribution/Sources/" - s.source_files = base_dir + '**/*.{c,h,m,mm}' + s.source_files = [ + base_dir + '**/*.{c,h,m,mm}', + 'FirebaseCore/Sources/Private/*.h', + ] s.public_header_files = base_dir + 'Public/*.h' s.private_header_files = base_dir + 'Private/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'AppAuth', '~> 1.2.0' diff --git a/FirebaseAuth.podspec b/FirebaseAuth.podspec index d859ce3471..3be70c3cde 100644 --- a/FirebaseAuth.podspec +++ b/FirebaseAuth.podspec @@ -26,10 +26,13 @@ supports email and password accounts, as well as several 3rd party authenticatio s.prefix_header_file = false source = 'FirebaseAuth/Sources/' - s.source_files = source + '**/*.[mh]' + s.source_files = [ + source + '**/*.[mh]', + 'FirebaseCore/Sources/Private/*.h', + 'Interop/Auth/Public/*.h', + ] s.public_header_files = source + 'Public/*.h' s.preserve_paths = [ - 'FirebaseCore/Sources/Private/*.h', 'FirebaseAuth/README.md', 'FirebaseAuth/CHANGELOG.md' ] @@ -42,7 +45,6 @@ supports email and password accounts, as well as several 3rd party authenticatio } s.framework = 'Security' s.ios.framework = 'SafariServices' - s.dependency 'FirebaseAuthInterop', '~> 1.0' s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 6.5' s.dependency 'GoogleUtilities/Environment', '~> 6.5' diff --git a/FirebaseAuth/Sources/Auth/FIRAuth_Internal.h b/FirebaseAuth/Sources/Auth/FIRAuth_Internal.h index f416a87a6a..0a75ccfd41 100644 --- a/FirebaseAuth/Sources/Auth/FIRAuth_Internal.h +++ b/FirebaseAuth/Sources/Auth/FIRAuth_Internal.h @@ -15,8 +15,8 @@ */ #import -#import #import +#import "Interop/Auth/Public/FIRAuthInterop.h" @class FIRAuthRequestConfiguration; @class FIRAuthURLPresenter; diff --git a/FirebaseAuth/Tests/Sample/Podfile b/FirebaseAuth/Tests/Sample/Podfile index fba14e60d3..29f6db6ed5 100644 --- a/FirebaseAuth/Tests/Sample/Podfile +++ b/FirebaseAuth/Tests/Sample/Podfile @@ -11,7 +11,6 @@ target 'AuthSample' do platform :ios, '8.0' pod 'FirebaseCore', :path => '../../../' pod 'FirebaseCoreDiagnostics', :path => '../../../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../../../' pod 'GoogleDataTransport', :path => '../../../' pod 'GoogleDataTransportCCTSupport', :path => '../../../' pod 'GoogleUtilities', :path => '../../../' diff --git a/FirebaseAuth/Tests/Unit/FIRAuthLifeCycleTests.m b/FirebaseAuth/Tests/Unit/FIRAuthLifeCycleTests.m index 5f7fed6937..700209463a 100644 --- a/FirebaseAuth/Tests/Unit/FIRAuthLifeCycleTests.m +++ b/FirebaseAuth/Tests/Unit/FIRAuthLifeCycleTests.m @@ -14,9 +14,9 @@ * limitations under the License. */ -#import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FirebaseAuth/Sources/Auth/FIRAuth_Internal.h" #import "FirebaseAuth/Sources/Backend/FIRAuthRequestConfiguration.h" diff --git a/FirebaseAuth/Tests/Unit/FIRAuthTests.m b/FirebaseAuth/Tests/Unit/FIRAuthTests.m index 20545e82ee..968adbaf4f 100644 --- a/FirebaseAuth/Tests/Unit/FIRAuthTests.m +++ b/FirebaseAuth/Tests/Unit/FIRAuthTests.m @@ -20,12 +20,12 @@ #import #import #import -#import #import #import #import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FirebaseAuth/Sources/Auth/FIRAuthDispatcher.h" #import "FirebaseAuth/Sources/Auth/FIRAuthGlobalWorkQueue.h" diff --git a/FirebaseAuthInterop.podspec b/FirebaseAuthInterop.podspec deleted file mode 100644 index 548b6e3db9..0000000000 --- a/FirebaseAuthInterop.podspec +++ /dev/null @@ -1,31 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseAuthInterop' - s.version = '1.1.0' - s.summary = 'Interfaces that allow other Firebase SDKs to use Auth functionality.' - - s.description = <<-DESC - Not for public use. - - A set of protocols that other Firebase SDKs can use to interoperate with FirebaseAuth in a safe - and reliable manner. - DESC - - s.homepage = 'https://firebase.google.com' - s.license = { :type => 'Apache', :file => 'LICENSE' } - s.authors = 'Google, Inc.' - - # NOTE that these should not be used externally, this is for Firebase pods to depend on each - # other. - s.source = { - :git => 'https://github.com/firebase/firebase-ios-sdk.git', - :tag => 'AuthInterop-' + s.version.to_s - } - s.social_media_url = 'https://twitter.com/Firebase' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.11' - s.tvos.deployment_target = '10.0' - s.watchos.deployment_target = '6.0' - - s.source_files = 'Interop/Auth/**/*.h' - s.public_header_files = 'Interop/Auth/Public/*.h' -end diff --git a/FirebaseCore.podspec b/FirebaseCore.podspec index 78c309d6c1..ed181141fe 100644 --- a/FirebaseCore.podspec +++ b/FirebaseCore.podspec @@ -25,16 +25,19 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration s.static_framework = true s.prefix_header_file = false - s.source_files = 'FirebaseCore/Sources/**/*.[mh]' + s.source_files = [ + 'FirebaseCore/Sources/**/*.[mh]', + 'Interop/CoreDiagnostics/Public/*.h', + ] s.public_header_files = 'FirebaseCore/Sources/Public/*.h', 'FirebaseCore/Sources/Private/*.h' s.private_header_files = 'FirebaseCore/Sources/Private/*.h' + s.framework = 'Foundation' s.ios.framework = 'UIKit' s.osx.framework = 'AppKit' s.tvos.framework = 'UIKit' s.dependency 'GoogleUtilities/Environment', '~> 6.5' s.dependency 'GoogleUtilities/Logger', '~> 6.5' - s.dependency 'FirebaseCoreDiagnosticsInterop', '~> 1.2' s.dependency 'FirebaseCoreDiagnostics', '~> 1.3' s.pod_target_xcconfig = { diff --git a/FirebaseCore/Sources/FIRCoreDiagnosticsConnector.m b/FirebaseCore/Sources/FIRCoreDiagnosticsConnector.m index dbe292fd8b..730dd6ef9e 100644 --- a/FirebaseCore/Sources/FIRCoreDiagnosticsConnector.m +++ b/FirebaseCore/Sources/FIRCoreDiagnosticsConnector.m @@ -16,7 +16,7 @@ #import "FirebaseCore/Sources/Private/FIRCoreDiagnosticsConnector.h" -#import +#import "Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsInterop.h" #import "FirebaseCore/Sources/Public/FIROptions.h" diff --git a/FirebaseCore/Sources/FIRDiagnosticsData.h b/FirebaseCore/Sources/FIRDiagnosticsData.h index ac5ef2c4f9..5b5ff8ad94 100644 --- a/FirebaseCore/Sources/FIRDiagnosticsData.h +++ b/FirebaseCore/Sources/FIRDiagnosticsData.h @@ -16,7 +16,7 @@ #import -#import +#import "Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsData.h" NS_ASSUME_NONNULL_BEGIN diff --git a/FirebaseCore/Sources/Private/FIRAppInternal.h b/FirebaseCore/Sources/Private/FIRAppInternal.h index 677b6dc293..9a0c943dbb 100644 --- a/FirebaseCore/Sources/Private/FIRAppInternal.h +++ b/FirebaseCore/Sources/Private/FIRAppInternal.h @@ -14,10 +14,11 @@ * limitations under the License. */ -#if __cplusplus -#import -#else +#if SWIFT_PACKAGE +// TODO(paulb777): Investigate if there's a common strategy for both Cocoapods and Swift PM. #import "FIRApp.h" +#else +#import #endif // The has_include is a workaround so the old IID needed for the FIS tests can find FIRErrors.h diff --git a/FirebaseCore/Sources/Private/FIRLogger.h b/FirebaseCore/Sources/Private/FIRLogger.h index d1d4edf7d1..6fd778441d 100644 --- a/FirebaseCore/Sources/Private/FIRLogger.h +++ b/FirebaseCore/Sources/Private/FIRLogger.h @@ -16,10 +16,11 @@ #import -#if __cplusplus -#import -#else +#if SWIFT_PACKAGE +// TODO(paulb777): Investigate if there's a common strategy for both Cocoapods and Swift PM. #import "FIRLoggerLevel.h" +#else +#import #endif NS_ASSUME_NONNULL_BEGIN diff --git a/FirebaseCore/Sources/Private/FIROptionsInternal.h b/FirebaseCore/Sources/Private/FIROptionsInternal.h index 15c959a178..acaf458687 100644 --- a/FirebaseCore/Sources/Private/FIROptionsInternal.h +++ b/FirebaseCore/Sources/Private/FIROptionsInternal.h @@ -14,10 +14,11 @@ * limitations under the License. */ -#if __cplusplus -#import -#else +#if SWIFT_PACKAGE +// TODO(paulb777): Investigate if there's a common strategy for both Cocoapods and Swift PM. #import "FIROptions.h" +#else +#import #endif /** diff --git a/FirebaseCore/Sources/Private/FirebaseCoreInternal.h b/FirebaseCore/Sources/Private/FirebaseCoreInternal.h index 6e56383ec5..93af6cb8d5 100644 --- a/FirebaseCore/Sources/Private/FirebaseCoreInternal.h +++ b/FirebaseCore/Sources/Private/FirebaseCoreInternal.h @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +// An umbrella header, for any other libraries in this repo to access Firebase Public and Private +// headers. Any package manager complexity should be handled here. + #if SWIFT_PACKAGE @import FirebaseCore; #else diff --git a/FirebaseCoreDiagnostics.podspec b/FirebaseCoreDiagnostics.podspec index 94672149e5..19ffcdd13f 100644 --- a/FirebaseCoreDiagnostics.podspec +++ b/FirebaseCoreDiagnostics.podspec @@ -28,7 +28,8 @@ non-Cocoapod integration. This library also respects the Firebase global data co s.prefix_header_file = false header_search_paths = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}/Firebase/CoreDiagnostics/"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}" ' + + '"${PODS_TARGET_SRCROOT}/Firebase/CoreDiagnostics/"' } s.pod_target_xcconfig = { @@ -42,10 +43,13 @@ non-Cocoapod integration. This library also respects the Firebase global data co 'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1', }.merge(header_search_paths) - s.source_files = 'Firebase/CoreDiagnostics/FIRCDLibrary/**/*.[cmh]' + s.source_files = [ + 'Firebase/CoreDiagnostics/FIRCDLibrary/**/*.[cmh]', + 'Interop/CoreDiagnostics/Public/*.h', + ] + s.framework = 'Foundation' - s.dependency 'FirebaseCoreDiagnosticsInterop', '~> 1.2' s.dependency 'GoogleDataTransportCCTSupport', '~> 3.1' s.dependency 'GoogleUtilities/Environment', '~> 6.5' s.dependency 'GoogleUtilities/Logger', '~> 6.5' diff --git a/FirebaseCoreDiagnosticsInterop.podspec b/FirebaseCoreDiagnosticsInterop.podspec deleted file mode 100644 index e22ee41276..0000000000 --- a/FirebaseCoreDiagnosticsInterop.podspec +++ /dev/null @@ -1,30 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseCoreDiagnosticsInterop' - s.version = '1.2.0' - s.summary = 'Interfaces that allow other Firebase SDKs to use CoreDiagnostics functionality.' - - s.description = <<-DESC - Not for public use. - - A set of protocols that other Firebase SDKs can use to interoperate with FirebaseCoreDiagnostics - in a safe manner. - DESC - - s.homepage = 'https://firebase.google.com' - s.license = { :type => 'Apache', :file => 'LICENSE' } - s.authors = 'Google, Inc.' - - # NOTE that these should not be used externally, this is for Firebase pods to depend on each - # other. - s.source = { - :git => 'https://github.com/firebase/firebase-ios-sdk.git', - :tag => 'CoreDiagnosticsInterop-' + s.version.to_s - } - s.social_media_url = 'https://twitter.com/Firebase' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.11' - s.tvos.deployment_target = '10.0' - s.watchos.deployment_target = '6.0' - s.source_files = 'Interop/CoreDiagnostics/**/*.h' - s.public_header_files = 'Interop/CoreDiagnostics/Public/*.h' -end diff --git a/FirebaseCrashlytics.podspec b/FirebaseCrashlytics.podspec index ac1a6c126e..33e1ac572e 100644 --- a/FirebaseCrashlytics.podspec +++ b/FirebaseCrashlytics.podspec @@ -19,17 +19,20 @@ Pod::Spec.new do |s| s.static_framework = true s.prefix_header_file = false - s.source_files = 'Crashlytics/Crashlytics/**/*.{c,h,m,mm}', + s.source_files = [ + 'Crashlytics/Crashlytics/**/*.{c,h,m,mm}', 'Crashlytics/Protogen/**/*.{c,h,m,mm}', 'Crashlytics/Shared/**/*.{c,h,m,mm}', - 'Crashlytics/third_party/**/*.{c,h,m,mm}' + 'Crashlytics/third_party/**/*.{c,h,m,mm}', + 'FirebaseCore/Sources/Private/*.h', + 'Interop/Analytics/Public/*.h', + ] s.public_header_files = [ 'Crashlytics/Crashlytics/Public/*.h' ] s.preserve_paths = [ - 'FirebaseCore/Sources/Private/*.h', 'Crashlytics/README.md', 'run', 'upload-symbols', @@ -44,7 +47,6 @@ Pod::Spec.new do |s| s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'FirebaseInstallations', '~> 1.1' - s.dependency 'FirebaseAnalyticsInterop', '~> 1.2' s.dependency 'PromisesObjC', '~> 1.2' s.dependency 'GoogleDataTransport', '~> 6.1' s.dependency 'GoogleDataTransportCCTSupport', '~> 3.1' diff --git a/FirebaseDatabase.podspec b/FirebaseDatabase.podspec index 6067c4d1a1..e1ae946bfd 100644 --- a/FirebaseDatabase.podspec +++ b/FirebaseDatabase.podspec @@ -25,15 +25,17 @@ Simplify your iOS development, grow your user base, and monetize more effectivel s.prefix_header_file = false base_dir = "Firebase/Database/" - s.source_files = base_dir + '**/*.[mh]', + s.source_files = [ + base_dir + '**/*.[mh]', base_dir + 'third_party/Wrap-leveldb/APLevelDB.mm', - base_dir + 'third_party/SocketRocket/fbase64.c' + base_dir + 'third_party/SocketRocket/fbase64.c', + 'Interop/Auth/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.public_header_files = base_dir + 'Public/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.libraries = ['c++', 'icucore'] s.frameworks = 'CFNetwork', 'Security', 'SystemConfiguration' s.dependency 'leveldb-library', '~> 1.22' - s.dependency 'FirebaseAuthInterop', '~> 1.0' s.dependency 'FirebaseCore', '~> 6.8' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', diff --git a/FirebaseDynamicLinks.podspec b/FirebaseDynamicLinks.podspec index 1ca3079e42..0f764a05e3 100644 --- a/FirebaseDynamicLinks.podspec +++ b/FirebaseDynamicLinks.podspec @@ -22,13 +22,15 @@ Firebase Dynamic Links are deep links that enhance user experience and increase s.static_framework = true s.prefix_header_file = false - s.source_files = 'FirebaseDynamicLinks/Sources/**/*.[mh]' + s.source_files = [ + 'FirebaseDynamicLinks/Sources/**/*.[mh]', + 'Interop/Analytics/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.public_header_files = 'FirebaseDynamicLinks/Sources/Public/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.frameworks = 'QuartzCore' s.weak_framework = 'WebKit' s.dependency 'FirebaseCore', '~> 6.8' - s.dependency 'FirebaseAnalyticsInterop', '~> 1.3' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', diff --git a/FirebaseDynamicLinks/Sources/FIRDLScionLogging.h b/FirebaseDynamicLinks/Sources/FIRDLScionLogging.h index db86e77229..1ed65a21f7 100644 --- a/FirebaseDynamicLinks/Sources/FIRDLScionLogging.h +++ b/FirebaseDynamicLinks/Sources/FIRDLScionLogging.h @@ -16,7 +16,7 @@ #import -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" /** * @enum FIRDLLogEvent diff --git a/FirebaseDynamicLinks/Sources/FIRDLScionLogging.m b/FirebaseDynamicLinks/Sources/FIRDLScionLogging.m index 176158f720..3e630542c4 100644 --- a/FirebaseDynamicLinks/Sources/FIRDLScionLogging.m +++ b/FirebaseDynamicLinks/Sources/FIRDLScionLogging.m @@ -16,7 +16,7 @@ #import "FirebaseDynamicLinks/Sources/FIRDLScionLogging.h" -#import +#import "Interop/Analytics/Public/FIRInteropParameterNames.h" static NSString *const kFIRDLLogEventFirstOpenCampaign = @"dynamic_link_first_open"; static NSString *const kFIRDLLogEventAppOpenCampaign = @"dynamic_link_app_open"; diff --git a/FirebaseDynamicLinks/Sources/FIRDynamicLinks.m b/FirebaseDynamicLinks/Sources/FIRDynamicLinks.m index 92c61aaed3..d6676a1421 100644 --- a/FirebaseDynamicLinks/Sources/FIRDynamicLinks.m +++ b/FirebaseDynamicLinks/Sources/FIRDynamicLinks.m @@ -19,9 +19,9 @@ #import #ifdef FIRDynamicLinks3P -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" #import "FirebaseDynamicLinks/Sources/FIRDLScionLogging.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #endif #ifdef FIRDynamicLinks3P diff --git a/FirebaseDynamicLinks/Tests/Unit/FIRDynamicLinksTest.m b/FirebaseDynamicLinks/Tests/Unit/FIRDynamicLinksTest.m index 497e757eb4..75d8fe4b0a 100644 --- a/FirebaseDynamicLinks/Tests/Unit/FIRDynamicLinksTest.m +++ b/FirebaseDynamicLinks/Tests/Unit/FIRDynamicLinksTest.m @@ -16,7 +16,6 @@ #import -#import #import #import #import @@ -29,6 +28,7 @@ #import "FirebaseDynamicLinks/Sources/FIRDynamicLinks+FirstParty.h" #import "FirebaseDynamicLinks/Sources/FIRDynamicLinks+Private.h" #import "FirebaseDynamicLinks/Sources/Utilities/FDLUtilities.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" static NSString *const kAPIKey = @"myAPIKey"; static NSString *const kClientID = @"myClientID.apps.googleusercontent.com"; diff --git a/FirebaseFirestore.podspec b/FirebaseFirestore.podspec index 3eac8edcc6..8b89315840 100644 --- a/FirebaseFirestore.podspec +++ b/FirebaseFirestore.podspec @@ -25,15 +25,16 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling, s.prefix_header_file = false s.source_files = [ + 'FirebaseCore/Sources/Private/*.h', 'Firestore/Source/Public/*.h', 'Firestore/Source/**/*.{m,mm}', 'Firestore/Protos/nanopb/**/*.cc', 'Firestore/Protos/objc/**/*.m', 'Firestore/core/include/**/*.{cc,mm}', 'Firestore/core/src/**/*.{cc,mm}', + 'Interop/Auth/Public/*.h', ] s.preserve_paths = [ - 'FirebaseCore/Sources/Private/*.h', 'Firestore/Source/API/*.h', 'Firestore/Source/Core/*.h', 'Firestore/Source/Local/*.h', @@ -59,7 +60,6 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling, ] s.public_header_files = 'Firestore/Source/Public/*.h' - s.dependency 'FirebaseAuthInterop', '~> 1.0' s.dependency 'FirebaseCore', '~> 6.8' abseil_version = '0.20200225.0' diff --git a/FirebaseFunctions.podspec b/FirebaseFunctions.podspec index 6dd3264abb..a23146ebe3 100644 --- a/FirebaseFunctions.podspec +++ b/FirebaseFunctions.podspec @@ -23,11 +23,13 @@ Cloud Functions for Firebase. s.static_framework = true s.prefix_header_file = false - s.source_files = 'Functions/FirebaseFunctions/**/*' + s.source_files = [ + 'Functions/FirebaseFunctions/**/*', + 'Interop/Auth/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.public_header_files = 'Functions/FirebaseFunctions/Public/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' - s.dependency 'FirebaseAuthInterop', '~> 1.0' s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'GTMSessionFetcher/Core', '~> 1.1' diff --git a/FirebaseInAppMessaging.podspec b/FirebaseInAppMessaging.podspec index 0a38a17bbb..8e58ccb55b 100644 --- a/FirebaseInAppMessaging.podspec +++ b/FirebaseInAppMessaging.podspec @@ -24,10 +24,13 @@ See more product details at https://firebase.google.com/products/in-app-messagin s.prefix_header_file = false base_dir = "FirebaseInAppMessaging/" - s.source_files = base_dir + "Sources/**/*.[cmh]" + s.source_files = [ + base_dir + "Sources/**/*.[cmh]", + 'Interop/Analytics/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.public_header_files = base_dir + 'Sources/Public/*.h' s.private_header_files = base_dir + 'Sources/Private/**/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.resource_bundles = { 'InAppMessagingDisplayResources' => [ base_dir + 'Resources/*.xib', @@ -45,7 +48,6 @@ See more product details at https://firebase.google.com/products/in-app-messagin } s.dependency 'FirebaseCore', '~> 6.8' - s.ios.dependency 'FirebaseAnalyticsInterop', '~> 1.3' s.dependency 'FirebaseInstallations', '~> 1.1' s.dependency 'GoogleDataTransportCCTSupport', '~> 3.1' s.dependency 'FirebaseABTesting', '~> 3.2' diff --git a/FirebaseInAppMessaging/Sources/Analytics/FIRIAMAnalyticsEventLoggerImpl.m b/FirebaseInAppMessaging/Sources/Analytics/FIRIAMAnalyticsEventLoggerImpl.m index 3d823efee4..591351580b 100644 --- a/FirebaseInAppMessaging/Sources/Analytics/FIRIAMAnalyticsEventLoggerImpl.m +++ b/FirebaseInAppMessaging/Sources/Analytics/FIRIAMAnalyticsEventLoggerImpl.m @@ -16,10 +16,10 @@ #import "FIRIAMAnalyticsEventLoggerImpl.h" -#import #import "FIRCore+InAppMessaging.h" #import "FIRIAMClearcutLogger.h" #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" typedef void (^FIRAUserPropertiesCallback)(NSDictionary *userProperties); diff --git a/FirebaseInAppMessaging/Sources/FIRInAppMessaging.m b/FirebaseInAppMessaging/Sources/FIRInAppMessaging.m index 44d2d38b38..0c43c0f94f 100644 --- a/FirebaseInAppMessaging/Sources/FIRInAppMessaging.m +++ b/FirebaseInAppMessaging/Sources/FIRInAppMessaging.m @@ -18,9 +18,9 @@ #import -#import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import "FIRCore+InAppMessaging.h" #import "FIRIAMDisplayExecutor.h" diff --git a/FirebaseInAppMessaging/Sources/Flows/FIRIAMDisplayCheckOnAnalyticEventsFlow.m b/FirebaseInAppMessaging/Sources/Flows/FIRIAMDisplayCheckOnAnalyticEventsFlow.m index 850dc51cab..089a5bfe77 100644 --- a/FirebaseInAppMessaging/Sources/Flows/FIRIAMDisplayCheckOnAnalyticEventsFlow.m +++ b/FirebaseInAppMessaging/Sources/Flows/FIRIAMDisplayCheckOnAnalyticEventsFlow.m @@ -14,9 +14,9 @@ * limitations under the License. */ -#import -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" +#import "Interop/Analytics/Public/FIRAnalyticsInteropListener.h" #import "FIRCore+InAppMessaging.h" #import "FIRIAMDisplayCheckOnAnalyticEventsFlow.h" diff --git a/FirebaseInAppMessaging/Sources/Runtime/FIRInAppMessaging+Bootstrap.m b/FirebaseInAppMessaging/Sources/Runtime/FIRInAppMessaging+Bootstrap.m index 796f68b299..8373546f51 100644 --- a/FirebaseInAppMessaging/Sources/Runtime/FIRInAppMessaging+Bootstrap.m +++ b/FirebaseInAppMessaging/Sources/Runtime/FIRInAppMessaging+Bootstrap.m @@ -16,9 +16,9 @@ #import "FIRInAppMessaging+Bootstrap.h" -#import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import "FIRCore+InAppMessaging.h" #import "FIRIAMClearcutUploader.h" diff --git a/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/Podfile b/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/Podfile index c46a24e6bb..f5f131270e 100644 --- a/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/Podfile +++ b/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/Podfile @@ -6,7 +6,6 @@ use_frameworks! pod 'FirebaseCore', :path => '../../../..' pod 'FirebaseInstallations', :path => '../../../..' pod 'FirebaseCoreDiagnostics', :path => '../../../..' -pod 'FirebaseCoreDiagnosticsInterop', :path => '../../../..' pod 'GoogleDataTransport', :path => '../../../..' pod 'GoogleDataTransportCCTSupport', :path => '../../../..' pod 'GoogleUtilities', :path => '../../../..' @@ -15,6 +14,5 @@ pod 'FirebaseABTesting', :path => '../../../..' target 'FiamDisplaySwiftExample' do platform :ios, '9.0' pod 'FirebaseInAppMessaging', :path => '../../../..' - pod 'FirebaseAnalyticsInterop', :path => '../../../..' end diff --git a/FirebaseInAppMessaging/Tests/Integration/FunctionalTestApp/Podfile b/FirebaseInAppMessaging/Tests/Integration/FunctionalTestApp/Podfile index ebdd0b1e7e..c1f3d3a02e 100644 --- a/FirebaseInAppMessaging/Tests/Integration/FunctionalTestApp/Podfile +++ b/FirebaseInAppMessaging/Tests/Integration/FunctionalTestApp/Podfile @@ -7,7 +7,6 @@ pod 'FirebaseAnalytics' pod 'FirebaseCore', :path => '../../../..' pod 'FirebaseInstallations', :path => '../../../..' pod 'FirebaseCoreDiagnostics', :path => '../../../..' -pod 'FirebaseCoreDiagnosticsInterop', :path => '../../../..' pod 'GoogleDataTransport', :path => '../../../..' pod 'GoogleDataTransportCCTSupport', :path => '../../../..' pod 'GoogleUtilities', :path => '../../../..' @@ -17,7 +16,6 @@ target 'InAppMessaging_Example_iOS' do platform :ios, '9.0' pod 'FirebaseInAppMessaging', :path => '../../../..' - pod 'FirebaseAnalyticsInterop', :path => '../../../..' pod 'FirebaseDynamicLinks', :path => '../../../..' end diff --git a/FirebaseInAppMessaging/Tests/Unit/FIRIAMAnalyticsEventLoggerImplTests.m b/FirebaseInAppMessaging/Tests/Unit/FIRIAMAnalyticsEventLoggerImplTests.m index f8de3312a9..91561de559 100644 --- a/FirebaseInAppMessaging/Tests/Unit/FIRIAMAnalyticsEventLoggerImplTests.m +++ b/FirebaseInAppMessaging/Tests/Unit/FIRIAMAnalyticsEventLoggerImplTests.m @@ -20,9 +20,9 @@ #import "FIRIAMAnalyticsEventLoggerImpl.h" #import "FIRIAMClearcutLogger.h" -#import -#import -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" +#import "Interop/Analytics/Public/FIRInteropEventNames.h" +#import "Interop/Analytics/Public/FIRInteropParameterNames.h" @interface FIRIAMAnalyticsEventLoggerImplTests : XCTestCase @property(nonatomic) FIRIAMClearcutLogger *mockClearcutLogger; diff --git a/FirebaseInstallations.podspec b/FirebaseInstallations.podspec index 177536be99..fadcaf86ab 100644 --- a/FirebaseInstallations.podspec +++ b/FirebaseInstallations.podspec @@ -26,9 +26,11 @@ Pod::Spec.new do |s| s.prefix_header_file = false base_dir = "FirebaseInstallations/Source/" - s.source_files = base_dir + 'Library/**/*.[mh]' + s.source_files = [ + base_dir + 'Library/**/*.[mh]', + 'FirebaseCore/Sources/Private/*.h' + ] s.public_header_files = base_dir + 'Library/Public/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.framework = 'Security' s.dependency 'FirebaseCore', '~> 6.8' diff --git a/FirebaseInstanceID.podspec b/FirebaseInstanceID.podspec index 29b66dea9f..c97b1c62ea 100644 --- a/FirebaseInstanceID.podspec +++ b/FirebaseInstanceID.podspec @@ -28,11 +28,13 @@ services. s.prefix_header_file = false base_dir = "Firebase/InstanceID/" - s.source_files = base_dir + '**/*.[mh]' + s.source_files = [ + base_dir + '**/*.[mh]', + 'FirebaseCore/Sources/Private/*.h', + ] s.requires_arc = base_dir + '*.m' s.public_header_files = base_dir + 'Public/*.h', base_dir + 'Private/*.h' s.private_header_files = base_dir + 'Private/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'FIRInstanceID_LIB_VERSION=' + String(s.version), diff --git a/FirebaseMessaging.podspec b/FirebaseMessaging.podspec index 38b6d45539..684b528229 100644 --- a/FirebaseMessaging.podspec +++ b/FirebaseMessaging.podspec @@ -29,10 +29,13 @@ device, and it is completely free. s.prefix_header_file = false base_dir = "FirebaseMessaging/" - s.source_files = base_dir + 'Sources/**/*.[mh]' + s.source_files = [ + base_dir + 'Sources/**/*.[mh]', + 'Interop/Analytics/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.requires_arc = base_dir + 'Sources/*.m' s.public_header_files = base_dir + 'Sources/Public/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.library = 'sqlite3' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', @@ -46,7 +49,6 @@ device, and it is completely free. s.tvos.framework = 'SystemConfiguration' s.osx.framework = 'SystemConfiguration' s.weak_framework = 'UserNotifications' - s.dependency 'FirebaseAnalyticsInterop', '~> 1.5' s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'FirebaseInstanceID', '~> 4.3' s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 6.5' diff --git a/FirebaseMessaging/Apps/Sample/Podfile b/FirebaseMessaging/Apps/Sample/Podfile index 698107e9fe..450962b943 100644 --- a/FirebaseMessaging/Apps/Sample/Podfile +++ b/FirebaseMessaging/Apps/Sample/Podfile @@ -6,14 +6,11 @@ source 'https://cdn.cocoapods.org/' target 'Sample' do platform :ios, '13.0' - pod 'FirebaseAnalyticsInterop', :path => '../../../' - pod 'FirebaseAuthInterop', :path => '../../../' pod 'FirebaseCore', :path => '../../../' pod 'GoogleUtilities', :path => '../../../' pod 'FirebaseMessaging', :path => '../../../' pod 'FirebaseInstanceID', :path => '../../../' pod 'FirebaseCoreDiagnostics', :path => '../../../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../../../' pod 'GoogleDataTransport', :path => '../../../' pod 'GoogleDataTransportCCTSupport', :path => '../../../' pod 'FirebaseInstallations', :path => '../../../' diff --git a/FirebaseMessaging/Sources/FIRMessaging.m b/FirebaseMessaging/Sources/FIRMessaging.m index 5683377fd1..0b7e481c2b 100644 --- a/FirebaseMessaging/Sources/FIRMessaging.m +++ b/FirebaseMessaging/Sources/FIRMessaging.m @@ -18,7 +18,6 @@ #error FIRMessagingLib should be compiled with ARC. #endif -#import #import #import #import @@ -27,6 +26,7 @@ #import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import "FirebaseMessaging/Sources/FIRMessagingAnalytics.h" #import "FirebaseMessaging/Sources/FIRMessagingClient.h" diff --git a/FirebaseMessaging/Sources/FIRMessagingAnalytics.h b/FirebaseMessaging/Sources/FIRMessagingAnalytics.h index 13bfab5b99..92eeb05474 100644 --- a/FirebaseMessaging/Sources/FIRMessagingAnalytics.h +++ b/FirebaseMessaging/Sources/FIRMessagingAnalytics.h @@ -16,7 +16,7 @@ #import -#import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" NS_ASSUME_NONNULL_BEGIN diff --git a/FirebaseMessaging/Sources/FIRMessagingAnalytics.m b/FirebaseMessaging/Sources/FIRMessagingAnalytics.m index f83e9778c9..3ea513e3c2 100644 --- a/FirebaseMessaging/Sources/FIRMessagingAnalytics.m +++ b/FirebaseMessaging/Sources/FIRMessagingAnalytics.m @@ -16,10 +16,10 @@ #import "FirebaseMessaging/Sources/FIRMessagingAnalytics.h" -#import -#import #import #import +#import "Interop/Analytics/Public/FIRInteropEventNames.h" +#import "Interop/Analytics/Public/FIRInteropParameterNames.h" #import "FirebaseMessaging/Sources/FIRMessagingLogger.h" diff --git a/FirebaseMessaging/Tests/UnitTests/FIRMessagingAnalyticsTest.m b/FirebaseMessaging/Tests/UnitTests/FIRMessagingAnalyticsTest.m index 73ab6c19e9..2430d6d0fd 100644 --- a/FirebaseMessaging/Tests/UnitTests/FIRMessagingAnalyticsTest.m +++ b/FirebaseMessaging/Tests/UnitTests/FIRMessagingAnalyticsTest.m @@ -17,8 +17,8 @@ #import #import -#import -#import +#import "Interop/Analytics/Public/FIRInteropEventNames.h" +#import "Interop/Analytics/Public/FIRInteropParameterNames.h" #import "FirebaseMessaging/Sources/FIRMessagingAnalytics.h" diff --git a/FirebaseMessaging/Tests/UnitTests/FIRMessagingHandlingTest.m b/FirebaseMessaging/Tests/UnitTests/FIRMessagingHandlingTest.m index a02ca66f53..3ba405673f 100644 --- a/FirebaseMessaging/Tests/UnitTests/FIRMessagingHandlingTest.m +++ b/FirebaseMessaging/Tests/UnitTests/FIRMessagingHandlingTest.m @@ -18,11 +18,11 @@ #import -#import #import #import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import "FirebaseMessaging/Sources/FIRMessagingAnalytics.h" #import "FirebaseMessaging/Sources/FIRMessagingRmqManager.h" diff --git a/FirebaseMessaging/Tests/UnitTests/FIRMessagingTest.m b/FirebaseMessaging/Tests/UnitTests/FIRMessagingTest.m index b1bccf3a58..32a17b894c 100644 --- a/FirebaseMessaging/Tests/UnitTests/FIRMessagingTest.m +++ b/FirebaseMessaging/Tests/UnitTests/FIRMessagingTest.m @@ -18,13 +18,13 @@ #import -#import #import #import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" -#import #import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import "FirebaseMessaging/Sources/FIRMessaging_Private.h" #import "FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.h" diff --git a/FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.m b/FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.m index f0452ed551..d3ce168dda 100644 --- a/FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.m +++ b/FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.m @@ -20,10 +20,10 @@ #import "FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.h" -#import #import #import #import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #import "FirebaseMessaging/Sources/FIRMessagingPubSub.h" #import "FirebaseMessaging/Sources/FIRMessagingRmqManager.h" diff --git a/FirebaseRemoteConfig.podspec b/FirebaseRemoteConfig.podspec index 950c77a00e..7df39707db 100644 --- a/FirebaseRemoteConfig.podspec +++ b/FirebaseRemoteConfig.podspec @@ -27,10 +27,13 @@ app update. s.prefix_header_file = false base_dir = "FirebaseRemoteConfig/Sources/" - s.source_files = base_dir + '**/*.[mh]' + s.source_files = [ + base_dir + '**/*.[mh]', + 'Interop/Analytics/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.public_header_files = base_dir + 'Public/*.h' s.private_header_files = base_dir + 'Private/*.h' - s.preserve_paths = 'FirebaseCore/Sources/Private/*.h' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => @@ -38,7 +41,6 @@ app update. 'FIRRemoteConfig_VERSION=' + String(s.version), 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } - s.dependency 'FirebaseAnalyticsInterop', '~> 1.4' s.dependency 'FirebaseABTesting', '~> 3.1' s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'FirebaseInstallations', '~> 1.1' diff --git a/FirebaseRemoteConfig/Sources/FIRRemoteConfigComponent.m b/FirebaseRemoteConfig/Sources/FIRRemoteConfigComponent.m index b15a7f77ad..b82c13dc59 100644 --- a/FirebaseRemoteConfig/Sources/FIRRemoteConfigComponent.m +++ b/FirebaseRemoteConfig/Sources/FIRRemoteConfigComponent.m @@ -16,11 +16,11 @@ #import "FirebaseRemoteConfig/Sources/FIRRemoteConfigComponent.h" -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" #import "FirebaseRemoteConfig/Sources/Private/FIRRemoteConfig_Private.h" #import "FirebaseRemoteConfig/Sources/RCNConfigContent.h" #import "FirebaseRemoteConfig/Sources/RCNConfigDBManager.h" +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" #ifndef FIRRemoteConfig_VERSION #error "FIRRemoteConfig_VERSION is not defined: \ diff --git a/FirebaseRemoteConfig/Sources/Private/FIRRemoteConfig_Private.h b/FirebaseRemoteConfig/Sources/Private/FIRRemoteConfig_Private.h index 55ee1e34fe..8c58d85201 100644 --- a/FirebaseRemoteConfig/Sources/Private/FIRRemoteConfig_Private.h +++ b/FirebaseRemoteConfig/Sources/Private/FIRRemoteConfig_Private.h @@ -16,9 +16,9 @@ #import -#import #import #import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" @class FIROptions; @class RCNConfigContent; diff --git a/FirebaseRemoteConfig/Sources/Private/RCNConfigFetch.h b/FirebaseRemoteConfig/Sources/Private/RCNConfigFetch.h index 948c4d6ed9..00c18a11cd 100644 --- a/FirebaseRemoteConfig/Sources/Private/RCNConfigFetch.h +++ b/FirebaseRemoteConfig/Sources/Private/RCNConfigFetch.h @@ -16,8 +16,8 @@ #import -#import #import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" @class FIROptions; @class RCNConfigContent; diff --git a/FirebaseRemoteConfig/Tests/Unit/RCNConfigExperimentTest.m b/FirebaseRemoteConfig/Tests/Unit/RCNConfigExperimentTest.m index 99076c9913..856e07feaf 100644 --- a/FirebaseRemoteConfig/Tests/Unit/RCNConfigExperimentTest.m +++ b/FirebaseRemoteConfig/Tests/Unit/RCNConfigExperimentTest.m @@ -28,8 +28,8 @@ #import #import -#import #import +#import "Interop/Analytics/Public/FIRAnalyticsInterop.h" // Surface the internal FIRExperimentController initializer. @interface FIRExperimentController () diff --git a/FirebaseStorage.podspec b/FirebaseStorage.podspec index 35843962cc..447aa261bd 100644 --- a/FirebaseStorage.podspec +++ b/FirebaseStorage.podspec @@ -26,14 +26,16 @@ Firebase Storage provides robust, secure file uploads and downloads from Firebas s.static_framework = true s.prefix_header_file = false - s.source_files = 'FirebaseStorage/Sources/**/*.[mh]' + s.source_files = [ + 'FirebaseStorage/Sources/**/*.[mh]', + 'Interop/Auth/Public/*.h', + 'FirebaseCore/Sources/Private/*.h', + ] s.public_header_files = 'FirebaseStorage/Sources/Public/*.h' - s.preserve_paths = 'Interop/Auth/Public/*.h', 'FirebaseCore/Sources/Private/*.h' s.ios.framework = 'MobileCoreServices' s.osx.framework = 'CoreServices' - s.dependency 'FirebaseAuthInterop', '~> 1.1' s.dependency 'FirebaseCore', '~> 6.8' s.dependency 'GTMSessionFetcher/Core', '~> 1.1' s.pod_target_xcconfig = { diff --git a/FirebaseStorage/Sources/FIRStorage.m b/FirebaseStorage/Sources/FIRStorage.m index 92b9f6bf67..c407272a3f 100644 --- a/FirebaseStorage/Sources/FIRStorage.m +++ b/FirebaseStorage/Sources/FIRStorage.m @@ -23,8 +23,8 @@ #import "FirebaseStorage/Sources/FIRStorageUtils.h" #import "FirebaseStorage/Sources/FIRStorage_Private.h" -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #import #import diff --git a/FirebaseStorage/Sources/FIRStorageComponent.m b/FirebaseStorage/Sources/FIRStorageComponent.m index 7b881c642c..201021a89f 100644 --- a/FirebaseStorage/Sources/FIRStorageComponent.m +++ b/FirebaseStorage/Sources/FIRStorageComponent.m @@ -16,8 +16,8 @@ #import -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" NS_ASSUME_NONNULL_BEGIN diff --git a/FirebaseStorage/Sources/FIRStorageTokenAuthorizer.m b/FirebaseStorage/Sources/FIRStorageTokenAuthorizer.m index 23741452f9..79b5016243 100644 --- a/FirebaseStorage/Sources/FIRStorageTokenAuthorizer.m +++ b/FirebaseStorage/Sources/FIRStorageTokenAuthorizer.m @@ -19,7 +19,7 @@ #import "FirebaseStorage/Sources/FIRStorageConstants_Private.h" #import "FirebaseStorage/Sources/FIRStorageErrors.h" -#import +#import "Interop/Auth/Public/FIRAuthInterop.h" @implementation FIRStorageTokenAuthorizer { @private diff --git a/Firestore/Example/Podfile b/Firestore/Example/Podfile index d1d08a7726..7416d57054 100644 --- a/Firestore/Example/Podfile +++ b/Firestore/Example/Podfile @@ -61,10 +61,8 @@ def configure_local_pods() # Pull in local sources conditionally. maybe_local_pod 'FirebaseAuth' - maybe_local_pod 'FirebaseAuthInterop' maybe_local_pod 'FirebaseCoreDiagnostics' - maybe_local_pod 'FirebaseCoreDiagnosticsInterop' maybe_local_pod 'GoogleDataTransport' maybe_local_pod 'GoogleDataTransportCCTSupport' end diff --git a/Firestore/Source/API/FSTFirestoreComponent.mm b/Firestore/Source/API/FSTFirestoreComponent.mm index 8418ba2c43..6f7ff8c543 100644 --- a/Firestore/Source/API/FSTFirestoreComponent.mm +++ b/Firestore/Source/API/FSTFirestoreComponent.mm @@ -16,14 +16,13 @@ #import "Firestore/Source/API/FSTFirestoreComponent.h" -#import - #include #include #include #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" #import "Firestore/Source/API/FIRFirestore+Internal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #include "Firestore/core/include/firebase/firestore/firestore_version.h" #include "Firestore/core/src/api/firestore.h" diff --git a/Firestore/core/src/auth/firebase_credentials_provider_apple.mm b/Firestore/core/src/auth/firebase_credentials_provider_apple.mm index e7596944fb..ebba7105c4 100644 --- a/Firestore/core/src/auth/firebase_credentials_provider_apple.mm +++ b/Firestore/core/src/auth/firebase_credentials_provider_apple.mm @@ -16,8 +16,8 @@ #include "Firestore/core/src/auth/firebase_credentials_provider_apple.h" -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #include "Firestore/core/src/util/error_apple.h" #include "Firestore/core/src/util/hard_assert.h" diff --git a/Firestore/core/test/unit/auth/firebase_credentials_provider_test.mm b/Firestore/core/test/unit/auth/firebase_credentials_provider_test.mm index 4d99a1992b..50cb756ff9 100644 --- a/Firestore/core/test/unit/auth/firebase_credentials_provider_test.mm +++ b/Firestore/core/test/unit/auth/firebase_credentials_provider_test.mm @@ -16,13 +16,12 @@ #include "Firestore/core/src/auth/firebase_credentials_provider_apple.h" -#import - #include // NOLINT(build/c++11) #include // NOLINT(build/c++11) #include #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #include "Firestore/core/src/util/statusor.h" #include "Firestore/core/src/util/string_apple.h" diff --git a/Functions/FirebaseFunctions/FIRFunctions.m b/Functions/FirebaseFunctions/FIRFunctions.m index a0d7739ab8..f243673ab2 100644 --- a/Functions/FirebaseFunctions/FIRFunctions.m +++ b/Functions/FirebaseFunctions/FIRFunctions.m @@ -15,8 +15,8 @@ #import "FIRFunctions.h" #import "FIRFunctions+Internal.h" -#import #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h" +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FIRError.h" #import "FIRHTTPSCallable+Internal.h" diff --git a/Functions/FirebaseFunctions/FUNContext.m b/Functions/FirebaseFunctions/FUNContext.m index 6e60f4cb05..dde52f552f 100644 --- a/Functions/FirebaseFunctions/FUNContext.m +++ b/Functions/FirebaseFunctions/FUNContext.m @@ -15,7 +15,7 @@ #import "FUNContext.h" -#import +#import "Interop/Auth/Public/FIRAuthInterop.h" #import "FUNInstanceIDProxy.h" diff --git a/GoogleDataTransportCCTSupport/GDTCCTWatchOSTestApp/Podfile b/GoogleDataTransportCCTSupport/GDTCCTWatchOSTestApp/Podfile index 51a677aade..47b989e65a 100644 --- a/GoogleDataTransportCCTSupport/GDTCCTWatchOSTestApp/Podfile +++ b/GoogleDataTransportCCTSupport/GDTCCTWatchOSTestApp/Podfile @@ -10,14 +10,11 @@ target 'GDTCCTWatchOSIndependentTestAppWatchKitExtension' do pod 'SwiftProtobuf', '~> 1.0' pod 'GoogleDataTransport', :path => '../../' pod 'GoogleDataTransportCCTSupport', :path => '../../' - pod 'FirebaseAnalyticsInterop', :path => '../../' - pod 'FirebaseAuthInterop', :path => '../../' pod 'FirebaseCore', :path => '../../' pod 'GoogleUtilities', :path => '../../' pod 'FirebaseMessaging', :path => '../../' pod 'FirebaseInstanceID', :path => '../../' pod 'FirebaseCoreDiagnostics', :path => '../../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../../' pod 'FirebaseInstallations', :path => '../../' pod 'FirebaseStorage', :path => '../../' diff --git a/Interop/FirebaseComponentSystem.md b/Interop/FirebaseComponentSystem.md index 4416b047a8..2e0d8f86b5 100644 --- a/Interop/FirebaseComponentSystem.md +++ b/Interop/FirebaseComponentSystem.md @@ -26,7 +26,7 @@ included. ## Overview When a Firebase framework wants to provide functionality to another Firebase framework, it must be -done through the Interop system. Both frameworks depend on a shared protocol in a separate framework +done through the Interop system. Both frameworks depend on a shared protocol in the Interop folder that describes the functionality provided by one framework and required by the other. Let's use `A` and `B`, where `B` depends on functionality provided by `A` and the functionality is described by protocol `AInterop`. @@ -42,20 +42,17 @@ instance of an object that conforms to `AInterop` and provides the functionality This system allows Firebase frameworks to depend on each other in a typesafe way and allows us to explicitly declare version dependencies on the interfaces required instead of the product's version. -## Protocol Only Frameworks +## Protocol Headers -In order to share protocols between two frameworks, we introduced header only frameworks that +In order to share protocols between two frameworks, we introduced headers that declare the desired protocol(s). -The naming convention for the framework should be `Interop` but the protocols don't -have a strict naming guideline other than having a `FIR` prefix in Objective-C. - -Both the implementing and dependent framework will have a required dependency on this -`Interop` framework: the implementing framework must conform to the protocols defined +Both the implementing and dependent framework will import the +`Interop` headers: the implementing framework must conform to the protocols defined and register it with Core, while the dependent framework will use the protocol definition to use methods defined by it. -An Interop framework can have multiple protocols, but all should be implemented by the product it +An Interop folder can have multiple protocols, but all should be implemented by the product it is named after. Protocols *can not* declare class methods. This is an intentional decision to ensure all interfaces @@ -350,8 +347,10 @@ get back to this spot as it lays the groundwork necessary to understand this sec Adding dependencies is easy once components are registered with Core. Let's take the example from Functions above and add a dependency to `FIRAuthInterop` defined above. -**Important**: You will also need to add a dependency on the `FirebaseAuthInterop` pod to your - product's podspec and any package manager supported. +**Important**: You will also need to add `FirebaseAuthInterop` headers to your + product's podspec `preserved_paths` attribute for CocoaPods and something + comparable for any other package manager supported. Note, for Swift Package Manager, + nothing special is needed as long as all the pods and headers are in the same repo. Before adding the dependency on `FIRAuthInterop`. diff --git a/SymbolCollisionTest/Podfile b/SymbolCollisionTest/Podfile index 8b7ba7ab82..d101899ca7 100644 --- a/SymbolCollisionTest/Podfile +++ b/SymbolCollisionTest/Podfile @@ -13,12 +13,9 @@ target 'SymbolCollisionTest' do pod 'Firebase', :path => '../' pod 'FirebaseABTesting', :path => '../' pod 'FirebaseAnalytics' - pod 'FirebaseAnalyticsInterop', :path => '../' pod 'FirebaseAuth', :path => '../' - pod 'FirebaseAuthInterop', :path => '../' pod 'FirebaseCore', :path => '../' pod 'FirebaseCoreDiagnostics', :path => '../' - pod 'FirebaseCoreDiagnosticsInterop', :path => '../' pod 'FirebaseCrashlytics', :path => '../' pod 'FirebaseDatabase', :path => '../' pod 'FirebaseDynamicLinks', :path => '../' diff --git a/scripts/localize_podfile.swift b/scripts/localize_podfile.swift index 53d0b6e3fc..42dcb7c55f 100755 --- a/scripts/localize_podfile.swift +++ b/scripts/localize_podfile.swift @@ -27,8 +27,7 @@ let podfile = CommandLine.arguments[1] let implicitPods = ["FirebaseCore", "FirebaseInstanceID", "FirebaseInstallations", "Firebase", "GoogleDataTransport", "GoogleDataTransportCCTSupport", "GoogleUtilities", "FirebaseAuth", "FirebaseABTesting", - "FirebaseAnalyticsInterop", "FirebaseAuthInterop", "FirebaseCoreDiagnostics", - "FirebaseCoreDiagnosticsInterop", "FirebaseRemoteConfig", "FirebaseAuthInterop"] + "FirebaseCoreDiagnostics", "FirebaseRemoteConfig"] var didImplicits = false var fileContents = ""