From 0a6618705389543191a8c44278d4c6791c84602a Mon Sep 17 00:00:00 2001 From: Gil Date: Mon, 9 Apr 2018 11:54:39 -0700 Subject: Add lint checking for Objective-C++ sources (#1048) * 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 --- .../Example/Tests/Core/FSTQueryListenerTests.mm | 3 +- .../Example/Tests/Core/FSTSyncEngine+Testing.h | 2 + .../Example/Tests/GoogleTest/FSTGoogleTestTests.mm | 4 +- .../Tests/Local/FSTEagerGarbageCollectorTests.mm | 4 +- .../Example/Tests/Local/FSTLevelDBKeyTests.mm | 2 + .../Tests/Local/FSTLevelDBLocalStoreTests.mm | 5 +- .../Tests/Local/FSTLevelDBMigrationsTests.mm | 4 ++ .../Tests/Local/FSTLevelDBMutationQueueTests.mm | 4 +- .../Local/FSTLevelDBRemoteDocumentCacheTests.mm | 9 ++-- .../Tests/Local/FSTLevelDBTransactionTests.mm | 14 +++-- Firestore/Example/Tests/Local/FSTLocalStoreTests.h | 4 +- .../Tests/Local/FSTMemoryLocalStoreTests.mm | 5 +- .../Example/Tests/Local/FSTMutationQueueTests.mm | 4 +- .../Example/Tests/Local/FSTQueryCacheTests.mm | 2 + Firestore/Example/Tests/Local/StringViewTests.mm | 3 +- .../Example/Tests/Model/FSTFieldValueTests.mm | 1 - Firestore/Example/Tests/SpecTests/FSTSpecTests.mm | 6 +-- .../Tests/SpecTests/FSTSyncEngineTestDriver.mm | 6 +-- Firestore/Example/Tests/Util/FSTHelpers.mm | 11 ++-- .../Example/Tests/Util/FSTIntegrationTestCase.mm | 7 +-- Firestore/Source/API/FIRDocumentReference.mm | 4 +- Firestore/Source/API/FIRFieldPath.mm | 3 +- Firestore/Source/API/FIRFirestore.mm | 7 ++- Firestore/Source/API/FIRFirestoreVersion.mm | 2 + Firestore/Source/Core/FSTFirestoreClient.mm | 3 +- Firestore/Source/Core/FSTListenSequence.mm | 2 +- Firestore/Source/Core/FSTQuery.mm | 1 + Firestore/Source/Core/FSTSyncEngine.mm | 5 +- Firestore/Source/Core/FSTTransaction.mm | 4 +- Firestore/Source/Local/FSTLevelDB.mm | 5 +- Firestore/Source/Local/FSTLevelDBKey.h | 2 + Firestore/Source/Local/FSTLevelDBMigrations.mm | 8 +-- Firestore/Source/Local/FSTLevelDBMutationQueue.mm | 8 +-- Firestore/Source/Local/FSTLevelDBQueryCache.mm | 5 +- .../Source/Local/FSTLevelDBRemoteDocumentCache.mm | 5 +- Firestore/Source/Local/FSTLocalSerializer.mm | 2 +- Firestore/Source/Local/FSTLocalStore.mm | 2 + Firestore/Source/Local/FSTNoOpGarbageCollector.mm | 2 + Firestore/Source/Local/StringView.h | 17 +++--- Firestore/Source/Model/FSTDocumentKey.h | 1 + Firestore/Source/Model/FSTDocumentKey.mm | 1 + Firestore/Source/Model/FSTFieldValue.mm | 4 +- Firestore/Source/Remote/FSTDatastore.mm | 6 +-- Firestore/Source/Remote/FSTRemoteStore.mm | 2 +- Firestore/Source/Remote/FSTSerializerBeta.mm | 9 ++-- Firestore/Source/Remote/FSTStream.mm | 3 +- Firestore/Source/Util/FSTAssert.h | 2 +- Firestore/Source/Util/FSTUsageValidation.h | 2 +- Firestore/Source/Util/FSTUsageValidation.mm | 2 +- .../core/include/firebase/firestore/timestamp.h | 7 +-- Firestore/core/src/firebase/firestore/geo_point.cc | 2 +- .../firebase/firestore/immutable/sorted_map_base.h | 2 +- .../firebase/firestore/immutable/tree_sorted_map.h | 3 +- .../firestore/local/leveldb_transaction.cc | 3 +- .../firebase/firestore/local/leveldb_transaction.h | 8 +-- .../src/firebase/firestore/model/database_id.h | 3 +- .../src/firebase/firestore/model/field_value.cc | 3 +- .../src/firebase/firestore/model/field_value.h | 3 +- .../core/src/firebase/firestore/model/types.h | 2 +- .../src/firebase/firestore/remote/serializer.h | 4 +- .../src/firebase/firestore/util/assert_apple.mm | 6 +-- .../src/firebase/firestore/util/assert_stdio.cc | 3 +- Firestore/core/src/firebase/firestore/util/bits.h | 2 +- .../core/src/firebase/firestore/util/comparison.cc | 3 +- .../core/src/firebase/firestore/util/comparison.h | 2 +- .../src/firebase/firestore/util/firebase_assert.h | 2 +- Firestore/core/src/firebase/firestore/util/log.h | 2 +- .../core/src/firebase/firestore/util/log_stdio.cc | 2 +- .../src/firebase/firestore/util/ordered_code.cc | 7 ++- .../src/firebase/firestore/util/secure_random.h | 2 +- .../firestore/util/secure_random_arc4random.cc | 2 +- .../firestore/util/secure_random_openssl.cc | 4 +- .../src/firebase/firestore/util/string_printf.cc | 2 +- .../src/firebase/firestore/util/string_printf.h | 3 +- .../firebase/firestore/model/field_value_test.cc | 3 +- .../firebase/firestore/remote/datastore_test.cc | 5 +- .../test/firebase/firestore/util/autoid_test.cc | 4 +- .../firebase/firestore/util/comparison_test.cc | 5 +- .../firebase/firestore/util/secure_random_test.cc | 2 +- .../firebase/firestore/util/string_printf_test.cc | 2 +- .../firebase/firestore/util/string_util_test.cc | 2 +- scripts/cpplint.py | 38 ++++++++++++- scripts/lint.sh | 63 ++++++++++++++++++++-- 83 files changed, 272 insertions(+), 153 deletions(-) diff --git a/Firestore/Example/Tests/Core/FSTQueryListenerTests.mm b/Firestore/Example/Tests/Core/FSTQueryListenerTests.mm index bc253d0..0454152 100644 --- a/Firestore/Example/Tests/Core/FSTQueryListenerTests.mm +++ b/Firestore/Example/Tests/Core/FSTQueryListenerTests.mm @@ -14,10 +14,9 @@ * limitations under the License. */ -#import "Firestore/Source/Core/FSTEventManager.h" - #import +#import "Firestore/Source/Core/FSTEventManager.h" #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Core/FSTView.h" #import "Firestore/Source/Model/FSTDocument.h" diff --git a/Firestore/Example/Tests/Core/FSTSyncEngine+Testing.h b/Firestore/Example/Tests/Core/FSTSyncEngine+Testing.h index 6e7c45b..5d5c981 100644 --- a/Firestore/Example/Tests/Core/FSTSyncEngine+Testing.h +++ b/Firestore/Example/Tests/Core/FSTSyncEngine+Testing.h @@ -16,6 +16,8 @@ #import +#include + #import "Firestore/Source/Core/FSTSyncEngine.h" #include "Firestore/core/src/firebase/firestore/model/document_key.h" diff --git a/Firestore/Example/Tests/GoogleTest/FSTGoogleTestTests.mm b/Firestore/Example/Tests/GoogleTest/FSTGoogleTestTests.mm index 18dfaf3..ec14880 100644 --- a/Firestore/Example/Tests/GoogleTest/FSTGoogleTestTests.mm +++ b/Firestore/Example/Tests/GoogleTest/FSTGoogleTestTests.mm @@ -17,9 +17,9 @@ #import #import -#include +#import "Firestore/Source/Util/FSTAssert.h" -#include "Firestore/Source/Util/FSTAssert.h" +#include "gtest/gtest.h" /** * An XCTest test case that finds C++ test cases written in the GoogleTest framework, runs them, and diff --git a/Firestore/Example/Tests/Local/FSTEagerGarbageCollectorTests.mm b/Firestore/Example/Tests/Local/FSTEagerGarbageCollectorTests.mm index 2cf530c..615b3f6 100644 --- a/Firestore/Example/Tests/Local/FSTEagerGarbageCollectorTests.mm +++ b/Firestore/Example/Tests/Local/FSTEagerGarbageCollectorTests.mm @@ -16,10 +16,10 @@ #import "Firestore/Source/Local/FSTEagerGarbageCollector.h" -#include - #import +#include + #import "Firestore/Source/Local/FSTReferenceSet.h" #import "Firestore/Source/Model/FSTDocumentKey.h" diff --git a/Firestore/Example/Tests/Local/FSTLevelDBKeyTests.mm b/Firestore/Example/Tests/Local/FSTLevelDBKeyTests.mm index f23b7c5..c4b7e29 100644 --- a/Firestore/Example/Tests/Local/FSTLevelDBKeyTests.mm +++ b/Firestore/Example/Tests/Local/FSTLevelDBKeyTests.mm @@ -18,6 +18,8 @@ #import +#include + #import "Firestore/Example/Tests/Util/FSTHelpers.h" #include "Firestore/core/src/firebase/firestore/util/string_apple.h" diff --git a/Firestore/Example/Tests/Local/FSTLevelDBLocalStoreTests.mm b/Firestore/Example/Tests/Local/FSTLevelDBLocalStoreTests.mm index 97e3c5b..29caa84 100644 --- a/Firestore/Example/Tests/Local/FSTLevelDBLocalStoreTests.mm +++ b/Firestore/Example/Tests/Local/FSTLevelDBLocalStoreTests.mm @@ -14,13 +14,10 @@ * limitations under the License. */ -#import "Firestore/Source/Local/FSTLocalStore.h" - -#import +#import "Firestore/Example/Tests/Local/FSTLocalStoreTests.h" #import "Firestore/Source/Local/FSTLevelDB.h" -#import "Firestore/Example/Tests/Local/FSTLocalStoreTests.h" #import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Example/Tests/Local/FSTLevelDBMigrationsTests.mm b/Firestore/Example/Tests/Local/FSTLevelDBMigrationsTests.mm index 14910ce..3da8083 100644 --- a/Firestore/Example/Tests/Local/FSTLevelDBMigrationsTests.mm +++ b/Firestore/Example/Tests/Local/FSTLevelDBMigrationsTests.mm @@ -16,11 +16,15 @@ #import +#include +#include + #import "Firestore/Protos/objc/firestore/local/Target.pbobjc.h" #import "Firestore/Source/Local/FSTLevelDB.h" #import "Firestore/Source/Local/FSTLevelDBKey.h" #import "Firestore/Source/Local/FSTLevelDBMigrations.h" #import "Firestore/Source/Local/FSTLevelDBQueryCache.h" + #include "Firestore/core/src/firebase/firestore/util/ordered_code.h" #include "leveldb/db.h" diff --git a/Firestore/Example/Tests/Local/FSTLevelDBMutationQueueTests.mm b/Firestore/Example/Tests/Local/FSTLevelDBMutationQueueTests.mm index cd8176e..60d9800 100644 --- a/Firestore/Example/Tests/Local/FSTLevelDBMutationQueueTests.mm +++ b/Firestore/Example/Tests/Local/FSTLevelDBMutationQueueTests.mm @@ -17,7 +17,8 @@ #import "Firestore/Source/Local/FSTLevelDBMutationQueue.h" #import -#include + +#include #import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h" #import "Firestore/Source/Local/FSTLevelDB.h" @@ -28,6 +29,7 @@ #include "Firestore/core/src/firebase/firestore/auth/user.h" #include "Firestore/core/src/firebase/firestore/util/ordered_code.h" +#include "leveldb/db.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Example/Tests/Local/FSTLevelDBRemoteDocumentCacheTests.mm b/Firestore/Example/Tests/Local/FSTLevelDBRemoteDocumentCacheTests.mm index d69e613..7baf1ef 100644 --- a/Firestore/Example/Tests/Local/FSTLevelDBRemoteDocumentCacheTests.mm +++ b/Firestore/Example/Tests/Local/FSTLevelDBRemoteDocumentCacheTests.mm @@ -14,16 +14,15 @@ * limitations under the License. */ -#import "Firestore/Example/Tests/Local/FSTRemoteDocumentCacheTests.h" - -#include +#include +#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h" +#import "Firestore/Example/Tests/Local/FSTRemoteDocumentCacheTests.h" #import "Firestore/Source/Local/FSTLevelDB.h" #import "Firestore/Source/Local/FSTLevelDBKey.h" -#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h" - #include "Firestore/core/src/firebase/firestore/util/ordered_code.h" +#include "leveldb/db.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Example/Tests/Local/FSTLevelDBTransactionTests.mm b/Firestore/Example/Tests/Local/FSTLevelDBTransactionTests.mm index a32ce9f..29f5d6c 100644 --- a/Firestore/Example/Tests/Local/FSTLevelDBTransactionTests.mm +++ b/Firestore/Example/Tests/Local/FSTLevelDBTransactionTests.mm @@ -14,15 +14,23 @@ * limitations under the License. */ +#import + +#include +#include + +// This is out of order to satisfy the linter, which doesn't realize this is +// the header corresponding to this test. +// TODO(wilhuff): move this to the top once the test filename matches #include "Firestore/core/src/firebase/firestore/local/leveldb_transaction.h" -#import -#include -#include #import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h" #import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h" #import "Firestore/Protos/objc/firestore/local/Target.pbobjc.h" + #include "Firestore/core/src/firebase/firestore/local/leveldb_key.h" +#include "absl/strings/string_view.h" +#include "leveldb/db.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Example/Tests/Local/FSTLocalStoreTests.h b/Firestore/Example/Tests/Local/FSTLocalStoreTests.h index 8e06d82..e514954 100644 --- a/Firestore/Example/Tests/Local/FSTLocalStoreTests.h +++ b/Firestore/Example/Tests/Local/FSTLocalStoreTests.h @@ -16,7 +16,9 @@ #import -@class FSTLocalStore; +#import "Firestore/Source/Local/FSTLocalStore.h" + +@protocol FSTPersistence; NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Example/Tests/Local/FSTMemoryLocalStoreTests.mm b/Firestore/Example/Tests/Local/FSTMemoryLocalStoreTests.mm index b78239e..7708eed 100644 --- a/Firestore/Example/Tests/Local/FSTMemoryLocalStoreTests.mm +++ b/Firestore/Example/Tests/Local/FSTMemoryLocalStoreTests.mm @@ -14,13 +14,10 @@ * limitations under the License. */ -#import "Firestore/Source/Local/FSTLocalStore.h" - -#import +#import "Firestore/Example/Tests/Local/FSTLocalStoreTests.h" #import "Firestore/Source/Local/FSTMemoryPersistence.h" -#import "Firestore/Example/Tests/Local/FSTLocalStoreTests.h" #import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Example/Tests/Local/FSTMutationQueueTests.mm b/Firestore/Example/Tests/Local/FSTMutationQueueTests.mm index b228657..5b5bdd1 100644 --- a/Firestore/Example/Tests/Local/FSTMutationQueueTests.mm +++ b/Firestore/Example/Tests/Local/FSTMutationQueueTests.mm @@ -17,6 +17,9 @@ #import "Firestore/Example/Tests/Local/FSTMutationQueueTests.h" #import + +#include + #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Local/FSTEagerGarbageCollector.h" #import "Firestore/Source/Local/FSTMutationQueue.h" @@ -246,7 +249,6 @@ NS_ASSUME_NONNULL_BEGIN return newBatches; }); self.persistence.run("testNextMutationBatchAfterBatchIDSkipsAcknowledgedBatches", [&]() { - [self.mutationQueue acknowledgeBatch:batches[0] streamToken:nil]; XCTAssertEqualObjects([self.mutationQueue nextMutationBatchAfterBatchID:kFSTBatchIDUnknown], batches[1]); diff --git a/Firestore/Example/Tests/Local/FSTQueryCacheTests.mm b/Firestore/Example/Tests/Local/FSTQueryCacheTests.mm index 956afa9..429a83a 100644 --- a/Firestore/Example/Tests/Local/FSTQueryCacheTests.mm +++ b/Firestore/Example/Tests/Local/FSTQueryCacheTests.mm @@ -16,6 +16,8 @@ #import "Firestore/Example/Tests/Local/FSTQueryCacheTests.h" +#include + #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Core/FSTSnapshotVersion.h" #import "Firestore/Source/Local/FSTEagerGarbageCollector.h" diff --git a/Firestore/Example/Tests/Local/StringViewTests.mm b/Firestore/Example/Tests/Local/StringViewTests.mm index b30b43d..7c86924 100644 --- a/Firestore/Example/Tests/Local/StringViewTests.mm +++ b/Firestore/Example/Tests/Local/StringViewTests.mm @@ -17,7 +17,8 @@ #import "Firestore/Source/Local/StringView.h" #import -#include + +#include "leveldb/slice.h" using Firestore::StringView; diff --git a/Firestore/Example/Tests/Model/FSTFieldValueTests.mm b/Firestore/Example/Tests/Model/FSTFieldValueTests.mm index 98504b5..d16a01d 100644 --- a/Firestore/Example/Tests/Model/FSTFieldValueTests.mm +++ b/Firestore/Example/Tests/Model/FSTFieldValueTests.mm @@ -22,7 +22,6 @@ #import "Firestore/Source/API/FIRFirestore+Internal.h" #import "Firestore/Source/API/FSTUserDataConverter.h" -#import "Firestore/Source/Model/FSTFieldValue.h" #import "Firestore/Example/Tests/API/FSTAPIHelpers.h" #import "Firestore/Example/Tests/Util/FSTHelpers.h" diff --git a/Firestore/Example/Tests/SpecTests/FSTSpecTests.mm b/Firestore/Example/Tests/SpecTests/FSTSpecTests.mm index f66e6c7..128f825 100644 --- a/Firestore/Example/Tests/SpecTests/FSTSpecTests.mm +++ b/Firestore/Example/Tests/SpecTests/FSTSpecTests.mm @@ -16,12 +16,12 @@ #import "Firestore/Example/Tests/SpecTests/FSTSpecTests.h" -#include -#include - #import #import +#include +#include + #import "Firestore/Source/Core/FSTEventManager.h" #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Core/FSTSnapshotVersion.h" diff --git a/Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.mm b/Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.mm index 91140bf..f167ce5 100644 --- a/Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.mm +++ b/Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.mm @@ -16,12 +16,12 @@ #import "Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.h" -#include -#include - #import #import +#include +#include + #import "Firestore/Source/Core/FSTEventManager.h" #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Core/FSTSnapshotVersion.h" diff --git a/Firestore/Example/Tests/Util/FSTHelpers.mm b/Firestore/Example/Tests/Util/FSTHelpers.mm index cc120a9..8f170e6 100644 --- a/Firestore/Example/Tests/Util/FSTHelpers.mm +++ b/Firestore/Example/Tests/Util/FSTHelpers.mm @@ -16,15 +16,16 @@ #import "Firestore/Example/Tests/Util/FSTHelpers.h" -#include -#include -#include -#include - #import #import #import +#include +#include +#include +#include +#include + #import "Firestore/Source/API/FIRFieldPath+Internal.h" #import "Firestore/Source/API/FSTUserDataConverter.h" #import "Firestore/Source/Core/FSTQuery.h" diff --git a/Firestore/Example/Tests/Util/FSTIntegrationTestCase.mm b/Firestore/Example/Tests/Util/FSTIntegrationTestCase.mm index 611bcc8..79163da 100644 --- a/Firestore/Example/Tests/Util/FSTIntegrationTestCase.mm +++ b/Firestore/Example/Tests/Util/FSTIntegrationTestCase.mm @@ -16,14 +16,15 @@ #import "Firestore/Example/Tests/Util/FSTIntegrationTestCase.h" -#include -#include - #import #import #import #import +#include +#include +#include + #include "Firestore/core/src/firebase/firestore/auth/empty_credentials_provider.h" #include "Firestore/core/src/firebase/firestore/model/database_id.h" #include "Firestore/core/src/firebase/firestore/util/autoid.h" diff --git a/Firestore/Source/API/FIRDocumentReference.mm b/Firestore/Source/API/FIRDocumentReference.mm index cc52d45..67e401d 100644 --- a/Firestore/Source/API/FIRDocumentReference.mm +++ b/Firestore/Source/API/FIRDocumentReference.mm @@ -16,11 +16,11 @@ #import "FIRDocumentReference.h" +#import + #include #include -#import - #import "FIRFirestoreErrors.h" #import "FIRSnapshotMetadata.h" #import "Firestore/Source/API/FIRCollectionReference+Internal.h" diff --git a/Firestore/Source/API/FIRFieldPath.mm b/Firestore/Source/API/FIRFieldPath.mm index c651160..d0d8714 100644 --- a/Firestore/Source/API/FIRFieldPath.mm +++ b/Firestore/Source/API/FIRFieldPath.mm @@ -14,13 +14,14 @@ * limitations under the License. */ -#import "Firestore/Source/API/FIRFieldPath+Internal.h" +#import "FIRFieldPath.h" #include #include #include #include +#import "Firestore/Source/API/FIRFieldPath+Internal.h" #import "Firestore/Source/Util/FSTUsageValidation.h" #include "Firestore/core/src/firebase/firestore/model/field_path.h" diff --git a/Firestore/Source/API/FIRFirestore.mm b/Firestore/Source/API/FIRFirestore.mm index 45d67cf..fe461d6 100644 --- a/Firestore/Source/API/FIRFirestore.mm +++ b/Firestore/Source/API/FIRFirestore.mm @@ -16,14 +16,14 @@ #import "FIRFirestore.h" -#include -#include - #import #import #import #import +#include +#include + #import "FIRFirestoreSettings.h" #import "Firestore/Source/API/FIRCollectionReference+Internal.h" #import "Firestore/Source/API/FIRDocumentReference+Internal.h" @@ -31,7 +31,6 @@ #import "Firestore/Source/API/FIRTransaction+Internal.h" #import "Firestore/Source/API/FIRWriteBatch+Internal.h" #import "Firestore/Source/API/FSTUserDataConverter.h" - #import "Firestore/Source/Core/FSTFirestoreClient.h" #import "Firestore/Source/Util/FSTAssert.h" #import "Firestore/Source/Util/FSTDispatchQueue.h" diff --git a/Firestore/Source/API/FIRFirestoreVersion.mm b/Firestore/Source/API/FIRFirestoreVersion.mm index b1fe480..8ebe814 100644 --- a/Firestore/Source/API/FIRFirestoreVersion.mm +++ b/Firestore/Source/API/FIRFirestoreVersion.mm @@ -14,6 +14,8 @@ * limitations under the License. */ +#import "Firestore/Source/API/FIRFirestoreVersion.h" + #ifndef FIRFirestore_VERSION #error "FIRFirestore_VERSION is not defined: add -DFIRFirestore_VERSION=... to the build invocation" #endif diff --git a/Firestore/Source/Core/FSTFirestoreClient.mm b/Firestore/Source/Core/FSTFirestoreClient.mm index c0d38ca..33d1903 100644 --- a/Firestore/Source/Core/FSTFirestoreClient.mm +++ b/Firestore/Source/Core/FSTFirestoreClient.mm @@ -16,7 +16,8 @@ #import "Firestore/Source/Core/FSTFirestoreClient.h" -#import +#include // NOLINT(build/c++11) +#include #import "Firestore/Source/Core/FSTEventManager.h" #import "Firestore/Source/Core/FSTSyncEngine.h" diff --git a/Firestore/Source/Core/FSTListenSequence.mm b/Firestore/Source/Core/FSTListenSequence.mm index 6f50d35..6a9f9ae 100644 --- a/Firestore/Source/Core/FSTListenSequence.mm +++ b/Firestore/Source/Core/FSTListenSequence.mm @@ -14,7 +14,7 @@ * limitations under the License. */ -#import "FSTListenSequence.h" +#import "Firestore/Source/Core/FSTListenSequence.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Source/Core/FSTQuery.mm b/Firestore/Source/Core/FSTQuery.mm index 811ad03..8f49c26 100644 --- a/Firestore/Source/Core/FSTQuery.mm +++ b/Firestore/Source/Core/FSTQuery.mm @@ -17,6 +17,7 @@ #import "Firestore/Source/Core/FSTQuery.h" #include +#include #include #import "Firestore/Source/API/FIRFirestore+Internal.h" diff --git a/Firestore/Source/Core/FSTSyncEngine.mm b/Firestore/Source/Core/FSTSyncEngine.mm index 673991c..0a4fc94 100644 --- a/Firestore/Source/Core/FSTSyncEngine.mm +++ b/Firestore/Source/Core/FSTSyncEngine.mm @@ -16,11 +16,12 @@ #import "Firestore/Source/Core/FSTSyncEngine.h" +#import + #include +#include #include -#import - #import "FIRFirestoreErrors.h" #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Core/FSTSnapshotVersion.h" diff --git a/Firestore/Source/Core/FSTTransaction.mm b/Firestore/Source/Core/FSTTransaction.mm index 9e67ed4..71c1f35 100644 --- a/Firestore/Source/Core/FSTTransaction.mm +++ b/Firestore/Source/Core/FSTTransaction.mm @@ -16,11 +16,11 @@ #import "Firestore/Source/Core/FSTTransaction.h" +#import + #include #include -#import - #import "FIRFirestoreErrors.h" #import "FIRSetOptions.h" #import "Firestore/Source/API/FSTUserDataConverter.h" diff --git a/Firestore/Source/Local/FSTLevelDB.mm b/Firestore/Source/Local/FSTLevelDB.mm index 4812228..fae85e7 100644 --- a/Firestore/Source/Local/FSTLevelDB.mm +++ b/Firestore/Source/Local/FSTLevelDB.mm @@ -16,7 +16,7 @@ #import "Firestore/Source/Local/FSTLevelDB.h" -#include +#include #import "FIRFirestoreErrors.h" #import "Firestore/Source/Local/FSTLevelDBMigrations.h" @@ -26,13 +26,14 @@ #import "Firestore/Source/Remote/FSTSerializerBeta.h" #import "Firestore/Source/Util/FSTAssert.h" #import "Firestore/Source/Util/FSTLogger.h" -#include "absl/memory/memory.h" #include "Firestore/core/src/firebase/firestore/auth/user.h" #include "Firestore/core/src/firebase/firestore/core/database_info.h" #include "Firestore/core/src/firebase/firestore/local/leveldb_transaction.h" #include "Firestore/core/src/firebase/firestore/model/database_id.h" #include "Firestore/core/src/firebase/firestore/util/string_apple.h" +#include "absl/memory/memory.h" +#include "leveldb/db.h" namespace util = firebase::firestore::util; using firebase::firestore::auth::User; diff --git a/Firestore/Source/Local/FSTLevelDBKey.h b/Firestore/Source/Local/FSTLevelDBKey.h index c7a64ee..5b234ec 100644 --- a/Firestore/Source/Local/FSTLevelDBKey.h +++ b/Firestore/Source/Local/FSTLevelDBKey.h @@ -16,6 +16,8 @@ #import +#include + #import "Firestore/Source/Core/FSTTypes.h" #import "Firestore/Source/Local/StringView.h" diff --git a/Firestore/Source/Local/FSTLevelDBMigrations.mm b/Firestore/Source/Local/FSTLevelDBMigrations.mm index cf06c9f..fefd0f7 100644 --- a/Firestore/Source/Local/FSTLevelDBMigrations.mm +++ b/Firestore/Source/Local/FSTLevelDBMigrations.mm @@ -14,16 +14,18 @@ * limitations under the License. */ -#include "Firestore/Source/Local/FSTLevelDBMigrations.h" +#import "Firestore/Source/Local/FSTLevelDBMigrations.h" -#include -#include "leveldb/write_batch.h" +#include #import "Firestore/Protos/objc/firestore/local/Target.pbobjc.h" #import "Firestore/Source/Local/FSTLevelDBKey.h" #import "Firestore/Source/Local/FSTLevelDBQueryCache.h" #import "Firestore/Source/Util/FSTAssert.h" +#include "absl/strings/match.h" +#include "leveldb/write_batch.h" + NS_ASSUME_NONNULL_BEGIN // Current version of the schema defined in this file. diff --git a/Firestore/Source/Local/FSTLevelDBMutationQueue.mm b/Firestore/Source/Local/FSTLevelDBMutationQueue.mm index 29acead..75c3cf6 100644 --- a/Firestore/Source/Local/FSTLevelDBMutationQueue.mm +++ b/Firestore/Source/Local/FSTLevelDBMutationQueue.mm @@ -16,13 +16,10 @@ #import "Firestore/Source/Local/FSTLevelDBMutationQueue.h" +#include #include #include -#include -#include -#include - #import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h" #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Local/FSTLevelDB.h" @@ -38,6 +35,9 @@ #include "Firestore/core/src/firebase/firestore/model/resource_path.h" #include "Firestore/core/src/firebase/firestore/util/string_apple.h" #include "Firestore/core/src/firebase/firestore/util/string_util.h" +#include "absl/strings/match.h" +#include "leveldb/db.h" +#include "leveldb/write_batch.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Source/Local/FSTLevelDBQueryCache.mm b/Firestore/Source/Local/FSTLevelDBQueryCache.mm index aa1ab41..5fde7d7 100644 --- a/Firestore/Source/Local/FSTLevelDBQueryCache.mm +++ b/Firestore/Source/Local/FSTLevelDBQueryCache.mm @@ -16,6 +16,9 @@ #import "Firestore/Source/Local/FSTLevelDBQueryCache.h" +#include +#include + #import "Firestore/Protos/objc/firestore/local/Target.pbobjc.h" #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Local/FSTLevelDB.h" @@ -23,9 +26,9 @@ #import "Firestore/Source/Local/FSTLocalSerializer.h" #import "Firestore/Source/Local/FSTQueryData.h" #import "Firestore/Source/Util/FSTAssert.h" -#include "absl/strings/match.h" #include "Firestore/core/src/firebase/firestore/model/document_key.h" +#include "absl/strings/match.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm index 703fc69..f655e3a 100644 --- a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm +++ b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm @@ -16,8 +16,6 @@ #import "Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h" -#include -#include #include #import "Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.h" @@ -29,8 +27,11 @@ #import "Firestore/Source/Model/FSTDocumentDictionary.h" #import "Firestore/Source/Model/FSTDocumentSet.h" #import "Firestore/Source/Util/FSTAssert.h" + #include "Firestore/core/src/firebase/firestore/local/leveldb_transaction.h" #include "Firestore/core/src/firebase/firestore/model/document_key.h" +#include "leveldb/db.h" +#include "leveldb/write_batch.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Source/Local/FSTLocalSerializer.mm b/Firestore/Source/Local/FSTLocalSerializer.mm index 1d9455d..61e173a 100644 --- a/Firestore/Source/Local/FSTLocalSerializer.mm +++ b/Firestore/Source/Local/FSTLocalSerializer.mm @@ -16,7 +16,7 @@ #import "Firestore/Source/Local/FSTLocalSerializer.h" -#include +#include #import "Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.h" #import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h" diff --git a/Firestore/Source/Local/FSTLocalStore.mm b/Firestore/Source/Local/FSTLocalStore.mm index 990e332..b5dfeec 100644 --- a/Firestore/Source/Local/FSTLocalStore.mm +++ b/Firestore/Source/Local/FSTLocalStore.mm @@ -16,6 +16,8 @@ #import "Firestore/Source/Local/FSTLocalStore.h" +#include + #import "FIRTimestamp.h" #import "Firestore/Source/Core/FSTListenSequence.h" #import "Firestore/Source/Core/FSTQuery.h" diff --git a/Firestore/Source/Local/FSTNoOpGarbageCollector.mm b/Firestore/Source/Local/FSTNoOpGarbageCollector.mm index 451cde2..421d283 100644 --- a/Firestore/Source/Local/FSTNoOpGarbageCollector.mm +++ b/Firestore/Source/Local/FSTNoOpGarbageCollector.mm @@ -16,6 +16,8 @@ #import "Firestore/Source/Local/FSTNoOpGarbageCollector.h" +#include + #include "Firestore/core/src/firebase/firestore/model/document_key.h" using firebase::firestore::model::DocumentKey; diff --git a/Firestore/Source/Local/StringView.h b/Firestore/Source/Local/StringView.h index 4e36cff..85afcaa 100644 --- a/Firestore/Source/Local/StringView.h +++ b/Firestore/Source/Local/StringView.h @@ -19,9 +19,10 @@ #import -#include #include + #include "absl/strings/string_view.h" +#include "leveldb/slice.h" namespace Firestore { @@ -43,7 +44,7 @@ class StringView { // Creates a StringView from an NSString. When StringView is an argument type // into which an NSString* is passed, the caller should ensure that the // NSString is retained. - StringView(NSString *str) + StringView(NSString *str) // NOLINT(runtime/explicit) : data_([str UTF8String]), size_([str lengthOfBytesUsingEncoding:NSUTF8StringEncoding]) { } @@ -54,20 +55,24 @@ class StringView { // Creates a StringView from the given char* pointer but computes the size // with strlen. This is really only suitable for passing C string literals. - StringView(const char *data) : data_(data), size_(strlen(data)) { + StringView(const char *data) // NOLINT(runtime/explicit) + : data_(data), size_(strlen(data)) { } // Creates a StringView from the given slice. - StringView(leveldb::Slice slice) : data_(slice.data()), size_(slice.size()) { + StringView(leveldb::Slice slice) // NOLINT(runtime/explicit) + : data_(slice.data()), size_(slice.size()) { } // Creates a StringView from the absl::string_view. - StringView(absl::string_view s) : data_(s.data()), size_(s.size()) { + StringView(absl::string_view s) // NOLINT(runtime/explicit) + : data_(s.data()), size_(s.size()) { } // Creates a StringView from the given std::string. The string must be an // lvalue for the lifetime requirements to be satisfied. - StringView(const std::string &str) : data_(str.data()), size_(str.size()) { + StringView(const std::string &str) // NOLINT(runtime/explicit) + : data_(str.data()), size_(str.size()) { } // Converts this StringView to a Slice, which is an equivalent (and more diff --git a/Firestore/Source/Model/FSTDocumentKey.h b/Firestore/Source/Model/FSTDocumentKey.h index dbcff2c..a403117 100644 --- a/Firestore/Source/Model/FSTDocumentKey.h +++ b/Firestore/Source/Model/FSTDocumentKey.h @@ -17,6 +17,7 @@ #import #include +#include #include "Firestore/core/src/firebase/firestore/model/resource_path.h" diff --git a/Firestore/Source/Model/FSTDocumentKey.mm b/Firestore/Source/Model/FSTDocumentKey.mm index cbe9c89..679d7a6 100644 --- a/Firestore/Source/Model/FSTDocumentKey.mm +++ b/Firestore/Source/Model/FSTDocumentKey.mm @@ -16,6 +16,7 @@ #import "Firestore/Source/Model/FSTDocumentKey.h" +#include #include #import "Firestore/Source/Core/FSTFirestoreClient.h" diff --git a/Firestore/Source/Model/FSTFieldValue.mm b/Firestore/Source/Model/FSTFieldValue.mm index 80bd11f..0d7c649 100644 --- a/Firestore/Source/Model/FSTFieldValue.mm +++ b/Firestore/Source/Model/FSTFieldValue.mm @@ -18,9 +18,6 @@ #import "FIRTimestamp.h" -#include "Firestore/core/src/firebase/firestore/util/comparison.h" -#include "Firestore/core/src/firebase/firestore/util/string_apple.h" - #import "Firestore/Source/API/FIRGeoPoint+Internal.h" #import "Firestore/Source/API/FIRSnapshotOptions+Internal.h" #import "Firestore/Source/Model/FSTDocumentKey.h" @@ -29,6 +26,7 @@ #include "Firestore/core/src/firebase/firestore/model/database_id.h" #include "Firestore/core/src/firebase/firestore/model/field_path.h" +#include "Firestore/core/src/firebase/firestore/util/comparison.h" #include "Firestore/core/src/firebase/firestore/util/string_apple.h" namespace util = firebase::firestore::util; diff --git a/Firestore/Source/Remote/FSTDatastore.mm b/Firestore/Source/Remote/FSTDatastore.mm index 501237f..b34f78f 100644 --- a/Firestore/Source/Remote/FSTDatastore.mm +++ b/Firestore/Source/Remote/FSTDatastore.mm @@ -16,12 +16,12 @@ #import "Firestore/Source/Remote/FSTDatastore.h" -#include -#include - #import #import +#include +#include + #import "FIRFirestoreErrors.h" #import "Firestore/Source/API/FIRFirestore+Internal.h" #import "Firestore/Source/API/FIRFirestoreVersion.h" diff --git a/Firestore/Source/Remote/FSTRemoteStore.mm b/Firestore/Source/Remote/FSTRemoteStore.mm index 8892ffb..39d285a 100644 --- a/Firestore/Source/Remote/FSTRemoteStore.mm +++ b/Firestore/Source/Remote/FSTRemoteStore.mm @@ -16,7 +16,7 @@ #import "Firestore/Source/Remote/FSTRemoteStore.h" -#include +#include #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Core/FSTSnapshotVersion.h" diff --git a/Firestore/Source/Remote/FSTSerializerBeta.mm b/Firestore/Source/Remote/FSTSerializerBeta.mm index 5433154..095d731 100644 --- a/Firestore/Source/Remote/FSTSerializerBeta.mm +++ b/Firestore/Source/Remote/FSTSerializerBeta.mm @@ -16,10 +16,12 @@ #import "Firestore/Source/Remote/FSTSerializerBeta.h" -#include - #import -#import "FIRTimestamp.h" + +#include +#include +#include +#include #import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" #import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" @@ -31,6 +33,7 @@ #import "FIRFirestoreErrors.h" #import "FIRGeoPoint.h" +#import "FIRTimestamp.h" #import "Firestore/Source/Core/FSTQuery.h" #import "Firestore/Source/Core/FSTSnapshotVersion.h" #import "Firestore/Source/Local/FSTQueryData.h" diff --git a/Firestore/Source/Remote/FSTStream.mm b/Firestore/Source/Remote/FSTStream.mm index f65230b..a96feae 100644 --- a/Firestore/Source/Remote/FSTStream.mm +++ b/Firestore/Source/Remote/FSTStream.mm @@ -14,8 +14,6 @@ * limitations under the License. */ -#import "Firestore/Source/Remote/FSTDatastore.h" - #import #import @@ -24,6 +22,7 @@ #import "Firestore/Source/Local/FSTQueryData.h" #import "Firestore/Source/Model/FSTMutation.h" #import "Firestore/Source/Remote/FSTBufferedWriter.h" +#import "Firestore/Source/Remote/FSTDatastore.h" #import "Firestore/Source/Remote/FSTExponentialBackoff.h" #import "Firestore/Source/Remote/FSTSerializerBeta.h" #import "Firestore/Source/Remote/FSTStream.h" diff --git a/Firestore/Source/Util/FSTAssert.h b/Firestore/Source/Util/FSTAssert.h index 77bbb1d..610d306 100644 --- a/Firestore/Source/Util/FSTAssert.h +++ b/Firestore/Source/Util/FSTAssert.h @@ -14,7 +14,7 @@ * limitations under the License. */ -#include +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Source/Util/FSTUsageValidation.h b/Firestore/Source/Util/FSTUsageValidation.h index a80dafa..05933ea 100644 --- a/Firestore/Source/Util/FSTUsageValidation.h +++ b/Firestore/Source/Util/FSTUsageValidation.h @@ -14,7 +14,7 @@ * limitations under the License. */ -#include +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Source/Util/FSTUsageValidation.mm b/Firestore/Source/Util/FSTUsageValidation.mm index 82128f4..93abf87 100644 --- a/Firestore/Source/Util/FSTUsageValidation.mm +++ b/Firestore/Source/Util/FSTUsageValidation.mm @@ -14,7 +14,7 @@ * limitations under the License. */ -#include +#import "Firestore/Source/Util/FSTUsageValidation.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/core/include/firebase/firestore/timestamp.h b/Firestore/core/include/firebase/firestore/timestamp.h index 2ee1c46..1736981 100644 --- a/Firestore/core/include/firebase/firestore/timestamp.h +++ b/Firestore/core/include/firebase/firestore/timestamp.h @@ -17,12 +17,13 @@ #ifndef FIRESTORE_CORE_INCLUDE_FIREBASE_FIRESTORE_TIMESTAMP_H_ #define FIRESTORE_CORE_INCLUDE_FIREBASE_FIRESTORE_TIMESTAMP_H_ -#include -#include +#include +#include +#include + #if !defined(_STLPORT_VERSION) #include // NOLINT(build/c++11) #endif // !defined(_STLPORT_VERSION) -#include namespace firebase { diff --git a/Firestore/core/src/firebase/firestore/geo_point.cc b/Firestore/core/src/firebase/firestore/geo_point.cc index fb01023..2f35390 100644 --- a/Firestore/core/src/firebase/firestore/geo_point.cc +++ b/Firestore/core/src/firebase/firestore/geo_point.cc @@ -16,7 +16,7 @@ #include "Firestore/core/include/firebase/firestore/geo_point.h" -#include +#include #include "Firestore/core/src/firebase/firestore/util/firebase_assert.h" diff --git a/Firestore/core/src/firebase/firestore/immutable/sorted_map_base.h b/Firestore/core/src/firebase/firestore/immutable/sorted_map_base.h index accb5ef..cfb19c1 100644 --- a/Firestore/core/src/firebase/firestore/immutable/sorted_map_base.h +++ b/Firestore/core/src/firebase/firestore/immutable/sorted_map_base.h @@ -17,7 +17,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_IMMUTABLE_SORTED_MAP_BASE_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_IMMUTABLE_SORTED_MAP_BASE_H_ -#include +#include namespace firebase { namespace firestore { diff --git a/Firestore/core/src/firebase/firestore/immutable/tree_sorted_map.h b/Firestore/core/src/firebase/firestore/immutable/tree_sorted_map.h index e3102e7..dfe270d 100644 --- a/Firestore/core/src/firebase/firestore/immutable/tree_sorted_map.h +++ b/Firestore/core/src/firebase/firestore/immutable/tree_sorted_map.h @@ -17,9 +17,8 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_IMMUTABLE_TREE_SORTED_MAP_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_IMMUTABLE_TREE_SORTED_MAP_H_ -#include - #include +#include #include #include #include diff --git a/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc b/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc index d84d441..f998550 100644 --- a/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc +++ b/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc @@ -16,12 +16,11 @@ #include "Firestore/core/src/firebase/firestore/local/leveldb_transaction.h" -#include - #include "Firestore/core/src/firebase/firestore/local/leveldb_key.h" #include "Firestore/core/src/firebase/firestore/util/firebase_assert.h" #include "Firestore/core/src/firebase/firestore/util/log.h" #include "absl/memory/memory.h" +#include "leveldb/write_batch.h" using leveldb::DB; using leveldb::ReadOptions; diff --git a/Firestore/core/src/firebase/firestore/local/leveldb_transaction.h b/Firestore/core/src/firebase/firestore/local/leveldb_transaction.h index 56a9a77..a6ddce2 100644 --- a/Firestore/core/src/firebase/firestore/local/leveldb_transaction.h +++ b/Firestore/core/src/firebase/firestore/local/leveldb_transaction.h @@ -17,16 +17,16 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_LOCAL_LEVELDB_TRANSACTION_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_LOCAL_LEVELDB_TRANSACTION_H_ -#include -#include - -#include +#include #include #include #include #include #include +#include "absl/strings/string_view.h" +#include "leveldb/db.h" + #if __OBJC__ #import #endif diff --git a/Firestore/core/src/firebase/firestore/model/database_id.h b/Firestore/core/src/firebase/firestore/model/database_id.h index 2ad1332..e1feca9 100644 --- a/Firestore/core/src/firebase/firestore/model/database_id.h +++ b/Firestore/core/src/firebase/firestore/model/database_id.h @@ -17,8 +17,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_MODEL_DATABASE_ID_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_MODEL_DATABASE_ID_H_ -#include - +#include #include #include "absl/strings/string_view.h" diff --git a/Firestore/core/src/firebase/firestore/model/field_value.cc b/Firestore/core/src/firebase/firestore/model/field_value.cc index 2c1af53..1a40331 100644 --- a/Firestore/core/src/firebase/firestore/model/field_value.cc +++ b/Firestore/core/src/firebase/firestore/model/field_value.cc @@ -16,9 +16,8 @@ #include "Firestore/core/src/firebase/firestore/model/field_value.h" -#include - #include +#include #include #include #include diff --git a/Firestore/core/src/firebase/firestore/model/field_value.h b/Firestore/core/src/firebase/firestore/model/field_value.h index c42d533..c70e332 100644 --- a/Firestore/core/src/firebase/firestore/model/field_value.h +++ b/Firestore/core/src/firebase/firestore/model/field_value.h @@ -17,8 +17,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_MODEL_FIELD_VALUE_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_MODEL_FIELD_VALUE_H_ -#include - +#include #include #include #include diff --git a/Firestore/core/src/firebase/firestore/model/types.h b/Firestore/core/src/firebase/firestore/model/types.h index fc1b196..3f813be 100644 --- a/Firestore/core/src/firebase/firestore/model/types.h +++ b/Firestore/core/src/firebase/firestore/model/types.h @@ -17,7 +17,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_MODEL_TYPES_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_MODEL_TYPES_H_ -#include +#include namespace firebase { namespace firestore { diff --git a/Firestore/core/src/firebase/firestore/remote/serializer.h b/Firestore/core/src/firebase/firestore/remote/serializer.h index 454c3ad..3b2b667 100644 --- a/Firestore/core/src/firebase/firestore/remote/serializer.h +++ b/Firestore/core/src/firebase/firestore/remote/serializer.h @@ -17,8 +17,8 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_REMOTE_SERIALIZER_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_REMOTE_SERIALIZER_H_ -#include -#include +#include +#include #include #include "Firestore/Protos/nanopb/google/firestore/v1beta1/document.pb.h" diff --git a/Firestore/core/src/firebase/firestore/util/assert_apple.mm b/Firestore/core/src/firebase/firestore/util/assert_apple.mm index 83b76e1..9b6a651 100644 --- a/Firestore/core/src/firebase/firestore/util/assert_apple.mm +++ b/Firestore/core/src/firebase/firestore/util/assert_apple.mm @@ -14,12 +14,10 @@ * limitations under the License. */ -#include "Firestore/core/src/firebase/firestore/util/firebase_assert.h" - #import -#include - +// TODO(wilhuff): match basenames so this can move up top +#include "Firestore/core/src/firebase/firestore/util/firebase_assert.h" #include "Firestore/core/src/firebase/firestore/util/string_apple.h" namespace firebase { diff --git a/Firestore/core/src/firebase/firestore/util/assert_stdio.cc b/Firestore/core/src/firebase/firestore/util/assert_stdio.cc index 1d2e333..e01e564 100644 --- a/Firestore/core/src/firebase/firestore/util/assert_stdio.cc +++ b/Firestore/core/src/firebase/firestore/util/assert_stdio.cc @@ -14,8 +14,7 @@ * limitations under the License. */ -#include - +#include #include #include diff --git a/Firestore/core/src/firebase/firestore/util/bits.h b/Firestore/core/src/firebase/firestore/util/bits.h index 185273f..fec1228 100644 --- a/Firestore/core/src/firebase/firestore/util/bits.h +++ b/Firestore/core/src/firebase/firestore/util/bits.h @@ -22,7 +22,7 @@ // Munging bits in _signed_ integers is fraught with peril! For example, // -5 << n has undefined behavior (for some values of n). -#include +#include class Bits_Port32_Test; class Bits_Port64_Test; diff --git a/Firestore/core/src/firebase/firestore/util/comparison.cc b/Firestore/core/src/firebase/firestore/util/comparison.cc index 4bef843..bde7f84 100644 --- a/Firestore/core/src/firebase/firestore/util/comparison.cc +++ b/Firestore/core/src/firebase/firestore/util/comparison.cc @@ -16,8 +16,7 @@ #include "Firestore/core/src/firebase/firestore/util/comparison.h" -#include - +#include #include namespace firebase { diff --git a/Firestore/core/src/firebase/firestore/util/comparison.h b/Firestore/core/src/firebase/firestore/util/comparison.h index 6fd1e2b..23207f5 100644 --- a/Firestore/core/src/firebase/firestore/util/comparison.h +++ b/Firestore/core/src/firebase/firestore/util/comparison.h @@ -21,9 +21,9 @@ #import #endif -#include #include +#include #include #include #include diff --git a/Firestore/core/src/firebase/firestore/util/firebase_assert.h b/Firestore/core/src/firebase/firestore/util/firebase_assert.h index 6bc0dee..7de1dda 100644 --- a/Firestore/core/src/firebase/firestore/util/firebase_assert.h +++ b/Firestore/core/src/firebase/firestore/util/firebase_assert.h @@ -20,7 +20,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_FIREBASE_ASSERT_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_FIREBASE_ASSERT_H_ -#include +#include #include "Firestore/core/src/firebase/firestore/util/log.h" #include "absl/base/attributes.h" diff --git a/Firestore/core/src/firebase/firestore/util/log.h b/Firestore/core/src/firebase/firestore/util/log.h index d0cff4d..1944596 100644 --- a/Firestore/core/src/firebase/firestore/util/log.h +++ b/Firestore/core/src/firebase/firestore/util/log.h @@ -17,7 +17,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_LOG_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_LOG_H_ -#include +#include namespace firebase { namespace firestore { diff --git a/Firestore/core/src/firebase/firestore/util/log_stdio.cc b/Firestore/core/src/firebase/firestore/util/log_stdio.cc index bca2dc9..b277406 100644 --- a/Firestore/core/src/firebase/firestore/util/log_stdio.cc +++ b/Firestore/core/src/firebase/firestore/util/log_stdio.cc @@ -16,7 +16,7 @@ #include "Firestore/core/src/firebase/firestore/util/log.h" -#include +#include #include namespace firebase { diff --git a/Firestore/core/src/firebase/firestore/util/ordered_code.cc b/Firestore/core/src/firebase/firestore/util/ordered_code.cc index 0eadf18..cb53b09 100644 --- a/Firestore/core/src/firebase/firestore/util/ordered_code.cc +++ b/Firestore/core/src/firebase/firestore/util/ordered_code.cc @@ -16,12 +16,11 @@ #include "Firestore/core/src/firebase/firestore/util/ordered_code.h" -#include -#include -#include - #include "Firestore/core/src/firebase/firestore/util/bits.h" #include "Firestore/core/src/firebase/firestore/util/firebase_assert.h" +#include "absl/base/internal/endian.h" +#include "absl/base/internal/unaligned_access.h" +#include "absl/base/port.h" #define UNALIGNED_LOAD32 ABSL_INTERNAL_UNALIGNED_LOAD32 #define UNALIGNED_LOAD64 ABSL_INTERNAL_UNALIGNED_LOAD64 diff --git a/Firestore/core/src/firebase/firestore/util/secure_random.h b/Firestore/core/src/firebase/firestore/util/secure_random.h index 95b41e1..f030b5e 100644 --- a/Firestore/core/src/firebase/firestore/util/secure_random.h +++ b/Firestore/core/src/firebase/firestore/util/secure_random.h @@ -17,7 +17,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_SECURE_RANDOM_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_SECURE_RANDOM_H_ -#include +#include #include diff --git a/Firestore/core/src/firebase/firestore/util/secure_random_arc4random.cc b/Firestore/core/src/firebase/firestore/util/secure_random_arc4random.cc index 83f72b5..d7e9be3 100644 --- a/Firestore/core/src/firebase/firestore/util/secure_random_arc4random.cc +++ b/Firestore/core/src/firebase/firestore/util/secure_random_arc4random.cc @@ -20,7 +20,7 @@ #if HAVE_ARC4RANDOM -#include +#include namespace firebase { namespace firestore { diff --git a/Firestore/core/src/firebase/firestore/util/secure_random_openssl.cc b/Firestore/core/src/firebase/firestore/util/secure_random_openssl.cc index d3f6e63..e024846 100644 --- a/Firestore/core/src/firebase/firestore/util/secure_random_openssl.cc +++ b/Firestore/core/src/firebase/firestore/util/secure_random_openssl.cc @@ -20,8 +20,8 @@ #if HAVE_OPENSSL_RAND_H -#include -#include +#include "openssl/err.h" +#include "openssl/rand.h" namespace firebase { namespace firestore { diff --git a/Firestore/core/src/firebase/firestore/util/string_printf.cc b/Firestore/core/src/firebase/firestore/util/string_printf.cc index 9c4e31c..c5483f4 100644 --- a/Firestore/core/src/firebase/firestore/util/string_printf.cc +++ b/Firestore/core/src/firebase/firestore/util/string_printf.cc @@ -16,7 +16,7 @@ #include "Firestore/core/src/firebase/firestore/util/string_printf.h" -#include +#include namespace firebase { namespace firestore { diff --git a/Firestore/core/src/firebase/firestore/util/string_printf.h b/Firestore/core/src/firebase/firestore/util/string_printf.h index 10dfae9..553af66 100644 --- a/Firestore/core/src/firebase/firestore/util/string_printf.h +++ b/Firestore/core/src/firebase/firestore/util/string_printf.h @@ -17,8 +17,7 @@ #ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_STRING_PRINTF_H_ #define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_STRING_PRINTF_H_ -#include - +#include #include #include "absl/base/attributes.h" diff --git a/Firestore/core/test/firebase/firestore/model/field_value_test.cc b/Firestore/core/test/firebase/firestore/model/field_value_test.cc index 40be2d5..08db76d 100644 --- a/Firestore/core/test/firebase/firestore/model/field_value_test.cc +++ b/Firestore/core/test/firebase/firestore/model/field_value_test.cc @@ -16,8 +16,7 @@ #include "Firestore/core/src/firebase/firestore/model/field_value.h" -#include - +#include #include #include "gtest/gtest.h" diff --git a/Firestore/core/test/firebase/firestore/remote/datastore_test.cc b/Firestore/core/test/firebase/firestore/remote/datastore_test.cc index 42a9a8c..53e95a9 100644 --- a/Firestore/core/test/firebase/firestore/remote/datastore_test.cc +++ b/Firestore/core/test/firebase/firestore/remote/datastore_test.cc @@ -16,8 +16,9 @@ #include "Firestore/core/src/firebase/firestore/remote/datastore.h" -#include -#include +#include "grpc/grpc.h" + +#include "gtest/gtest.h" TEST(Datastore, CanLinkToGrpc) { // This test doesn't actually do anything interesting as far as actually diff --git a/Firestore/core/test/firebase/firestore/util/autoid_test.cc b/Firestore/core/test/firebase/firestore/util/autoid_test.cc index 079b990..808850b 100644 --- a/Firestore/core/test/firebase/firestore/util/autoid_test.cc +++ b/Firestore/core/test/firebase/firestore/util/autoid_test.cc @@ -16,9 +16,9 @@ #include "Firestore/core/src/firebase/firestore/util/autoid.h" -#include +#include -#include +#include "gtest/gtest.h" using firebase::firestore::util::CreateAutoId; diff --git a/Firestore/core/test/firebase/firestore/util/comparison_test.cc b/Firestore/core/test/firebase/firestore/util/comparison_test.cc index ccb3011..a03aec8 100644 --- a/Firestore/core/test/firebase/firestore/util/comparison_test.cc +++ b/Firestore/core/test/firebase/firestore/util/comparison_test.cc @@ -16,9 +16,8 @@ #include "Firestore/core/src/firebase/firestore/util/comparison.h" -#include -#include - +#include +#include #include #include "Firestore/core/src/firebase/firestore/util/string_printf.h" diff --git a/Firestore/core/test/firebase/firestore/util/secure_random_test.cc b/Firestore/core/test/firebase/firestore/util/secure_random_test.cc index 0b7a51b..b0dfdd6 100644 --- a/Firestore/core/test/firebase/firestore/util/secure_random_test.cc +++ b/Firestore/core/test/firebase/firestore/util/secure_random_test.cc @@ -16,7 +16,7 @@ #include "Firestore/core/src/firebase/firestore/util/secure_random.h" -#include +#include "gtest/gtest.h" using firebase::firestore::util::SecureRandom; diff --git a/Firestore/core/test/firebase/firestore/util/string_printf_test.cc b/Firestore/core/test/firebase/firestore/util/string_printf_test.cc index 085be84..14cc9c8 100644 --- a/Firestore/core/test/firebase/firestore/util/string_printf_test.cc +++ b/Firestore/core/test/firebase/firestore/util/string_printf_test.cc @@ -16,7 +16,7 @@ #include "Firestore/core/src/firebase/firestore/util/string_printf.h" -#include +#include "gtest/gtest.h" namespace firebase { namespace firestore { diff --git a/Firestore/core/test/firebase/firestore/util/string_util_test.cc b/Firestore/core/test/firebase/firestore/util/string_util_test.cc index f94596f..a85c849 100644 --- a/Firestore/core/test/firebase/firestore/util/string_util_test.cc +++ b/Firestore/core/test/firebase/firestore/util/string_util_test.cc @@ -16,7 +16,7 @@ #include "Firestore/core/src/firebase/firestore/util/string_util.h" -#include +#include "gtest/gtest.h" namespace firebase { namespace firestore { diff --git a/scripts/cpplint.py b/scripts/cpplint.py index d1c80b3..f09695c 100644 --- a/scripts/cpplint.py +++ b/scripts/cpplint.py @@ -428,6 +428,11 @@ _CPP_HEADERS = frozenset([ 'cwctype', ]) +_C_SYSTEM_DIRECTORIES = frozenset([ + 'libkern', + 'sys', +]) + # Type names _TYPES = re.compile( r'^(?:' @@ -685,7 +690,7 @@ def Search(pattern, s): def _IsSourceExtension(s): """File extension (excluding dot) matches a source file extension.""" - return s in ('c', 'cc', 'cpp', 'cxx') + return s in ('c', 'cc', 'cpp', 'cxx', 'm', 'mm') class _IncludeState(object): @@ -4411,7 +4416,7 @@ def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, CheckSectionSpacing(filename, clean_lines, classinfo, linenum, error) -_RE_PATTERN_INCLUDE = re.compile(r'^\s*#\s*include\s*([<"])([^>"]*)[>"].*$') +_RE_PATTERN_INCLUDE = re.compile(r'^\s*#\s*(?:include|import)\s*([<"])([^>"]*)[>"].*$') # Matches the first component of a filename delimited by -s and _s. That is: # _RE_FIRST_COMPONENT.match('foo').group(0) == 'foo' # _RE_FIRST_COMPONENT.match('foo.cc').group(0) == 'foo' @@ -4444,6 +4449,11 @@ def _DropCommonSuffixes(filename): if (filename.endswith(suffix) and len(filename) > len(suffix) and filename[-len(suffix) - 1] in ('-', '_')): return filename[:-len(suffix) - 1] + + for suffix in ['Tests.h', 'Test.m', 'Test.mm', 'Tests.m', 'Tests.mm']: + if (filename.endswith(suffix) and len(filename) > len(suffix)): + return filename[:-len(suffix)] + return os.path.splitext(filename)[0] @@ -4524,6 +4534,30 @@ def CheckIncludeLine(filename, clean_lines, linenum, include_state, error): fileinfo = FileInfo(filename) line = clean_lines.lines[linenum] + # system-style includes should not be used for project includes + match = Match(r'#include\s*<(([^/>]+)/[^>]+)', line) + if match: + if match.group(2) not in _C_SYSTEM_DIRECTORIES: + error(filename, linenum, 'build/include', 4, + '<%s> should be #include "%s" or #import <%s>' % + (match.group(1), match.group(1), match.group(1))) + + # C++ system files should not be #imported + match = Match(r'#import\s*<([^/>.]+)>', line) + if match: + error(filename, linenum, 'build/include', 4, + 'C++ header <%s> was #imported. Should be #include <%s>' % + (match.group(1), match.group(1))) + + # Prefer C++ wrappers for C headers + match = Match(r'#include\s*<(([^>]+).h)>', line) + if match: + wrapper = 'c' + match.group(2) + if wrapper in _CPP_HEADERS: + error(filename, linenum, 'build/include', 4, + 'Prefer C++ header <%s> for C system header %s' % + (wrapper, match.group(1))) + # "include" should use the new style "foo/bar.h" instead of just "bar.h" # Only do this check if the included header follows google naming # conventions. If not, assume that it's a 3rd party API that diff --git a/scripts/lint.sh b/scripts/lint.sh index d0f82b1..9e33c87 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -14,21 +14,74 @@ # Lints C++ files for conformance with the Google C++ style guide -options=( +# Joins the given arguments with the separator given as the first argument. +function join() { + local IFS="$1" + shift + echo "$*" +} + +git_options=( -z # \0 terminate output ) +objc_lint_filters=( + # Objective-C uses #import and does not use header guards + -build/header_guard + + # Inline definitions of Objective-C blocks confuse + -readability/braces + + # C-style casts are acceptable in Objective-C++ + -readability/casting + + # Objective-C needs use type 'long' for interop between types like NSInteger + # and printf-style functions. + -runtime/int + + # cpplint is generally confused by Objective-C mixing with C++. + # * Objective-C method invocations in a for loop make it think its a + # range-for + # * Objective-C dictionary literals confuse brace spacing + # * Empty category declarations ("@interface Foo ()") look like function + # invocations + -whitespace +) + +objc_lint_options=( + # cpplint normally excludes Objective-C++ + --extensions=h,m,mm + + # Objective-C style allows longer lines + --linelength=100 + + --filter=$(join , "${objc_lint_filters[@]}") +) + if [[ $# -gt 0 ]]; then # Interpret any command-line argument as a revision range command=(git diff --name-only) - options+=("$@") + git_options+=("$@") else # Default to operating on all files that match the pattern command=(git ls-files) fi - -"${command[@]}" "${options[@]}" \ +# Straight C++ files get regular cpplint +"${command[@]}" "${git_options[@]}" \ -- 'Firestore/core/**/*.'{h,cc} \ - | xargs -0 python scripts/cpplint.py --quiet + | xargs -0 python scripts/cpplint.py --quiet 2>&1 +CPP_STATUS=$? + +# Objective-C++ files get a looser cpplint +"${command[@]}" "${git_options[@]}" \ + -- 'Firestore/Source/**/*.'{h,m,mm} \ + 'Firestore/Example/Tests/**/*.'{h,m,mm} \ + 'Firestore/core/**/*.mm' \ + | xargs -0 python scripts/cpplint.py "${objc_lint_options[@]}" --quiet 2>&1 +OBJC_STATUS=$? + +if [[ $CPP_STATUS != 0 || $OBJC_STATUS != 0 ]]; then + exit 1 +fi -- cgit v1.2.3