buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'net.thauvin.erik.gradle:semver:1.0.5' } } apply plugin: 'java' apply plugin: 'application' apply plugin: 'net.thauvin.erik.gradle.semver' 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" }