From a98c338b58683f9416ee76d6554b9d5bb1afc72b Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <janne@kuschku.de> Date: Wed, 30 Aug 2023 15:42:37 +0200 Subject: [PATCH] build: attempt to fix issues with automatic version generation in ci again --- .../main/kotlin/AndroidApplicationConvention.kt | 15 +++++++-------- .../src/main/kotlin/util/ProjectExtensions.kt | 14 +++++++++----- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt b/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt index 7db2ae17d..f8b6348f7 100644 --- a/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt +++ b/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt @@ -24,18 +24,17 @@ class AndroidApplicationConvention : Plugin<Project> { applicationId = "${rootProject.group}.${rootProject.name.lowercase(Locale.ROOT)}" - val commit = rootProject.git("rev-parse", "HEAD") - val name = rootProject.git("describe", "--always", "--tags", "HEAD") + val commit = git("rev-parse", "HEAD")!! + val name = git("describe", "--always", "--tags", "HEAD")!! - versionCode = rootProject.git("rev-list", "--count", "HEAD")?.toIntOrNull() ?: 1 - versionName = rootProject.git("describe", "--always", "--tags", "HEAD") ?: "1.0.0" + versionCode = git("rev-list", "--count", "HEAD")!!.toInt() + versionName = git("describe", "--always", "--tags", "HEAD")!! - val fancyVersionName = if (commit == null || name == null) name - else "<a href=\\\"https://git.kuschku.de/justJanne/QuasselDroid-ng/commit/$commit\\\">$name</a>" + val fancyVersionName = "<a href=\\\"https://git.kuschku.de/justJanne/QuasselDroid-ng/commit/$commit\\\">$name</a>" - buildConfigField("String", "GIT_HEAD", "\"${rootProject.git("rev-parse", "HEAD") ?: ""}\"") + buildConfigField("String", "GIT_HEAD", "\"${git("rev-parse", "HEAD") ?: ""}\"") buildConfigField("String", "FANCY_VERSION_NAME", "\"${fancyVersionName ?: ""}\"") - buildConfigField("long", "GIT_COMMIT_DATE", "${rootProject.git("show", "-s", "--format=%ct") ?: 0}L") + buildConfigField("long", "GIT_COMMIT_DATE", "${git("show", "-s", "--format=%ct") ?: 0}L") signingConfig = signingConfigs.findByName("default") diff --git a/gradle/convention/src/main/kotlin/util/ProjectExtensions.kt b/gradle/convention/src/main/kotlin/util/ProjectExtensions.kt index d8a7feeca..6352bbfe7 100644 --- a/gradle/convention/src/main/kotlin/util/ProjectExtensions.kt +++ b/gradle/convention/src/main/kotlin/util/ProjectExtensions.kt @@ -1,14 +1,18 @@ package util import org.gradle.api.Project +import java.io.ByteArrayOutputStream import java.util.Properties -@Suppress("UnstableApiUsage") -fun Project.git(vararg command: String): String? = try { - providers.exec { +fun Project.git(vararg command: String) = try { + val stdOut = ByteArrayOutputStream() + exec { commandLine("git", *command) - }.standardOutput.asText.get().trim() -} catch (t: Throwable) { + standardOutput = stdOut + } + stdOut.toString(Charsets.UTF_8.name()).trim() +} catch (e: Throwable) { + e.printStackTrace() null } -- GitLab