diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index a9e81eb..d82b097 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -57,7 +57,9 @@ android { isMinifyEnabled = true isShrinkResources = true val signingEnabled = System.getenv("ANDROID_SIGNING_ENABLED") == "true" - signingConfig = if (signingEnabled) signingConfigs.getByName("release") else signingConfigs.getByName("debug") + if (signingEnabled) { + signingConfig = signingConfigs.getByName("release") + } proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" @@ -95,6 +97,17 @@ android { } } +gradle.taskGraph.whenReady { + val releaseTaskRequested = allTasks.any { task -> + task.path.startsWith(":app:") && task.name.contains("Release") + } + if (releaseTaskRequested && System.getenv("ANDROID_SIGNING_ENABLED") != "true") { + throw org.gradle.api.GradleException( + "Release builds require ANDROID_SIGNING_ENABLED=true and Android signing environment variables." + ) + } +} + dependencies { // Go mobile library (built via gomobile bind) implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar", "*.jar"))))