Allow Gradle desktop builds when Android signing keys are absent.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-07 17:52:37 +03:00
Unverified
parent 7bfaf84b57
commit 8601e630c2
+15 -1
View File
@@ -70,9 +70,14 @@ extensions.configure<ApplicationExtension> {
} }
} }
val keystorePropertiesFile = file("keys/keystore.properties")
val hasReleaseKeystore = keystorePropertiesFile.isFile && file("keys/release.jks").isFile
val hasDebugKeystore = keystorePropertiesFile.isFile && file("keys/debug.jks").isFile
signingConfigs { signingConfigs {
if (hasReleaseKeystore || hasDebugKeystore) {
val keystoreProperties = Properties().apply { val keystoreProperties = Properties().apply {
load(file("keys/keystore.properties").inputStream()) load(keystorePropertiesFile.inputStream())
} }
fun Properties.password(key: String): String { fun Properties.password(key: String): String {
@@ -81,6 +86,7 @@ extensions.configure<ApplicationExtension> {
return raw.trim().removeSurrounding("\"").removeSurrounding("'") return raw.trim().removeSurrounding("\"").removeSurrounding("'")
} }
if (hasReleaseKeystore) {
create("release") { create("release") {
storeFile = file("keys/release.jks") storeFile = file("keys/release.jks")
keyAlias = "key0" keyAlias = "key0"
@@ -88,7 +94,9 @@ extensions.configure<ApplicationExtension> {
keyPassword = keystoreProperties.password("releaseKeyPassword") keyPassword = keystoreProperties.password("releaseKeyPassword")
enableV3Signing = true enableV3Signing = true
} }
}
if (hasDebugKeystore) {
getByName("debug") { getByName("debug") {
storeFile = file("keys/debug.jks") storeFile = file("keys/debug.jks")
keyAlias = "key0" keyAlias = "key0"
@@ -97,18 +105,24 @@ extensions.configure<ApplicationExtension> {
enableV3Signing = true enableV3Signing = true
} }
} }
}
}
buildTypes { buildTypes {
debug { debug {
applicationIdSuffix = ".beta" applicationIdSuffix = ".beta"
versionNameSuffix = "-beta" versionNameSuffix = "-beta"
if (hasDebugKeystore) {
signingConfig = signingConfigs.getByName("debug") signingConfig = signingConfigs.getByName("debug")
} }
}
release { release {
isMinifyEnabled = true isMinifyEnabled = true
isShrinkResources = true isShrinkResources = true
if (hasReleaseKeystore) {
signingConfig = signingConfigs.getByName("release") signingConfig = signingConfigs.getByName("release")
}
proguardFiles( proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"), getDefaultProguardFile("proguard-android-optimize.txt"),