Skip to content

Commit 280da58

Browse files
committed
Merge branch 'master' into mph-googledatatransport
2 parents 20cb973 + 97d4ab1 commit 280da58

File tree

704 files changed

+61507
-10067
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

704 files changed

+61507
-10067
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,6 @@ Ninja
8484

8585
# CocoaPods generate
8686
gen/
87+
88+
# b/111916494
89+
default.profraw

.travis.yml

Lines changed: 89 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ cache:
55
- bundler
66
- cocoapods
77

8+
stages:
9+
- checks
10+
- test
11+
- name: cocoapods_compatibility_check
12+
if: type = cron
13+
814
jobs:
915
include:
1016
- stage: checks
@@ -13,13 +19,7 @@ jobs:
1319
- brew install clang-format
1420
- brew install swiftformat
1521
script:
16-
- ./scripts/check_whitespace.sh
17-
- ./scripts/check_copyright.sh
18-
- ./scripts/check_no_module_imports.sh
19-
- ./scripts/check_test_inclusion.py
20-
- ./scripts/style.sh test-only $TRAVIS_COMMIT_RANGE
21-
# Google C++ style compliance
22-
- ./scripts/lint.sh $TRAVIS_COMMIT_RANGE
22+
- ./scripts/check.sh --test-only $TRAVIS_COMMIT_RANGE
2323

2424
# The order of builds matters (even though they are run in parallel):
2525
# Travis will schedule them in the same order they are listed here.
@@ -89,38 +89,40 @@ jobs:
8989
script:
9090
# Eliminate the one warning from BoringSSL when CocoaPods 1.6.0 is available.
9191
# The travis_wait is necessary because the command takes more than 10 minutes.
92-
- travis_wait 45 ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseFirestore.podspec --allow-warnings --no-subspecs
92+
- travis_wait 30 ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseFirestore.podspec --platforms=ios --allow-warnings --no-subspecs
9393

9494
# pod lib lint to check build and warnings for static library build - only on cron jobs
9595
- stage: test
96+
if: type = cron
9697
env:
9798
- PROJECT=Firebase PLATFORM=iOS METHOD=pod-lib-lint
9899
before_install:
99-
- ./scripts/if_cron.sh ./scripts/install_prereqs.sh
100+
- ./scripts/install_prereqs.sh
100101
script:
101-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh GoogleUtilities.podspec --use-libraries
102-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseCore.podspec --use-libraries
103-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseAnalyticsInterop.podspec --use-libraries
104-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseAuth.podspec --use-libraries
105-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseAuthInterop.podspec --use-libraries
106-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseDatabase.podspec --use-libraries
107-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseDynamicLinks.podspec --use-libraries
108-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseInstanceID.podspec --use-libraries
102+
- travis_retry ./scripts/pod_lib_lint.sh GoogleUtilities.podspec --use-libraries
103+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseCore.podspec --use-libraries
104+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseAnalyticsInterop.podspec --use-libraries
105+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseAuth.podspec --use-libraries
106+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseAuthInterop.podspec --use-libraries
107+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseDatabase.podspec --use-libraries
108+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseDynamicLinks.podspec --use-libraries
109+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseInstanceID.podspec --use-libraries
109110
# The Protobuf dependency of FirebaseMessaging has warnings with --use-libraries
110-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseMessaging.podspec --use-libraries --allow-warnings
111-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseStorage.podspec --use-libraries
112-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseInAppMessaging.podspec --use-libraries
113-
- travis_retry ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseInAppMessagingDisplay.podspec --use-libraries
111+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseMessaging.podspec --use-libraries --allow-warnings
112+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseStorage.podspec --use-libraries
113+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseInAppMessaging.podspec --use-libraries
114+
- travis_retry ./scripts/pod_lib_lint.sh FirebaseInAppMessagingDisplay.podspec --use-libraries
114115

115116
- stage: test
117+
if: type = cron
116118
env:
117119
- PROJECT=Firestore PLATFORM=iOS METHOD=pod-lib-lint
118120
before_install:
119-
- ./scripts/if_cron.sh ./scripts/install_prereqs.sh
121+
- ./scripts/install_prereqs.sh
120122
script:
121123
# TBD - non-portable path warnings
122124
# The travis_wait is necessary because the command takes more than 10 minutes.
123-
- travis_wait 45 ./scripts/if_cron.sh ./scripts/pod_lib_lint.sh FirebaseFirestore.podspec --use-libraries --allow-warnings --no-subspecs
125+
- travis_wait 45 ./scripts/pod_lib_lint.sh FirebaseFirestore.podspec --use-libraries --allow-warnings --no-subspecs
124126

125127
# GoogleDataTransport unit tests and pod linting using the default Xcode version.
126128
- stage: test
@@ -144,12 +146,13 @@ jobs:
144146

145147
# Daily test for symbol collisions between Firebase and CocoaPods.
146148
- stage: test
149+
if: type = cron
147150
env:
148151
- PROJECT=SymbolCollision PLATFORM=iOS METHOD=xcodebuild
149152
before_install:
150-
- ./scripts/if_cron.sh ./scripts/install_prereqs.sh
153+
- ./scripts/install_prereqs.sh
151154
script:
152-
- travis_retry ./scripts/if_cron.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
155+
- travis_retry ./scripts/build.sh $PROJECT $PLATFORM $METHOD
153156

