Starting with grep 3.8, egrep throws the following warning
egrep: warning: egrep is obsolescent; using grep -E
Whch is annoying... so we will use grep -E
This updates the lint script to require clang-format 9 and reformats
existing source code. Since VS2019 ships with clang-format 9 this
should make auto reformats less painful.
This also updates the clang-format configuration to set
BraceWrapping.AfterCaseLabel to true to ensure consistent brace
style; otherwise clang-format 9+ defaults to putting braces on
the same line as switch case labels.
This requires buildbot changes: the path to the Android Studio
installation must be supplied in an environment variable.
Modified files are copied out to a temporary directory, Android Studio
is asked to format the files, and a git diff is performed.
Now fails if any commands fail. I noticed that on the buildbot, the
arguments to this script can be incorrect (somehow?) which can result in
no lint checks happening but the buildbot still passing.
Instead of applying PRs as patches and leaving them as staged changes,
the lint builder now checks out the PR branch, so the lint script
must be able to call git diff with more than just --cached.
(The buildbot will call it with "master...".)
It turns out that last fix was only partial, and it didn't fix the
issue completely as paths were fixed, but staged changes were not
in the list. This should fix it for real, this time. Sorry about that…
(git diff needs --cached to include staged changes, unlike git status.)
git diff --name-only already took care of only returning the name, so
the awk is unneeded and makes it return only empty file names.
Facepalm, I know. Sorry for this oversight.
(Also fixes something that lint didn't catch because of this)