diff options
| author | Tom Cooks <tommasogagliardi+github@gmail.com> | 2026-10-10 18:41:18 -0400 |
|---|---|---|
| committer | Tom Cooks <tommasogagliardi+github@gmail.com> | 2026-10-10 18:41:18 -0400 |
| commit | 349ebb2079a5c5738129b8798ea5e36e0c5262aa (patch) | |
| tree | ee4d56292595203a877d9d52e96f4dc0264e4eb0 | |
| parent | cce63194d0c69e7211396448f3aecd4ebfe6252e (diff) | |
| download | reccoon-1.0.0.tar.gz | |
Support release signing from keystore.propertiesv1.0.0
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | app/build.gradle.kts | 30 |
2 files changed, 32 insertions, 1 deletions
@@ -12,3 +12,6 @@ # Build outputs. The sherpa-onnx runtime is fetched from JitPack, so no # prebuilt binary is committed here. /dist/ + +# Release signing (never commit keys or passwords). +/keystore.properties diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1f5fb20..c539960 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,7 +1,18 @@ +import java.util.Properties + plugins { id("com.android.application") } +// Release signing is read from keystore.properties (git-ignored, present only on +// the maintainer's machine). CI (e.g. F-Droid) builds an unsigned APK. +val keystorePropertiesFile = rootProject.file("keystore.properties") +val keystoreProperties = Properties().apply { + if (keystorePropertiesFile.exists()) { + keystorePropertiesFile.inputStream().use { load(it) } + } +} + android { namespace = "com.tomcooks.reccoon" @@ -25,13 +36,30 @@ android { } } + signingConfigs { + if (keystorePropertiesFile.exists()) { + create("release") { + storeFile = file(keystoreProperties.getProperty("storeFile")) + storePassword = keystoreProperties.getProperty("storePassword") + keyAlias = keystoreProperties.getProperty("keyAlias") + keyPassword = keystoreProperties.getProperty("keyPassword") + } + } + } + buildTypes { debug { isMinifyEnabled = false } release { isMinifyEnabled = false - signingConfig = signingConfigs.getByName("debug") + // Signed with the maintainer's key when keystore.properties is + // present; unsigned otherwise so F-Droid/CI signs it itself. + signingConfig = if (keystorePropertiesFile.exists()) { + signingConfigs.getByName("release") + } else { + null + } proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" |
