Skip to content

Commit

Permalink
Consolidate GDT and GDTCCT to a single pod (#5902)
Browse files Browse the repository at this point in the history
  • Loading branch information
paulb777 committed Jun 24, 2020
1 parent 9429eb5 commit e03a8d9
Show file tree
Hide file tree
Showing 136 changed files with 107 additions and 315 deletions.
15 changes: 3 additions & 12 deletions .github/workflows/datatransport.yml
Expand Up @@ -4,7 +4,6 @@ on:
pull_request:
paths:
- 'GoogleDataTransport**'
- 'GoogleDataTransportCCTSupport**'
- '.github/workflows/datatransport.yml'
- 'Gemfile'
schedule:
Expand All @@ -27,40 +26,33 @@ jobs:
- name: PodLibLint DataTransport
run: |
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=${{ matrix.target }}
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=${{ matrix.target }}
catalyst:
# Don't run on private repo unless it is a PR.
if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'

runs-on: macOS-latest
strategy:
matrix:
pod: [GoogleDataTransport, GoogleDataTransportCCTSupport]
steps:
- uses: actions/checkout@v2
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Setup project and Test Catalyst
# Only build the unit tests on Catalyst. Test stopped working when GHA moved to Xcode 11.4.1.
run: scripts/third_party/travis/retry.sh scripts/test_catalyst.sh ${{ matrix.pod }} build
run: scripts/third_party/travis/retry.sh scripts/test_catalyst.sh GoogleDataTransport build

watchos-testapp:
# Don't run on private repo unless it is a PR.
if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'

runs-on: macOS-latest
strategy:
matrix:
pod: [GoogleDataTransport, GoogleDataTransportCCTSupport]
steps:
- uses: actions/checkout@v2
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Prereqs
run: scripts/install_prereqs.sh ${{ matrix.pod }} watchOS xcodebuild
run: scripts/install_prereqs.sh GoogleDataTransport watchOS xcodebuild
- name: Setup project and build watchOS test app
run: scripts/third_party/travis/retry.sh scripts/build.sh ${{ matrix.pod }} watchOS xcodebuild
run: scripts/third_party/travis/retry.sh scripts/build.sh GoogleDataTransport watchOS xcodebuild

# Scheduled jobs

Expand All @@ -84,4 +76,3 @@ jobs:
- name: PodLibLint DataTransport Cron
run: |
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
1 change: 0 additions & 1 deletion .travis.yml
Expand Up @@ -231,7 +231,6 @@ jobs:
- PROJECT=GoogleDataTransport METHOD=pod-lib-lint
script:
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=ios
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=ios

# Validate Cocoapods configurations
# This may take long time, so we would like to run it only once all other tests pass
Expand Down
Expand Up @@ -19,6 +19,5 @@ target 'CocoapodsIntegrationTest' do
pod 'FirebaseMessaging', :path => '../'
pod 'FirebaseStorage', :path => '../'
pod 'GoogleDataTransport', :path => '../'
pod 'GoogleDataTransportCCTSupport', :path => '../'
pod 'GoogleUtilities', :path => '../'
end
Expand Up @@ -17,6 +17,5 @@ target 'CocoapodsIntegrationTest' do
pod 'FirebaseMessaging', :path => '../'
pod 'FirebaseStorage', :path => '../'
pod 'GoogleDataTransport', :path => '../'
pod 'GoogleDataTransportCCTSupport', :path => '../'
pod 'GoogleUtilities', :path => '../'
end
Expand Up @@ -18,6 +18,5 @@ target 'CocoapodsIntegrationTest' do
pod 'FirebaseMessaging', :path => '../'
pod 'FirebaseStorage', :path => '../'
pod 'GoogleDataTransport', :path => '../'
pod 'GoogleDataTransportCCTSupport', :path => '../'
pod 'GoogleUtilities', :path => '../'
end
Expand Up @@ -19,7 +19,6 @@ target 'CocoapodsIntegrationTest' do
pod 'FirebaseMessaging', :path => '../'
pod 'FirebaseStorage', :path => '../'
pod 'GoogleDataTransport', :path => '../'
pod 'GoogleDataTransportCCTSupport', :path => '../'
pod 'GoogleUtilities', :path => '../'
end

Expand Down
Expand Up @@ -17,7 +17,6 @@ target 'CocoapodsIntegrationTest' do
pod 'FirebaseMessaging', :path => '../'
pod 'FirebaseStorage', :path => '../'
pod 'GoogleDataTransport', :path => '../'
pod 'GoogleDataTransportCCTSupport', :path => '../'
pod 'GoogleUtilities', :path => '../'
end

Expand Down
Expand Up @@ -17,6 +17,5 @@ target 'CocoapodsIntegrationTest' do
pod 'FirebaseMessaging', :path => '../'
pod 'FirebaseStorage', :path => '../'
pod 'GoogleDataTransport', :path => '../'
pod 'GoogleDataTransportCCTSupport', :path => '../'
pod 'GoogleUtilities', :path => '../'
end
Expand Up @@ -300,7 +300,6 @@
"\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstanceID/FirebaseInstanceID.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport/GoogleDataTransportCCTSupport.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers\"",
"\"${PODS_ROOT}/Headers/Public\"",
Expand Down Expand Up @@ -331,7 +330,6 @@
"\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstanceID/FirebaseInstanceID.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransportCCTSupport/GoogleDataTransportCCTSupport.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers\"",
"\"${PODS_ROOT}/Headers/Public\"",
Expand Down
1 change: 0 additions & 1 deletion CoreOnly/Tests/FirebasePodTest/Podfile
Expand Up @@ -28,7 +28,6 @@ target 'FirebasePodTest' do
# Get dependent pods from the repo also
pod 'FirebaseCoreDiagnostics', :path => '../../../'
pod 'GoogleDataTransport', :path => '../../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../../'
pod 'GoogleUtilities', :path => '../../../'

pod 'FirebaseAnalytics' # Analytics is not open source
Expand Down
2 changes: 1 addition & 1 deletion Dangerfile
Expand Up @@ -102,7 +102,7 @@ has_license_changes = didModify(["LICENSE"])
@has_storage_changes = hasChangesIn("FirebaseStorage/")
@has_storage_api_changes = hasChangesIn("FirebaseStorage/Sources/Public/")

@has_gdt_changes = hasChangesIn(["GoogleDataTransport/", "GoogleDataTransportCCTSupport/"])
@has_gdt_changes = hasChangesIn(["GoogleDataTransport/"])
@has_gdt_api_changes = hasChangesIn("GoogleDataTransport/GDTCORLibrary/Public")
@has_googleutilities_changes = hasChangesIn("GoogleUtilities/")
@has_zipbuilder_changes = hasChangesIn("ZipBuilder/")
Expand Down
1 change: 0 additions & 1 deletion Example/CoreDiagnostics/Tests/FIRCoreDiagnosticsTest.m
Expand Up @@ -22,7 +22,6 @@
#import <GoogleDataTransport/GDTCOREvent.h>
#import <GoogleDataTransport/GDTCOREventDataObject.h>
#import <GoogleDataTransport/GDTCORTransport.h>
#import <GoogleDataTransportCCTSupport/GDTCCTPrioritizer.h>
#import <GoogleUtilities/GULAppEnvironmentUtil.h>
#import <OCMock/OCMock.h>
#import <nanopb/pb_decode.h>
Expand Down
1 change: 0 additions & 1 deletion Example/tvOSSample/Podfile
Expand Up @@ -11,6 +11,5 @@ target 'tvOSSample' do
pod 'FirebaseDatabase', :path => '../../'
pod 'FirebaseStorage', :path => '../../'
pod 'GoogleDataTransport', :path => '../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../'

end
1 change: 0 additions & 1 deletion Example/watchOSSample/Podfile
Expand Up @@ -9,7 +9,6 @@ target 'SampleWatchAppWatchKitExtension' do
pod 'FirebaseInstanceID', :path => '../../../../../'
pod 'FirebaseCoreDiagnostics', :path => '../../../../../'
pod 'GoogleDataTransport', :path => '../../../../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../../../../'
pod 'FirebaseInstallations', :path => '../../../../../'
pod 'FirebaseStorage', :path => '../../../../../'

Expand Down
1 change: 0 additions & 1 deletion FirebaseAuth/Tests/Sample/Podfile
Expand Up @@ -12,7 +12,6 @@ target 'AuthSample' do
pod 'FirebaseCore', :path => '../../../'
pod 'FirebaseCoreDiagnostics', :path => '../../../'
pod 'GoogleDataTransport', :path => '../../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../../'
pod 'GoogleUtilities', :path => '../../../'
pod 'FirebaseAuth', :path => '../../../', :testspecs => ['unit']
pod 'FirebaseInstallations', :path => '../../..'
Expand Down
2 changes: 1 addition & 1 deletion FirebaseCoreDiagnostics.podspec
Expand Up @@ -52,7 +52,7 @@ non-Cocoapod integration. This library also respects the Firebase global data co

s.framework = 'Foundation'

s.dependency 'GoogleDataTransportCCTSupport', '~> 4.0'
s.dependency 'GoogleDataTransport', '~> 7.0'
s.dependency 'GoogleUtilities/Environment', '~> 6.7'
s.dependency 'GoogleUtilities/Logger', '~> 6.7'
s.dependency 'nanopb', '~> 1.30905.0'
Expand Down
1 change: 0 additions & 1 deletion FirebaseCrashlytics.podspec
Expand Up @@ -50,7 +50,6 @@ Pod::Spec.new do |s|
s.dependency 'FirebaseInstallations', '~> 1.1'
s.dependency 'PromisesObjC', '~> 1.2'
s.dependency 'GoogleDataTransport', '~> 7.0'
s.dependency 'GoogleDataTransportCCTSupport', '~> 4.0'
s.dependency 'nanopb', '~> 1.30905.0'

s.libraries = 'c++', 'z'
Expand Down
2 changes: 1 addition & 1 deletion FirebaseInAppMessaging.podspec
Expand Up @@ -51,7 +51,7 @@ See more product details at https://firebase.google.com/products/in-app-messagin

s.dependency 'FirebaseCore', '~> 6.8'
s.dependency 'FirebaseInstallations', '~> 1.1'
s.dependency 'GoogleDataTransportCCTSupport', '~> 4.0'
s.dependency 'GoogleDataTransport', '~> 7.0'
s.dependency 'FirebaseABTesting', '~> 3.2'
s.dependency 'GoogleUtilities/Environment', '~> 6.7'
s.dependency 'nanopb', '~> 1.30905.0'
Expand Down
Expand Up @@ -7,7 +7,6 @@ pod 'FirebaseCore', :path => '../../../..'
pod 'FirebaseInstallations', :path => '../../../..'
pod 'FirebaseCoreDiagnostics', :path => '../../../..'
pod 'GoogleDataTransport', :path => '../../../..'
pod 'GoogleDataTransportCCTSupport', :path => '../../../..'
pod 'GoogleUtilities', :path => '../../../..'
pod 'FirebaseABTesting', :path => '../../../..'

Expand Down
Expand Up @@ -8,7 +8,6 @@ pod 'FirebaseCore', :path => '../../../..'
pod 'FirebaseInstallations', :path => '../../../..'
pod 'FirebaseCoreDiagnostics', :path => '../../../..'
pod 'GoogleDataTransport', :path => '../../../..'
pod 'GoogleDataTransportCCTSupport', :path => '../../../..'
pod 'GoogleUtilities', :path => '../../../..'
pod 'FirebaseABTesting', :path => '../../../..'

Expand Down
1 change: 0 additions & 1 deletion FirebaseMessaging/Apps/Sample/Podfile
Expand Up @@ -12,7 +12,6 @@ target 'Sample' do
pod 'FirebaseInstanceID', :path => '../../../'
pod 'FirebaseCoreDiagnostics', :path => '../../../'
pod 'GoogleDataTransport', :path => '../../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../../'
pod 'FirebaseInstallations', :path => '../../../'

end
2 changes: 0 additions & 2 deletions Firestore/Example/Podfile
Expand Up @@ -57,14 +57,12 @@ def configure_local_pods()
pod 'FirebaseCore', :path => '../..'
pod 'FirebaseCoreDiagnostics', :path => '../..'
pod 'GoogleDataTransport', :path => '../..'
pod 'GoogleDataTransportCCTSupport', :path => '../..'

# Pull in local sources conditionally.
maybe_local_pod 'FirebaseAuth'

maybe_local_pod 'FirebaseCoreDiagnostics'
maybe_local_pod 'GoogleDataTransport'
maybe_local_pod 'GoogleDataTransportCCTSupport'
end

# Reads the value of the PLATFORM environment variable, converts it to the
Expand Down
64 changes: 61 additions & 3 deletions GoogleDataTransport.podspec
Expand Up @@ -26,13 +26,17 @@ Shared library for iOS SDK data transport needs.
s.static_framework = true
s.prefix_header_file = false

s.source_files = 'GoogleDataTransport/GDTCORLibrary/**/*'
s.source_files = ['GoogleDataTransport/GDTCORLibrary/**/*',
'GoogleDataTransport/GDTCCTLibrary/**/*']
s.public_header_files = 'GoogleDataTransport/GDTCORLibrary/Public/*.h'
s.private_header_files = 'GoogleDataTransport/GDTCORLibrary/Private/*.h'
s.ios.frameworks = 'SystemConfiguration', 'CoreTelephony'
s.osx.frameworks = 'SystemConfiguration', 'CoreTelephony'
s.tvos.frameworks = 'SystemConfiguration'

s.libraries = ['z']

s.dependency 'nanopb', '~> 1.30905.0'

header_search_paths = {
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}/GoogleDataTransport/"'
}
Expand All @@ -41,7 +45,11 @@ Shared library for iOS SDK data transport needs.
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_TREAT_WARNINGS_AS_ERRORS' => 'YES',
'CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY' => 'YES',
'GCC_PREPROCESSOR_DEFINITIONS' => 'GDTCOR_VERSION=' + s.version.to_s
'GCC_PREPROCESSOR_DEFINITIONS' =>
# The nanopb pod sets these defs, so we must too. (We *do* require 16bit
# (or larger) fields, so we'd have to set at least PB_FIELD_16BIT
# anyways.)
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 GDTCOR_VERSION=' + s.version.to_s,
}.merge(header_search_paths)

