plugins { id 'java' id 'application' id("net.thauvin.erik.gradle.semver") } defaultTasks 'run' application { mainClass = 'App' } // version = 1.0 def f = new File("version.properties") def semverProcessor = 'net.thauvin.erik:semver:1.2.2-SNAPSHOT' repositories { mavenLocal() mavenCentral() } dependencies { annotationProcessor semverProcessor compileOnly semverProcessor } 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] } } tasks.register('echoVersion', Exec) { commandLine('echo', "${-> version}") } semver { properties = "${f.name}" keysPrefix = f.name.substring(0, f.name.indexOf(".") + 1) buildMetaKey = "meta" semverKey = "fullversion" }