@@ -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+
2229android {
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