* 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.
Parallelize the travis run using build stages
https://docs.travis-ci.com/user/build-stages/
This will run source checks first (style, lint) and then if all pass,
kick off all platforms and builds in parallel.
* Factor out a whitespace checking script
* Factor out a copyright checking script
* Rewrite lint.sh to honor revision ranges
* Only restyle files that are part of the PR
* Run C++ lint before builds to fail faster
* Git grep doesn't operate on revision ranges
* style.sh accepts clang-format 6 or 7
* Misc style.sh fixes
* Allow test-only to use a revision; to check your changes since
master:
./scripts/style.sh test-only master
* Avoid diffing deleted files
* 80 columns
* Fix C++ lint errors
* Avoid pruning paths with find
find . -path foo -path bar -path baz is horrifically inefficient;
properly excluding all of FirebaseAuth without excluding
Firestore/Source/Auth ends up taking 1.5 minutes on my machine.
Deleting via sed is much faster.
* Allow a branch name or filenames to be specified on the command line
e.g. ./scripts/style.sh master formats only files changed since master.
* Format Firebase/Source/Auth code
* Use alternate delimeter for path regexen