From 9ee8d46fcb17b03ea3ec329e54192e473a3a92d5 Mon Sep 17 00:00:00 2001 From: Henry Kupty Date: Tue, 22 Oct 2024 12:39:02 +0200 Subject: [PATCH] chore: Evaluate the version immediately --- build-logic/src/main/kotlin/ProjectVersion.kt | 33 ++++++------------- penna-api/build.gradle | 6 +--- penna-core/build.gradle | 2 -- penna-yaml-config/build.gradle | 1 + 4 files changed, 12 insertions(+), 30 deletions(-) diff --git a/build-logic/src/main/kotlin/ProjectVersion.kt b/build-logic/src/main/kotlin/ProjectVersion.kt index ae8ade0c..844913e2 100644 --- a/build-logic/src/main/kotlin/ProjectVersion.kt +++ b/build-logic/src/main/kotlin/ProjectVersion.kt @@ -1,30 +1,17 @@ -import org.gradle.api.DefaultTask import org.gradle.api.Plugin import org.gradle.api.Project -import org.gradle.api.tasks.TaskAction -import org.gradle.kotlin.dsl.register import kotlin.io.path.readBytes -abstract class ProjectVersion : DefaultTask() { - @TaskAction - fun action() { - try { - val version = - project.rootDir - .toPath() - .resolve("version") - .readBytes() - .toString(Charsets.UTF_8) - logger.info("Read $version") - project.version = version - } catch (ex: Exception) { - logger.warn("Unable to fetch version because of exception", ex) - } - } -} - class ProjectVersionPlugin : Plugin { - override fun apply(target: Project) { - target.tasks.register("projectVersion") + override fun apply(project: Project) { + val version = + project.rootDir + .toPath() + .resolve("version") + .readBytes() + .toString(Charsets.UTF_8) + project.getLogger().info("Read $version") + project.version = version + project.setProperty("version", version) } } diff --git a/penna-api/build.gradle b/penna-api/build.gradle index 5ec4e9ca..57ed767f 100644 --- a/penna-api/build.gradle +++ b/penna-api/build.gradle @@ -21,8 +21,6 @@ java { tasks.withType(AbstractArchiveTask).configureEach { preserveFileTimestamps = false reproducibleFileOrder = true - - dependsOn("projectVersion") } // The API is an optional client-facing library and therefore it should not have gaps @@ -35,12 +33,10 @@ tasks.withType(JavaCompile).configureEach { "-Xdoclint:all/public", "-Werror" ] - - dependsOn("projectVersion") } -version = "0.8.1" +// version = "0.8.1" dependencies { compileOnly libs.slf4j diff --git a/penna-core/build.gradle b/penna-core/build.gradle index 0ebb7c69..8df1c060 100644 --- a/penna-core/build.gradle +++ b/penna-core/build.gradle @@ -35,8 +35,6 @@ tasks.withType(JavaCompile).configureEach { //"-Werror" ] - dependsOn("projectVersion") - } diff --git a/penna-yaml-config/build.gradle b/penna-yaml-config/build.gradle index edd0c09f..715a4fbe 100644 --- a/penna-yaml-config/build.gradle +++ b/penna-yaml-config/build.gradle @@ -1,6 +1,7 @@ plugins { id 'java-library' id 'penna.publishing' + id 'penna.build.projectVersion' id 'pmd' }