- Enable Gradle parallel execution.
- Limit max parallelism to 2 for memory intensive tasks.
- Fine-tune JVM args for Gradle and Kotlin daemons.
- Run Kotlin compiler inside Gradle to share the heap in CI workflows.
- Needed to update apkdiff.py to ignore some new app-signing-related
files.
- While I was in there, I cleaned up the script a lot to make it easier
to read as well as extract files that didn't match.
- We also need to guarantee git hashes are the same length -- the script
we were calling might provide hashes of different length depending on
how you checked out the code.
Co-authored-by: inthewaves<26474149+inthewaves@users.noreply.github.com>
We stop using abbreviated Git hashes and use full hashes instead for the
debug log output. According to
e6c587c733,
the default abbreviation is subject to auto sizing depending on the
estimated number of objects in the Git repository. This number could
differ if the Signal developers use private branches for developing but
then only push the squashed commits to the public repository, or if there
are other differences in how the Git repository was cloned or configured.
This means the abbreviated Git hash length might not be deterministic.
To solve this, we just use the full Git hash. The GIT_HASH config field
is only used in the debug log print out anyway, and using the full hash
instead of a hardcoded abbreviated size helps future-proof it as well.
For apkdiff, we ignore the new file names for signing info. We keep the
older versions in case they change again (or if someone wants to verify
a previous version of Signal that had the old names). Also, the
resources.arsc issue seems to be resolved according to the Google Issue
and local testing.
Fixes#10476