mirror of
https://github.com/Monkopedia/rouse-context.git
synced 2026-10-22 06:40:29 +00:00
Make the FOSS release build buildable by F-Droid from a clean checkout
with no signing credentials, mirroring com.monkopedia.healthdisconnect's
proven reproducible-builds setup (live on F-Droid).
- Remove the hard-fail signing guard (gradle.taskGraph.whenReady). The
owner has decided to match health-disconnect, which has no such guard:
absent credentials must produce an UNSIGNED build, not an abort. On AGP
8.13.2 an incomplete-but-assigned signingConfig still aborts packaging
(health-disconnect's older AGP silently skipped it), so the release
signingConfig is now assigned to the buildType only when the keystore
and both passwords are present (canSignRelease). Credential-less
assembleRelease builds unsigned; a build with creds still signs.
- dependenciesInfo { includeInApk/InBundle = false } — AGP's embedded
dependency-metadata block is rejected by F-Droid's scanner.
- vcsInfo.include = false on release — embedded VCS/commit info is
non-reproducible.
- Disable ArtProfile tasks — Compose pulls in profileinstaller, whose
baseline.prof generation is non-deterministic and breaks reproducible
builds.
- Simplify the staged fdroiddata recipe: drop the throwaway-keystore
prebuild block and its MaintainerNotes paragraph (unnecessary now the
bare build builds unsigned). Recipe stays an owner-gated DRAFT.
Verified both ways: credential-less :app:assembleRelease produces
app-release-unsigned.apk (apksigner: DOES NOT VERIFY); with creds it
produces a signed app-release.apk (cert SHA-256 5394b7c7…51dca). Both
FOSS and -Pgoogle variants compile.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| screenshots | ||
| src | ||
| build.gradle.kts | ||
| google-services.json | ||
| proguard-rules.pro | ||