common_test_sources = ['GoogleDataTransport/GDTCORTests/Common/**/*.{h,m}']
Expand Down Expand Up @@ -100,4 +108,54 @@ Shared library for iOS SDK data transport needs.
end
end

# CCT Tests follow
if ENV['GDT_DEV'] && ENV['GDT_DEV'] == '1' then
s.app_spec 'CCTTestApp' do |app_spec|
app_spec.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
app_spec.source_files = 'GoogleDataTransport/GDTCCTTestApp/**/*.swift'
app_spec.ios.resources = ['GoogleDataTransport/GDTCCTTestApp/ios/*.storyboard']
app_spec.macos.resources = ['GoogleDataTransport/GDTCCTTestApp/macos/*.storyboard']
app_spec.tvos.resources = ['GoogleDataTransport/GDTCCTTestApp/tvos/*.storyboard']
app_spec.dependency 'SwiftProtobuf'
app_spec.info_plist = {
'UILaunchStoryboardName' => 'Main',
'UIMainStoryboardFile' => 'Main',
'NSMainStoryboardFile' => 'Main'
}
end
end

common_test_sources = ['GoogleDataTransport/GDTCCTTests/Common/**/*.{h,m}']

# Test specs
s.test_spec 'CCT-Tests-Unit' do |test_spec|
test_spec.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
test_spec.requires_app_host = false
test_spec.source_files = ['GoogleDataTransport/GDTCCTTests/Unit/**/*.{h,m}'] + common_test_sources
test_spec.resources = ['GoogleDataTransport/GDTCCTTests/Data/**/*']
test_spec.pod_target_xcconfig = header_search_paths
test_spec.dependency 'GCDWebServer'
end

