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
Maybe a little wonky, but I needed a way to run unit tests
on AArch64, and this was the best way of running unit tests
on Android that I could come up with.
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...".)
After getting in touch with the GameTDB maintainer about using their
databases, they have decided to implement a UNIQUE parameter so we
don't need to deduplicate ourselves. This simplifies the script a bit.
Thanks to lustar for their help.
This allows us to print user friendly names for titles out of the box,
without requiring the user to manually download a title database and
place it in the correct location.
No auto-update mechanism is implemented as it would be substantially
more complicated and overkill (imo), since titles are not updated
that often. I have however added a script to make updating them easier.
The database can be freely used without any restriction. I have
contacted the author.
Running the same script twice would update the imports, copy them
in the bundle on the first run, and remove them on the second run,
resulting in a broken package.
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)