mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 16:30:28 +00:00
fix: release signing fallback in ci
ref:
This commit is contained in:
@@ -15,6 +15,24 @@ if (keystorePropertiesFile.exists()) {
|
||||
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
|
||||
}
|
||||
|
||||
fun resolveSigningValue(propertyKey: String, envKey: String): String? {
|
||||
val envValue = System.getenv(envKey)?.takeIf { it.isNotBlank() }
|
||||
if (envValue != null) {
|
||||
return envValue
|
||||
}
|
||||
return (keystoreProperties[propertyKey] as? String)?.takeIf { it.isNotBlank() }
|
||||
}
|
||||
|
||||
val releaseKeyAlias = resolveSigningValue("keyAlias", "ANDROID_KEY_ALIAS")
|
||||
val releaseKeyPassword = resolveSigningValue("keyPassword", "ANDROID_KEY_PASSWORD")
|
||||
val releaseStorePassword = resolveSigningValue("storePassword", "ANDROID_STORE_PASSWORD")
|
||||
val releaseStoreFilePath = resolveSigningValue("storeFile", "ANDROID_STORE_FILE")
|
||||
val hasReleaseSigning =
|
||||
releaseKeyAlias != null &&
|
||||
releaseKeyPassword != null &&
|
||||
releaseStorePassword != null &&
|
||||
releaseStoreFilePath != null
|
||||
|
||||
android {
|
||||
namespace = "com.meshcore.sar.meshcore_sar_app"
|
||||
compileSdk = flutter.compileSdkVersion
|
||||
@@ -49,19 +67,25 @@ android {
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
create("release") {
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
keyAlias = keystoreProperties["keyAlias"] as String
|
||||
keyPassword = keystoreProperties["keyPassword"] as String
|
||||
storeFile = file(keystoreProperties["storeFile"] as String)
|
||||
storePassword = keystoreProperties["storePassword"] as String
|
||||
if (hasReleaseSigning) {
|
||||
create("release") {
|
||||
keyAlias = releaseKeyAlias
|
||||
keyPassword = releaseKeyPassword
|
||||
storeFile = file(releaseStoreFilePath!!)
|
||||
storePassword = releaseStorePassword
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
signingConfig =
|
||||
if (hasReleaseSigning) {
|
||||
signingConfigs.getByName("release")
|
||||
} else {
|
||||
// Keep CI release builds working even when private keystore isn't provided.
|
||||
signingConfigs.getByName("debug")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user