From 963a5e0e86b437b38a1fa585d55cb033f85fbef3 Mon Sep 17 00:00:00 2001 From: Louis Date: Sat, 17 Oct 2026 14:40:54 +0200 Subject: [PATCH] build: sign releases with a dedicated key kept outside the repo Co-Authored-By: Claude Opus 5.5 --- .gitignore | 3 +++ wetter/app/build.gradle.kts | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3977100 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.giteatoken +*.jks +keystore.properties diff --git a/wetter/app/build.gradle.kts b/wetter/app/build.gradle.kts index 516f85f..03a451d 100644 --- a/wetter/app/build.gradle.kts +++ b/wetter/app/build.gradle.kts @@ -1,3 +1,5 @@ +import java.util.Properties + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") @@ -19,12 +21,25 @@ android { versionName = "0.1.0" } + // Release key lives outside the repo; without it, release builds fall back to the debug key (local only). + val keyProps = Properties().apply { + val f = file(System.getProperty("user.home") + "/.android/nogoogleapps-release.properties") + if (f.exists()) f.inputStream().use { load(it) } + } + signingConfigs { + if (keyProps.isNotEmpty()) create("release") { + storeFile = file(keyProps.getProperty("storeFile")) + storePassword = keyProps.getProperty("storePassword") + keyAlias = keyProps.getProperty("keyAlias") + keyPassword = keyProps.getProperty("keyPassword") + } + } + buildTypes { release { isMinifyEnabled = true isShrinkResources = true - // local installs only; a real release key comes with /replica-deploy - signingConfig = signingConfigs.getByName("debug") + signingConfig = signingConfigs.findByName("release") ?: signingConfigs.getByName("debug") proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } }