plugins { id 'java' id 'application' id("net.thauvin.erik.gradle.semver") version "1.0.4" } defaultTasks 'run' mainClassName = 'App' // version = 1.0 def f = new File("version.properties") def semverProcessor = 'net.thauvin.erik:semver:1.2.0' dependencies { annotationProcessor semverProcessor compileOnly semverProcessor } repositories { mavenLocal() } application { println project.version project.afterEvaluate { println "afterEvaluate: $project.version" } } incrementBuildMeta { doFirst { //buildMeta = sprintf("%03d", (buildMeta as Integer) + 1) buildMeta = new Date().format("yyyyMMddHHmmss") } } run { doFirst { println "$semver" args = [f.name] } } task echoVersion(type:Exec) { commandLine('echo', "${-> version}") } semver { properties = "${f.name}" keysPrefix = f.name.substring(0, f.name.indexOf(".") + 1) buildMetaKey = "meta" semverKey = "fullversion" }