* Create Segmentation SDK structure for source and unit tests. (#3214)
* Create Segmentation SDK structure for source and unit tests.
* Review changes: Remove unnecessary files in test folder. Add md-floc-master to CI
* Rename Segmentation directory to FirebaseSegmentation directory. Update podspec to include search header path.
* Add core support with interop for Segmentation SDK. (#3430)
* Add core support with interop for Segmentation SDK. Also update headers to be under sources folder.
* Review fixes.
* Minor changes.
* Fix style.
* Fix style.
* Style changes.
* Fix whitespace in travis.yml
* Fix style.
* Travis CI is stuck..try updating the travis.yml
* Undo travis.yml change.
* Working drop of Segmentation SDK along with test app and unit tests. (#4574)
* Working drop of Segmentation SDK along with sample app and unit tests.
* Update if_changed.sh to include FirebaseSegmentation.
* Complete NS_ASSUME_NON_NULL_START with NS_ASSUME_NON_NULL_END in header file.
* Fix unit tests.
* Fix style.
* Fixes after running XCode's static analyzer.
* Fix style.
* fix style.
* 'pod lib lint' fixes.
* Fix analyzer errors.
* Address review comments.
* Minor changes for review comments.
* Address review comments.
* Address review comments.
* stop mocking in tear down method for tests.
* Minor update to sample app project.
* Fix trailing whitespace in Podfile.
* Add set -x to check.sh
* update segmetation dependency version
* migrate FloC SDK to depend on FIS SDK directly
* format floc
* format
* using customized FIRapp
* remove test plist file
* refactor to capture weakself
* format
* replace partial mock with class mock
* minor refactoring
* use subscript to manipulate dictionary instance
* fix import error
* minor refoctoring, addressing comments
* address comments
* fix configurations
* format
Co-authored-by: dmandar <dmandar@users.noreply.github.com>
Co-authored-by: ChaoqunCHEN <cqchen93@gmail.com>
* Add new, simpler CMake helper functions
... making them more like built-in functions. This makes it possible to
combine other CMake functions in ways that weren't possible with the
original all-in-one approach.
This includes:
* firebase_ios_add_executable
* firebase_ios_add_test
* firebase_ios_add_library
All of which can be combined with target_link_libraries, etc.
* Shorten CMake test targets, e.g. firebase_firestore_util_test => firestore_util_test
* Remove CMake file inclusion check
Now that we're committed to using globs for finding sources, this check
is incompatible and no longer useful.
In implementing the fallback for old PRs in #4614 I changed the default
for interactive use of check.sh. This fixes it so that if you just run
check.sh with no arguments it evaluates only the diff against master.
Sometimes PRs have been cut from so long ago that there's no merge base
with master in the shallow clone that Travis makes. In this case, fall
back on just checking everything.
* Fix field initialization order
* Reduce dependencies in objc_compatibility_apple_test
This makes it possible to build and test util without having to build
everything
* Add a lint check for CMake files
* Find XCTest, if available
* Fix CMakeLists.txt to include all sources
* Fix test flake in local store tests
This doesn't affect production because we always set the additional
references pointer there, but it's technically optional and some tests
don't do this.
* Add an -all_load linker flag to all example apps
This fixes macOS and tvOS builds such that they no longer need to
explicitly link against the built FirebaseFirestore framework, which is
good because this wasn't working right: changes to the framework would
take two builds to get tests to actually see them.
The mechanism here is to amend the .xcconfig files that CocoaPods plugs
into the project, just after it generates them. This avoids the need to
actually modify the project.xcodeproj file, which reduces the potential
for conflicts.
Going forward all manual modifications to the project's configuration
will be handled this way to avoid needing special project configuration.
This also moves us incrementally closer to be being able to use test
specs and cocoapods-generate. There's too much custom configuration yet
(and several other blockers) but figuring out what's required to build
will make it such that we can eventually transition.
* xcodeproj: Remove -all_load and -framework flags
-all_load is now being supplied by sync_project.rb.
Remove manually specified -framework flags from the project file. The
-framework flags are actually coming from CocoaPods, but we copied the
others when manually linking against FirebaseFirestore. Now that that's
no longer required these can go away.
* Add a test-only mode to sync_project.rb
* Re-add CodableIntegrationTests.swift
A previous commit merged this incorrectly.
* Rewrite lint.sh as check_lint.py
This makes several beneficial changes:
* Runs in parallel: lint all now takes 5.5 seconds, down from 25.
* Supports linting specific files, passed on the command-line.
* Defaults to linting files changed since master, pass --all to lint
everything.
* Infers header language based on related files.
* Lays the groundwork for linting more than just C++.
* Adds support for linting python.
* Fix lint errors
* Use check_lint.py in check.sh
* Remove lint.sh
* Python lint configuration
* Enable python linting in travis
Travis can send us a revision range that points to commits outside the
repo (see comments for details). Adjust the revision range to always use
target origin/master.