s.test_spec 'CCT-Tests-Integration' do |test_spec|
test_spec.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
test_spec.requires_app_host = false
test_spec.source_files = ['GoogleDataTransport/GDTCCTTests/Integration/**/*.{h,m}'] + common_test_sources
test_spec.resources = ['GoogleDataTransport/GDTCCTTests/Data/**/*']
test_spec.pod_target_xcconfig = header_search_paths
end

# Monkey test specs, only enabled for development.
if ENV['GDT_DEV'] && ENV['GDT_DEV'] == '1' then
s.test_spec 'CCT-Tests-Monkey' do |test_spec|
test_spec.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
test_spec.requires_app_host = true
test_spec.app_host_name = 'GoogleDataTransport/CCTTestApp'
test_spec.dependency 'GoogleDataTransport/CCTTestApp'
test_spec.source_files = ['GoogleDataTransport/GDTCCTTests/Monkey/**/*.{swift}'] + common_test_sources
test_spec.info_plist = {
'GDT_MONKEYTEST' => '1'
}
end
end
end
2 changes: 2 additions & 0 deletions GoogleDataTransport/CHANGELOG.md
Expand Up @@ -2,6 +2,8 @@
- Storage has been completely reimplemented to a flat-file system. It
is not backwards compatible with previously saved events.
- Prioritizers, data futures, and upload packages have been removed.
- Consolidated GoogleDataTransportCCTSupport with GoogleDataTransport. Starting
with this version, GoogleDataTransportCCTSupport should no longer be linked.

