diff --git a/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt b/gradle/convention/src/main/kotlin/AndroidApplicationConvention.kt index 7db2ae17d887c921051a96a41e4e15474a306047..f8b6348f7ccb7cfb8993c8d21ffa86ff2a76b5a8 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 d8a7feecaabcb221c79ebdd8cd5c3f81da20c7f7..6352bbfe7ea48e5ef2943c7df2757735dba8e088 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 }