Always get the latest commit count for jar name (#763)

When adding commits or switching between branches the "shadowJar" gradle task always used the same (outdated) commit count which created jars with confusing names
This commit is contained in:
schroda
2023-11-06 03:16:55 +01:00
committed by GitHub
parent 7993da038e
commit b303291e94
2 changed files with 18 additions and 16 deletions

View File

@@ -14,18 +14,20 @@ val tachideskVersion = System.getenv("ProductVersion") ?: "v0.7.0"
val webUIRevisionTag = System.getenv("WebUIRevision") ?: "r983" val webUIRevisionTag = System.getenv("WebUIRevision") ?: "r983"
// counts commits on the master branch // counts commits on the current checked out branch
val tachideskRevision = runCatching { val getTachideskRevision = {
System.getenv("ProductRevision") ?: ProcessBuilder() runCatching {
.command("git", "rev-list", "HEAD", "--count") System.getenv("ProductRevision") ?: ProcessBuilder()
.start() .command("git", "rev-list", "HEAD", "--count")
.let { process -> .start()
process.waitFor() .let { process ->
val output = process.inputStream.use { process.waitFor()
it.bufferedReader().use(BufferedReader::readText) val output = process.inputStream.use {
it.bufferedReader().use(BufferedReader::readText)
}
process.destroy()
"r" + output.trim()
} }
process.destroy() }.getOrDefault("r0")
"r" + output.trim() }
}
}.getOrDefault("r0")

View File

@@ -107,7 +107,7 @@ buildConfig {
buildConfigField("String", "NAME", quoteWrap(rootProject.name)) buildConfigField("String", "NAME", quoteWrap(rootProject.name))
buildConfigField("String", "VERSION", quoteWrap(tachideskVersion)) buildConfigField("String", "VERSION", quoteWrap(tachideskVersion))
buildConfigField("String", "REVISION", quoteWrap(tachideskRevision)) buildConfigField("String", "REVISION", quoteWrap(getTachideskRevision()))
buildConfigField("String", "BUILD_TYPE", quoteWrap(if (System.getenv("ProductBuildType") == "Stable") "Stable" else "Preview")) buildConfigField("String", "BUILD_TYPE", quoteWrap(if (System.getenv("ProductBuildType") == "Stable") "Stable" else "Preview"))
buildConfigField("long", "BUILD_TIME", Instant.now().epochSecond.toString()) buildConfigField("long", "BUILD_TIME", Instant.now().epochSecond.toString())
@@ -126,12 +126,12 @@ tasks {
"Implementation-Title" to rootProject.name, "Implementation-Title" to rootProject.name,
"Implementation-Vendor" to "The Suwayomi Project", "Implementation-Vendor" to "The Suwayomi Project",
"Specification-Version" to tachideskVersion, "Specification-Version" to tachideskVersion,
"Implementation-Version" to tachideskRevision, "Implementation-Version" to getTachideskRevision(),
) )
} }
archiveBaseName.set(rootProject.name) archiveBaseName.set(rootProject.name)
archiveVersion.set(tachideskVersion) archiveVersion.set(tachideskVersion)
archiveClassifier.set(tachideskRevision) archiveClassifier.set(getTachideskRevision())
destinationDirectory.set(File("$rootDir/server/build")) destinationDirectory.set(File("$rootDir/server/build"))
} }