summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2025-05-24 13:06:17 +0200
committerAlbin <albin@mullvad.net>2025-05-24 14:10:09 +0200
commitc9d24eb5e4d4adee854c098ca74d75ef0dc85ca3 (patch)
treea68b589404984e4b625728fdc00f00f1655c3058 /android
parent41fda5da5cd1b1e04e4cb3cab4ac63eb2423a236 (diff)
downloadmullvadvpn-c9d24eb5e4d4adee854c098ca74d75ef0dc85ca3.tar.xz
mullvadvpn-c9d24eb5e4d4adee854c098ca74d75ef0dc85ca3.zip
Fix version code safeguard
Moving the version code safeguard in order to make it configuration cache compliant.
Diffstat (limited to 'android')
-rw-r--r--android/app/build.gradle.kts14
-rw-r--r--android/buildSrc/src/main/kotlin/Utils.kt14
2 files changed, 11 insertions, 17 deletions
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index 9571b9819a..28c9f354b1 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -236,9 +236,6 @@ android {
inputs.dir(rustJniLibsDir)
dependsOn("cargoBuild")
}
-
- // Ensure all relevant assemble tasks depend on our ensure task.
- tasks["assemble$capitalizedVariantName"].dependsOn(tasks["ensureValidVersionCode"])
}
}
@@ -300,17 +297,6 @@ androidComponents {
}
}
-// This is a safety net to avoid generating too big version codes, since that could potentially be
-// hard and inconvenient to recover from.
-tasks.register("ensureValidVersionCode") {
- doLast {
- val versionCode = project.android.defaultConfig.versionCode!!
- if (versionCode >= MAX_ALLOWED_VERSION_CODE) {
- throw GradleException("Bad version code: $versionCode")
- }
- }
-}
-
tasks.register("printVersion") {
doLast {
println("versionCode=${project.android.defaultConfig.versionCode}")
diff --git a/android/buildSrc/src/main/kotlin/Utils.kt b/android/buildSrc/src/main/kotlin/Utils.kt
index d939363827..f9f9a7528c 100644
--- a/android/buildSrc/src/main/kotlin/Utils.kt
+++ b/android/buildSrc/src/main/kotlin/Utils.kt
@@ -1,4 +1,3 @@
-import java.util.*
import org.gradle.api.Project
// This is a hack and will not work correctly under all scenarios.
@@ -18,8 +17,17 @@ fun Project.isDevBuild(): Boolean {
return versionName.contains("-dev-")
}
-fun Project.generateVersionCode(): Int =
- getIntPropertyOrNull("mullvad.app.config.override.versionCode") ?: execVersionCodeCargoCommand()
+fun Project.generateVersionCode(): Int {
+ val versionCode =
+ getIntPropertyOrNull("mullvad.app.config.override.versionCode")
+ ?: execVersionCodeCargoCommand()
+ // This is a safety net to avoid generating too big version codes, since that could potentially
+ // be hard and inconvenient to recover from.
+ require(versionCode <= MAX_ALLOWED_VERSION_CODE) {
+ "versionCode ($versionCode) must be <= $MAX_ALLOWED_VERSION_CODE"
+ }
+ return versionCode
+}
fun Project.generateVersionName(): String =
getStringPropertyOrNull("mullvad.app.config.override.versionName")