Skip to content

Commit 6fed632

Browse files
authored
Merge pull request #1095 from firebase/rsgowman/fix_firestore-api-changes
merge master into firestore-api-changes
2 parents 60407b6 + b0e344e commit 6fed632

File tree

511 files changed

+21649
-9728
lines changed

Some content is hidden

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

511 files changed

+21649
-9728
lines changed

.travis.yml

Lines changed: 79 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,92 @@
1+
os: osx
12
osx_image: xcode9.2
23
language: objective-c
34
cache:
45
- bundler
56
- cocoapods
67

78
rvm: 2.3.1
8-
before_install:
9-
# Add next line back with updated DeviceUDID for xcode9.1 if stability issues with simulator
10-
# - open -a "simulator" --args -CurrentDeviceUDID ABBD7191-486B-462F-80B4-AE08C5820DA1
11-
- bundle install
12-
- gem install xcpretty
13-
- bundle exec pod install --project-directory=Example --repo-update
14-
- bundle exec pod install --project-directory=Firestore/Example --no-repo-update
15-
- brew install clang-format
16-
- brew install swiftformat
17-
- brew install cmake
18-
- brew install go # Somehow the build for Abseil requires this.
19-
- echo "$TRAVIS_COMMIT_RANGE"
20-
- echo "$TRAVIS_PULL_REQUEST"
21-
- |
22-
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
23-
SKIP_FIREBASE=0
24-
SKIP_FIRESTORE=0
25-
else
26-
git diff --name-only $TRAVIS_COMMIT_RANGE | grep -Eq '^(Firebase|Example)'
27-
SKIP_FIREBASE="$?"
28-
git diff --name-only $TRAVIS_COMMIT_RANGE | grep -q Firestore
29-
SKIP_FIRESTORE="$?"
30-
fi
319

32-
script:
33-
# Fail on trailing whitespace in non-binary, non-generated-nanopb files
34-
- "! git grep -I ' $' ':(exclude)Firestore/Protos/nanopb'"
35-
- "! git grep -EL --name-only 'Copyright [0-9]{4}.*Google' | grep -v third_party | egrep '\\.(m|h|cc|mm|c)$'"
36-
- ./scripts/style.sh test-only # Validate clang-format compliance
37-
- |
38-
if [ $SKIP_FIREBASE != 1 ]; then
39-
./test.sh
40-
fi
41-
- |
42-
if [ $SKIP_FIRESTORE != 1 ]; then
43-
./scripts/lint.sh # Google C++ style compliance
44-
fi
45-
- |
46-
if [ $SKIP_FIRESTORE != 1 ]; then
47-
./Firestore/test.sh
48-
fi
10+
jobs:
11+
include:
12+
- stage: checks
13+
# This only needs to be run once, so restrict it to an arbitrary combination
14+
before_install:
15+
- brew install clang-format
16+
- brew install swiftformat
17+
script:
18+
- ./scripts/check_whitespace.sh
19+
- ./scripts/check_copyright.sh
20+
- ./scripts/check_no_module_imports.sh
21+
- ./scripts/style.sh test-only $TRAVIS_COMMIT_RANGE
22+
# Google C++ style compliance
23+
- ./scripts/lint.sh $TRAVIS_COMMIT_RANGE
4924

50-
# TODO fix os_log deprecation warning in FIRLogger to remove --allow-warnings
51-
- |
52-
if [ $SKIP_FIREBASE != 1 ]; then
53-
bundle exec pod lib lint FirebaseCore.podspec --allow-warnings
54-
fi
25+
- stage: test
26+
env:
27+
- PROJECT=Firebase PLATFORM=iOS
28+
before_install:
29+
# Add next line back with updated DeviceUDID for xcode9.1 if stability issues with simulator
30+
# - open -a "simulator" --args -CurrentDeviceUDID ABBD7191-486B-462F-80B4-AE08C5820DA1
31+
- bundle install
32+
- gem install xcpretty
33+
- ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update
34+
- ./scripts/if_changed.sh bundle exec pod install --project-directory=Functions/Example
35+
script:
36+
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
5537

56-
# TODO - Uncomment subsequent lines once FirebaseCore source repo is in public Specs repo
57-
# - bundle exec pod lib lint FirebaseAuth.podspec
58-
# - bundle exec pod lib lint FirebaseDatabase.podspec
59-
# - bundle exec pod lib lint FirebaseMessaging.podspec --allow-warnings #pending #390 fix
60-
# - bundle exec pod lib lint FirebaseStorage.podspec
61-
# - bundle exec pod lib lint Firestore/Firestore.podspec
38+
# TODO fix os_log deprecation warning in FIRLogger to remove --allow-warnings
39+
- ./scripts/if_changed.sh bundle exec pod lib lint FirebaseCore.podspec --allow-warnings
40+
41+
# TODO - Uncomment subsequent lines once FirebaseCore source repo is in public Specs repo
42+
# - bundle exec pod lib lint FirebaseAuth.podspec
43+
# - bundle exec pod lib lint FirebaseDatabase.podspec
44+
# - bundle exec pod lib lint FirebaseMessaging.podspec
45+
# - bundle exec pod lib lint FirebaseStorage.podspec
46+
# - bundle exec pod lib lint FirebaseFirestore.podspec
47+
48+
- stage: test
49+
env:
50+
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild
51+
before_install:
52+
- bundle install
53+
- gem install xcpretty
54+
- ./scripts/if_changed.sh bundle exec pod install --project-directory=Firestore/Example --repo-update
55+
script:
56+
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
57+
58+
- stage: test
59+
env:
60+
- PROJECT=Firestore PLATFORM=macOS METHOD=cmake
61+
before_install:
62+
- bundle install
63+
- gem install xcpretty
64+
- brew install cmake
65+
- brew install go # Somehow the build for Abseil requires this.
66+
- ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update
67+
- ./scripts/if_changed.sh bundle exec pod install --project-directory=Firestore/Example --no-repo-update
68+
script:
69+
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
70+
71+
- stage: test
72+
env:
73+
- PROJECT=Firebase PLATFORM=macOS
74+
before_install:
75+
- bundle install
76+
- gem install xcpretty
77+
- ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update
78+
script:
79+
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
80+
81+
- stage: test
82+
env:
83+
- PROJECT=Firebase PLATFORM=tvOS
84+
before_install:
85+
- bundle install
86+
- gem install xcpretty
87+
- ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update
88+
script:
89+
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
6290