154157
# Alternative platforms
155158

@@ -181,6 +184,22 @@ jobs:
181184
script:
182185
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
183186

187+
- stage: test
188+
env:
189+
- PROJECT=Firestore PLATFORM=macOS METHOD=xcodebuild
190+
before_install:
191+
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
192+
script:
193+
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
194+
195+
- stage: test
196+
env:
197+
- PROJECT=Firestore PLATFORM=tvOS METHOD=xcodebuild
198+
before_install:
199+
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
200+
script:
201+
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
202+
184203
# Firestore sanitizers
185204

186205
- stage: test
@@ -219,16 +238,57 @@ jobs:
219238
script:
220239
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
221240

241+
# Validate Cocoapods configurations
242+
# This may take long time, so we would like to run it only once all other tests pass
243+
# Validate Cocoapods 1.7.0 compatibility
244+
- stage: cocoapods_compatibility_check
245+
env:
246+
- POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_frameworks
247+
script:
248+
- travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
249+
250+
- stage: cocoapods_compatibility_check
251+
env:
252+
- POD_CONFIG_DIR=Cocoapods1_7_0_frameworks
253+
script:
254+
- travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
255+
256+
- stage: cocoapods_compatibility_check
257+
env:
258+
- POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_staticLibs
259+
script:
260+
- travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
261+
262+
- stage: cocoapods_compatibility_check
263+
env:
264+
- POD_CONFIG_DIR=Cocoapods1_7_0_staticLibs
265+
script:
266+
- travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
267+
268+
# Validate Cocoapods 1.6.1 compatibility
269+
- stage: cocoapods_compatibility_check
270+
env:
271+
- POD_CONFIG_DIR=Cocoapods1_6_1_frameworks
272+
script:
273+
- travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
274+
275+
- stage: cocoapods_compatibility_check
276+
env:
277+
- POD_CONFIG_DIR=Cocoapods1_6_1_staticLibs
278+
script:
279+
- travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
280+
222281
allow_failures:
223282
# Run fuzz tests only on cron jobs.
224283
- stage: test
284+
if: type = cron
225285
env:
226286
- PROJECT=Firestore PLATFORM=iOS METHOD=fuzz
227287
before_install:
228-
- ./scripts/if_cron.sh ./scripts/install_prereqs.sh
288+
- ./scripts/install_prereqs.sh
229289
script:
230290
# The travis_wait is necessary because fuzzing runs for 40 minutes.
231-
- travis_wait 45 ./scripts/if_cron.sh ./scripts/fuzzing_ci.sh
291+
- travis_wait 45 ./scripts/fuzzing_ci.sh
232292

233293
# TODO(varconst): UBSan for CMake. UBSan failures are non-fatal by default,
234294
# need to make them fatal for the purposes of the test run.
@@ -242,6 +302,8 @@ jobs:
242302
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild SANITIZERS=asan
243303
- env:
244304
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild SANITIZERS=tsan
305+
- env:
306+
- PROJECT=InAppMessaging PLATFORM=iOS METHOD=xcodebuild
245307

246308
# TODO(varconst): enable if it's possible to make this flag work on build
247309
# stages. It's supposed to avoid waiting for jobs that are allowed to fail

Carthage.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,16 @@ binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseABTestingBinary.j
3333
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAdMobBinary.json"
3434
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"
3535
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json"
36-
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashBinary.json"
3736
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDatabaseBinary.json"
3837
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDynamicLinksBinary.json"
3938
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFirestoreBinary.json"
4039
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFunctionsBinary.json"
4140
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInAppMessagingBinary.json"
4241
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInAppMessagingDisplayBinary.json"
43-
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInvitesBinary.json"
4442
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json"
4543
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLModelInterpreterBinary.json"
4644
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLNLLanguageIDBinary.json"
45+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLNLSmartReplyBinary.json"
4746
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLNaturalLanguageBinary.json"
4847
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLVisionBarcodeModelBinary.json"
4948
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMLVisionBinary.json"
@@ -66,10 +65,6 @@ binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseStorageBinary.jso
6665
`Copy Bundle Resources` Build Phase :
6766
- For Firestore:
6867
- ./Carthage/Build/iOS/FirebaseFirestore.framework/gRPCCertificates.bundle
69-
- For Invites:
70-
- ./Carthage/Build/iOS/FirebaseInvites.framework/GoogleSignIn.bundle
71-
- ./Carthage/Build/iOS/FirebaseInvites.framework/GPPACLPickerResources.bundle
72-
- ./Carthage/Build/iOS/FirebaseInvites.framework/GINInviteResources.bundle
7368
- For FirebaseMLVisionFaceModel:
7469
- ./Carthage/Build/iOS/FaceDetector.framework/GoogleMVFaceDetectorResources.bundle
7570
- For FirebaseMLVisionTextModel:

0 commit comments

Comments
 (0)