build: allow builds without signing configuration

This commit is contained in:
Naveen Singh 2025-05-04 13:56:08 +05:30 committed by Naveen Singh
parent 39683c6833
commit 8623492354

View file

@ -16,6 +16,13 @@ if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile)) keystoreProperties.load(FileInputStream(keystorePropertiesFile))
} }
fun hasSigningVars(): Boolean {
return providers.environmentVariable("SIGNING_KEY_ALIAS").orNull != null
&& providers.environmentVariable("SIGNING_KEY_PASSWORD").orNull != null
&& providers.environmentVariable("SIGNING_STORE_FILE").orNull != null
&& providers.environmentVariable("SIGNING_STORE_PASSWORD").orNull != null
}
android { android {
compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt() compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt()
@ -39,13 +46,15 @@ android {
storeFile = file(keystoreProperties.getProperty("storeFile")) storeFile = file(keystoreProperties.getProperty("storeFile"))
storePassword = keystoreProperties.getProperty("storePassword") storePassword = keystoreProperties.getProperty("storePassword")
} }
} else { } else if (hasSigningVars()) {
register("release") { register("release") {
keyAlias = System.getenv("SIGNING_KEY_ALIAS") keyAlias = providers.environmentVariable("SIGNING_KEY_ALIAS").get()
keyPassword = System.getenv("SIGNING_KEY_PASSWORD") keyPassword = providers.environmentVariable("SIGNING_KEY_PASSWORD").get()
storeFile = file(System.getenv("SIGNING_STORE_FILE")) storeFile = file(providers.environmentVariable("SIGNING_STORE_FILE").get())
storePassword = System.getenv("SIGNING_STORE_PASSWORD") storePassword = providers.environmentVariable("SIGNING_STORE_PASSWORD").get()
} }
} else {
logger.warn("Warning: No signing config found. Build will be unsigned.")
} }
} }
@ -65,7 +74,9 @@ android {
getDefaultProguardFile("proguard-android-optimize.txt"), getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro" "proguard-rules.pro"
) )
signingConfig = signingConfigs.getByName("release") if (keystorePropertiesFile.exists() || hasSigningVars()) {
signingConfig = signingConfigs.getByName("release")
}
} }
} }
@ -105,7 +116,6 @@ android {
bundle { bundle {
language { language {
@Suppress("UnstableApiUsage")
enableSplit = false enableSplit = false
} }
} }