6391
branches:
6492
only:

CODE_OF_CONDUCT.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Firebase Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of
9+
experience, education, socio-economic status, nationality, personal appearance,
10+
race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or reject
41+
comments, commits, code, wiki edits, issues, and other contributions that are
42+
not aligned to this Code of Conduct, or to ban temporarily or permanently any
43+
contributor for other behaviors that they deem inappropriate, threatening,
44+
offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
This Code of Conduct also applies outside the project spaces when the Project
56+
Steward has a reasonable belief that an individual's behavior may have a
57+
negative impact on the project or its community.
58+
59+
## Conflict Resolution
60+
61+
We do not believe that all conflict is bad; healthy debate and disagreement
62+
often yield positive results. However, it is never okay to be disrespectful or
63+
to engage in behavior that violates the project’s code of conduct.
64+
65+
If you see someone violating the code of conduct, you are encouraged to address
66+
the behavior directly with those involved. Many issues can be resolved quickly
67+
and easily, and this gives people more control over the outcome of their
68+
dispute. If you are unable to resolve the matter for any reason, or if the
69+
behavior is threatening or harassing, report it. We are dedicated to providing
70+
an environment where participants feel welcome and safe.
71+
72+
Reports should be directed to Paul Beusterien([email protected]), the
73+
Project Steward for the Firebase iOS SDK. It is the Project Steward’s duty to
74+
receive and address reported violations of the code of conduct. They will then
75+
work with a committee consisting of representatives from the Open Source
76+
Programs Office and the Google Open Source Strategy team. If for any reason you
77+
are uncomfortable reaching out the Project Steward, please email
78+
79+
80+
We will investigate every complaint, but you may not receive a direct response.
81+
We will use our discretion in determining when and how to follow up on reported
82+
incidents, which may range from not taking action to permanent expulsion from
83+
the project and project-sponsored spaces. We will notify the accused of the
84+
report and provide them an opportunity to discuss it before any action is taken.
85+
The identity of the reporter will be omitted from the details of the report
86+
supplied to the accused. In potentially harmful situations, such as ongoing
87+
harassment or threats to anyone's safety, we may take action without notice.
88+
89+
## Attribution
90+
91+
This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
92+
available at
93+
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

Carthage.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ This page introduces and provides instructions for an **experimental** Firebase
77
feedback and usage, the Firebase team may decide to make the Carthage
88
distribution official.
99

10-
FirebaseFirestore and FirebaseInvites are not yet supported from Carthage.
1110
Please [let us know](https://github.com/firebase/firebase-ios-sdk/issues) if you
1211
have suggestions about how best to distribute Carthage binaries that include
1312
resource bundles.
@@ -27,8 +26,9 @@ more details and additional installation methods.
2726

2827
## Carthage Usage
2928

30-
- Create a Cartfile with a **subset** of the following components. Note that
31-
**FirebaseAnalytics** must always be included.
29+
- Create a Cartfile with a **subset** of the following components - choosing the
30+
Firebase components that you want to include in your app. Note that
31+
**FirebaseAnalytics** must always be included.
3232
```
3333
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseABTestingBinary.json"
3434
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAdMobBinary.json"
@@ -37,6 +37,9 @@ binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json"
3737
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashBinary.json"
3838
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDatabaseBinary.json"
3939
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseDynamicLinksBinary.json"
40+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFirestoreBinary.json"
41+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFunctionsBinary.json"
42+
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInvitesBinary.json"
4043
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json"
4144
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebasePerformanceBinary.json"
4245
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json"
@@ -48,6 +51,16 @@ binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseStorageBinary.jso
4851
they're added to the right build target(s).
4952
- Add the -ObjC flag to "Other Linker Flags".
5053
- Make sure that the build target(s) includes your project's `GoogleService-Info.plist`.
54+
- [Delete Firebase.framework from the Link Binary With Libraries Build Phase](https://github.com/firebase/firebase-ios-sdk/issues/911#issuecomment-372455235).
55+
- If you're including a Firebase component that has resources, copy its bundles
56+
into the Xcode project and make sure they're added to the
57+
`Copy Bundle Resources` Build Phase :
58+
- For Firestore:
59+
- ./Carthage/Build/iOS/gRPC.framework/gRPCCertificates.bundle
60+
- For Invites:
61+
- ./Carthage/Build/iOS/FirebaseInvites.framework/GoogleSignIn.bundle
62+
- ./Carthage/Build/iOS/FirebaseInvites.framework/GPPACLPickerResources.bundle
63+
- ./Carthage/Build/iOS/FirebaseInvites.framework/GINInviteResources.bundle
5164

5265
## Versioning
5366

0 commit comments

Comments
 (0)