From e7a73f171050746efe0798a98e5499028a707c0b 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 | 5 ++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d8527046..442707ae 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,6 @@ [versions] agp = "8.2.0-beta06" +grgit = "5.2.0" kotlin = "1.9.0" [libraries] @@ -23,6 +24,7 @@ kotlinx-coroutines-android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:1 zxing-android-embedded = "com.journeyapps:zxing-android-embedded:4.3.0" [plugins] +ajoberstar-grgit = { id = "org.ajoberstar.grgit", version.ref = "grgit" } android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts index 5cdcb6a1..be11cc30 100644 --- a/ui/build.gradle.kts +++ b/ui/build.gradle.kts @@ -9,6 +9,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.kapt) + alias(libs.plugins.ajoberstar.grgit) } android { @@ -24,7 +25,10 @@ android { minSdk = 21 targetSdk = 34 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 651e3cd7..87adad96 100644 --- a/ui/src/main/java/com/wireguard/android/updater/Updater.kt +++ b/ui/src/main/java/com/wireguard/android/updater/Updater.kt @@ -152,7 +152,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() } } -- cgit v1.2.3