From 6a8e2c04448e5ce1d8123b8be80393f5a1a709ad Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Sat, 11 Dec 2021 20:29:42 +0100 Subject: version: automatically generate version string from tag Signed-off-by: Mikael Magnusson --- gradle/libs.versions.toml | 2 ++ ui/build.gradle.kts | 6 +++++- ui/src/main/java/com/wireguard/android/updater/Updater.kt | 7 +++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 25b59ff1..4af7d04c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,6 @@ [versions] agp = "8.1.0-beta02" +grgit = "5.2.0" kotlin = "1.8.21" [libraries] @@ -25,5 +26,6 @@ zxing-android-embedded = "com.journeyapps:zxing-android-embedded:4.3.0" [plugins] android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } +ajoberstar-grgit = { id = "org.ajoberstar.grgit", version.ref = "grgit" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts index 8368e7e6..2f556bba 100644 --- a/ui/build.gradle.kts +++ b/ui/build.gradle.kts @@ -12,6 +12,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.kapt) + alias(libs.plugins.ajoberstar.grgit) } android { @@ -27,7 +28,10 @@ android { minSdk = 21 targetSdk = 33 versionCode = providers.gradleProperty("wireguardVersionCode").get().toInt() - versionName = providers.gradleProperty("wireguardVersionName").get() + versionName = grgit.describe { + tags = true + always = true + }.replace('-', '.') buildConfigField("int", "MIN_SDK_VERSION", minSdk.toString()) } compileOptions { diff --git a/ui/src/main/java/com/wireguard/android/updater/Updater.kt b/ui/src/main/java/com/wireguard/android/updater/Updater.kt index 928028fd..7fc58e08 100644 --- a/ui/src/main/java/com/wireguard/android/updater/Updater.kt +++ b/ui/src/main/java/com/wireguard/android/updater/Updater.kt @@ -153,7 +153,10 @@ object Updater { throw InvalidParameterException("Version has no parts") parts = ULongArray(strParts.size) for (i in parts.indices) { - parts[i] = strParts[i].toULong() + if (strParts[i][0] == 'g') + parts[i] = strParts[i].substring(1).toULong(16) + else + parts[i] = strParts[i].toULong() } } @@ -439,4 +442,4 @@ object Updater { context.startActivity(start) } } -} \ No newline at end of file +} -- cgit v1.2.3