From 79e2f9976462f80c0dc365d9e7cc3055eb243b85 Mon Sep 17 00:00:00 2001 From: "agupta.07505" Date: Sat, 1 Aug 2026 12:08:29 +0530 Subject: [PATCH] Improve signing config env handling Make release signing configuration more robust: treat STORE_PASSWORD and KEYSTORE_PATH as blank-safe, prefer non-blank env values, and fall back to ${rootDir}/AttendSmartly.jks. Add KEY_ALIAS and KEY_PASSWORD fallbacks (default alias "upload", key password falls back to store password). Only create the release signing config when keystore exists and store password is present, and default keyPassword to an empty string if missing. If no release config is available, explicitly use the debug signing config. --- app/build.gradle.kts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cf73d75..79b7202 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -23,15 +23,18 @@ android { } signingConfigs { - val storePass = System.getenv("STORE_PASSWORD") - val keystorePath = System.getenv("KEYSTORE_PATH") ?: "${rootDir}/AttendSmartly.jks" + val storePass = System.getenv("STORE_PASSWORD")?.takeIf { it.isNotBlank() } + val keystorePath = System.getenv("KEYSTORE_PATH")?.takeIf { it.isNotBlank() } ?: "${rootDir}/AttendSmartly.jks" val keystoreFile = file(keystorePath) + val aliasEnv = System.getenv("KEY_ALIAS")?.takeIf { it.isNotBlank() } ?: "upload" + val keyPassEnv = System.getenv("KEY_PASSWORD")?.takeIf { it.isNotBlank() } ?: storePass + if (keystoreFile.exists() && !storePass.isNullOrBlank()) { create("release") { storeFile = keystoreFile storePassword = storePass - keyAlias = System.getenv("KEY_ALIAS") ?: "upload" - keyPassword = System.getenv("KEY_PASSWORD") ?: storePass + keyAlias = aliasEnv + keyPassword = keyPassEnv ?: "" } } val debugKeystoreFile = file("${rootDir}/debug.keystore") @@ -53,6 +56,8 @@ android { val releaseConfig = signingConfigs.findByName("release") if (releaseConfig != null) { signingConfig = releaseConfig + } else { + signingConfig = signingConfigs.getByName("debug") } } debug {