Skip to content

Commit caaf167

Browse files
committed
build: allow builds without signing configuration
1 parent 78a48ef commit caaf167

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

app/build.gradle.kts

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ if (keystorePropertiesFile.exists()) {
1919
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
2020
}
2121

22+
fun hasSigningVars(): Boolean {
23+
return providers.environmentVariable("SIGNING_KEY_ALIAS").orNull != null
24+
&& providers.environmentVariable("SIGNING_KEY_PASSWORD").orNull != null
25+
&& providers.environmentVariable("SIGNING_STORE_FILE").orNull != null
26+
&& providers.environmentVariable("SIGNING_STORE_PASSWORD").orNull != null
27+
}
28+
2229
android {
2330
compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt()
2431

@@ -38,16 +45,19 @@ android {
3845
storeFile = file(keystoreProperties.getProperty("storeFile"))
3946
storePassword = keystoreProperties.getProperty("storePassword")
4047
}
41-
} else {
48+
} else if (hasSigningVars()) {
4249
register("release") {
43-
keyAlias = System.getenv("SIGNING_KEY_ALIAS")
44-
keyPassword = System.getenv("SIGNING_KEY_PASSWORD")
45-
storeFile = file(System.getenv("SIGNING_STORE_FILE"))
46-
storePassword = System.getenv("SIGNING_STORE_PASSWORD")
50+
keyAlias = providers.environmentVariable("SIGNING_KEY_ALIAS").get()
51+
keyPassword = providers.environmentVariable("SIGNING_KEY_PASSWORD").get()
52+
storeFile = file(providers.environmentVariable("SIGNING_STORE_FILE").get())
53+
storePassword = providers.environmentVariable("SIGNING_STORE_PASSWORD").get()
4754
}
55+
} else {
56+
logger.warn("Warning: No signing config found. Build will be unsigned.")
4857
}
4958
}
5059

60+
5161
buildFeatures {
5262
viewBinding = true
5363
buildConfig = true
@@ -68,7 +78,9 @@ android {
6878
getDefaultProguardFile("proguard-android-optimize.txt"),
6979
"proguard-rules.pro"
7080
)
71-
signingConfig = signingConfigs.getByName("release")
81+
if (keystorePropertiesFile.exists() || hasSigningVars()) {
82+
signingConfig = signingConfigs.getByName("release")
83+
}
7284
}
7385
}
7486

0 commit comments

Comments
 (0)