# v6.2.1
- Stopped GDTCORUploadCoordinator from blocking main thread. (#5707, #5708)
Expand Down
Expand Up @@ -31,13 +31,13 @@

#import "GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h"

#ifdef GDTCCTSUPPORT_VERSION
#ifdef GDTCOR_VERSION
#define STR(x) STR_EXPAND(x)
#define STR_EXPAND(x) #x
static NSString *const kGDTCCTSupportSDKVersion = @STR(GDTCCTSUPPORT_VERSION);
static NSString *const kGDTCCTSupportSDKVersion = @STR(GDTCOR_VERSION);
#else
static NSString *const kGDTCCTSupportSDKVersion = @"UNKNOWN";
#endif // GDTCCTSUPPORT_VERSION
#endif // GDTCOR_VERSION

/** */
static NSInteger kWeekday;
Expand Down
File renamed without changes.
Expand Up @@ -16,13 +16,7 @@

import XCTest

#if os(iOS)
import GoogleDataTransportCCTSupport_iOS_TestApp
#elseif os(macOS)
import GoogleDataTransportCCTSupport_macOS_TestApp
#elseif os(tvOS)
import GoogleDataTransportCCTSupport_tvOS_TestApp
#endif
import GoogleDataTransport_CCTTestApp

class GDTMonkeyTest: XCTestCase {
func testGDTCCTAndFLL() {
Expand Down
Expand Up @@ -9,7 +9,6 @@ target 'GDTCCTWatchOSIndependentTestAppWatchKitExtension' do
# Pods for GDTCCTWatchOSIndependentTestAppWatchKitExtension
pod 'SwiftProtobuf', '~> 1.0'
pod 'GoogleDataTransport', :path => '../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../'
pod 'FirebaseCore', :path => '../../'
pod 'GoogleUtilities', :path => '../../'
pod 'FirebaseMessaging', :path => '../../'
Expand All @@ -28,7 +27,6 @@ target 'GDTCCTServiceExtension' do
pod 'FirebaseInstanceID', :path => '../../'
pod 'SwiftProtobuf', '~> 1.0'
pod 'GoogleDataTransport', :path => '../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../'
end

target 'GDTCCTWatchOSCompanionTestAppExtension' do
Expand All @@ -37,6 +35,5 @@ target 'GDTCCTWatchOSCompanionTestAppExtension' do
# Pods for GDTCCTWatchOSCompanionTestAppExtension
pod 'SwiftProtobuf', '~> 1.0'
pod 'GoogleDataTransport', :path => '../../'
pod 'GoogleDataTransportCCTSupport', :path => '../../'

end

0 comments on commit e03a8d9

Please sign in to comment.