* Make Firestore CMake a self-contained build
Now shell out to a sub-CMake to prepare depenencies without needing an
explciit superbuild structure. This makes the Visual Studio and CLion
projects driven from the CMake configuration actually usable.
* Move third-party dependencies to the top-level
* Move main.swift to BasicCompileTests.swift
* Remove SwiftBuildTest from the Podfile, Xcode project, build.sh
Add Firestore_SwiftTests_iOS, but only if building with Xcode 9 or
better.
* Add a travis stage that tests building Firestore with Xcode 8.3.
* Simulate on a device available in Xcode 8
* Fix compile errors under Xcode 8.3.3
* Remove Firestore_SwiftTests_iOS from the Firestore_Tests_iOS Scheme
I'll create a new target for this but in another PR.
* Add an entry to CHANGELOG.md
This uses the newly-added allMutationBatchesAffectingDocumentKeys to find/deserialize all such batches in one go and then reuse the batches while processing a set of keys.
Also "fixed" BadFieldValueTagWithOtherValidTagsPresent test by changing
'false' to 'true'. Details: Depending on the version of nanopb, nanopb
would explicitly encode 'false', which shouldn't be done in proto3. When
it's explicitly encoded, the test worked properly. But when it was
(properly) dropped, the invalid tag is the only field that's actually
encoded, thus violating the assumptions of the test, leading to a test
failure. s/false/true fixes it, as now the boolean_value field is
(properly) encoded regardless of version.
* Make it possible to run style.sh on Linux
Needs clang-format in a nonstandard location, but can be made to work.
* Fix lint.sh on Linux
* Fix multiline comment error
This avoids a collision with the libprotobuf generated files.
Also removes the "well-known" cpp protos, relying on libprotobuf to supply these instead.
* Add a project sync script
* Give an error if the configuration references a group that doesn't exist
* Fix hard_assert_test reference
* Run sync_project to sort all project elements
* 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
* Add classes in testutil and util to the project
* Exclude util/iterator_adaptors_test which requires gmock
* Exclude remote/serializer_test which is missing some paths
* Add iterator_adaptors_test and add gmock support
* Add gmock support to the GoogleTest podspec we vendor
* Add iterator_adaptors_test.cc to the Xcode project
* Add a script that verifies all tests are referenced in the project
* Add a travis check that all tests are referenced in the project
* Review feedback
* Moar feedback
* Add back pod spec lint checking
* Separate pod lib lint to stages
* order unit tests before lints
* add lint to install_prereqs and remove default
* consolidate pod_install and install_prereqs scripts
* workaround travis 10 minute timeout for Firestore lint
* Define a Comparator for DocumentKey
* Automated migration from FSTDocumentKeySet to DocumentKeySet
* Manual fixups for DocumentKeySet
* Delete FSTDocumentKeySet
Previously, the tests would compare serialization results against a
precomputed (via protoc) array of bytes. Now they serialize via our
nanopb based class and deserialize via libprotobuf (and vice versa) and
then ensure the result is the same as the input
* Rename targets:
* Firestore_Example to Firestore_Example_iOS
* Firestore_Tests to Firestore_Tests_iOS
* Firestore_IntegrationTests to Firestore_IntegrationTests_iOS
* AllTests to AllTests_iOS
* Rename associated schemes the same way
* Update Podfile to reference the new targets
* lint.sh now lints Objective-C++ too
* cpplint checks system-style includes that should be user-style
This prevents it from recognizing project sources as if they were C
system headers and then complaining that they're in the wrong place.
* cpplint checks #imports and #includes
* cpplint checks that C++ system headers aren't #imported
* cpplint checks for C system headers that could be C++ system headers
* cpplint checks that Objective-C sources include their headers
* Migrate Firebase off @import statements
* - Migrate tests and test utils from @import to #import.
- Update Xcode projects for tests to explicitly link in framework deps.
- Update check_no_module_imports.sh to look for @imports in tests/test utils/
integration tests.
* Ensure check_no_module_imports.sh explicitly exits with code 0 on success.