Pin platform tools and use the upstream debug unit task
Some checks failed
review/security-claude Pass at 3094fc8c; no blocking findings
review/code-claude Pass at 3094fc8c; no blocking findings
PR / pre-commit (pull_request) Has been cancelled
PR / build (pull_request) Has been cancelled

This commit is contained in:
justinzeus 2026-10-22 12:58:38 +02:00
parent 3d6f8bae1a
commit 3094fc8cf0
3 changed files with 20 additions and 6 deletions

View file

@ -6,7 +6,7 @@ host needs Docker, GNU Make, Bash, and Git, not Java or the Android SDK.
```sh
git fetch origin --tags
make apk # clean, signed default release: three ABI splits + universal
make test # upstream testDefaultReleaseUnitTest in the same image
make test # upstream testDefaultDebugUnitTest in the same image, no secrets
make apk-debug # default debug, no secrets; MPV stub and no extra codec decoders
```
@ -17,12 +17,19 @@ use the catalog's exact Wholphin extension version (currently `0.2.4`). Do not
place local extension AARs in `app/libs`: upstream prefers them over the pinned
GitHub Packages dependencies.
Upstream enables JVM unit tests only for debug variants; there is no
`testDefaultReleaseUnitTest` task. `make test` uses the closest default-flavor
task without changing upstream's test configuration.
## Toolchain and disk use
`Dockerfile` pins Temurin JDK `21.0.11+10` by image digest, Android command-line
tools `23.0` by archive and checksum, SDK platform `37.0`, and build-tools
`36.0.0`. Gradle comes from the committed wrapper. The image is built for
`linux/amd64`; the default local image tag is `wolfskin-build:sdk37-jdk21`.
`Dockerfile` pins Temurin JDK `21.0.11+10` by image digest, command-line tools
`23.0` and platform-tools `37.0.1` by archive and checksum, and build-tools
`36.0.0` by SDK package version. The SDK manager registers platform `37.0` and
its licenses; the build rejects any platform revision other than 2. An SDK
revision upgrade therefore requires a deliberate Dockerfile update.
Gradle comes from the committed wrapper. The image is built for `linux/amd64`;
the default local image tag is `wolfskin-build:sdk37-jdk21`.
Upstream's build timestamp means APKs are not byte-for-byte reproducible.
Gradle downloads and caches live in the named volume `wolfskin-gradle`, not