diff --git a/.gitignore b/.gitignore index dc310c4..508abf7 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ desktop/app/build/ .vscode/ *.swp .DS_Store + +# --- Release signing (local-only, never commit) --- +android/keystores/*.jks diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 5edba8b..095ead2 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -23,6 +23,21 @@ android { release { isMinifyEnabled = false proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) + // Local release key (never committed): passwords live in + // ~/.gradle/gradle.properties as SHONAR_STORE_PASSWORD / + // SHONAR_KEY_PASSWORD. Debug builds are unaffected. + val ksProps = mapOf( + "store" to (project.findProperty("SHONAR_STORE_PASSWORD") as String?), + "key" to (project.findProperty("SHONAR_KEY_PASSWORD") as String?), + ) + if (ksProps.values.all { !it.isNullOrBlank() }) { + signingConfig = signingConfigs.maybeCreate("localRelease").apply { + storeFile = rootProject.file("keystores/shonar-release.jks") + storePassword = ksProps["store"] + keyAlias = "shonar" + keyPassword = ksProps["key"] + } + } } } compileOptions {