-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prepare Firestore for use as a static library #1210
Conversation
... and shouldn't
Make the targets independent in Firestore/Example/Podfile and add a workaround to deduplicate dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working through this stuff! I reviewed to the best of my ability but mostly counting on build / tests / our users to validate. :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working through all of this @wilhuff!
This can be addressed separately:
Seeing one Firestore build warning in default build with Xcode 9.3 - /Users/paulbeusterien/pure/firebase-ios-sdk/Firestore/Source/Remote/FSTRemoteEvent.mm:47:17: warning: method definition for 'filterUpdatesUsingExistingKeys:' not found [-Wincomplete-implementation]
@implementation FSTTargetMapping
^
In file included from /Users/paulbeusterien/pure/firebase-ios-sdk/Firestore/Source/Remote/FSTRemoteEvent.mm:17:
/Users/paulbeusterien/pure/firebase-ios-sdk/Firestore/Example/Pods/../../../Firestore/Source/Remote/FSTRemoteEvent.h:52:1: note: method 'filterUpdatesUsingExistingKeys:' declared here
- (void)filterUpdatesUsingExistingKeys:(FSTDocumentKeySet *)existingKeys;
^
1 warning generated.
Firestore/Example/Podfile
Outdated
@@ -11,26 +11,54 @@ pod 'FirebaseFirestore', :path => '../../' | |||
|
|||
target 'Firestore_Example_iOS' do | |||
platform :ios, '8.0' | |||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A comment here to look below for construction of the dependent targets could be helpful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
method definition for 'filterUpdatesUsingExistingKeys:' not found There are no abstract methods in Objective-C so the base class needs an implementation. It can throw like the other abstract-like methods do or just provide a default behavior. I've opted for the latter here.
* Update travis to use CocoaPods 1.5.2 * CODE_SIGNING_ALLOWED=YES * Remove workaround and iPhone 8 * Remove #1210 static library Podfile workaround * Add -all_load to Firestore Example so all C++ is available for tests
…1218) method definition for 'filterUpdatesUsingExistingKeys:' not found There are no abstract methods in Objective-C so the base class needs an implementation.
* Remove spurious dependencies on other project targets in the integration tests * Integration tests don't depend on OCMock ... and shouldn't * Integration tests don't directly depend upon leveldb either * Flatten Firestore example Podfile Make the targets independent in Firestore/Example/Podfile and add a workaround to deduplicate dependencies. * Project file output from running pod update
* Update travis to use CocoaPods 1.5.2 * CODE_SIGNING_ALLOWED=YES * Remove workaround and iPhone 8 * Remove firebase#1210 static library Podfile workaround * Add -all_load to Firestore Example so all C++ is available for tests
This change prepares for building/testing Firestore as a static library. It fixes the errors encountered putting together #1056, but does not yet add any direct support for building the static version of Firestore--that will come separately.
Concretely, this change:
Further discussion of the underlying issue is here CocoaPods/CocoaPods#7155