50 lines
1 KiB
Groovy
50 lines
1 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'application'
|
|
id 'net.thauvin.erik.gradle.semver' version '1.0.2'
|
|
id 'com.github.ben-manes.versions' version '0.21.0'
|
|
}
|
|
|
|
// ./gradlew
|
|
// ./gradlew clean incrementPatch run
|
|
// ./gradlew clean incrementMinor run
|
|
// ./gradlew clean incrementMajor run
|
|
|
|
mainClassName = 'com.example.Example'
|
|
|
|
defaultTasks 'run'
|
|
|
|
compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated/java")
|
|
|
|
def semverProcessor = "net.thauvin.erik:semver:1.2.0"
|
|
|
|
dependencies {
|
|
annotationProcessor semverProcessor
|
|
implementation semverProcessor
|
|
}
|
|
|
|
// For Java 12+
|
|
tasks.withType(JavaCompile) {
|
|
options.compilerArgs += [ "-Asemver.project.dir=$projectDir" ]
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
jcenter()
|
|
}
|
|
|
|
run {
|
|
doFirst {
|
|
println "Version: $version"
|
|
}
|
|
|
|
// args = ['example.properties']
|
|
args = ['version.properties']
|
|
}
|
|
|
|
semver {
|
|
// properties = "example.properties"
|
|
// keysPrefix = "example."
|
|
// preReleaseKey = "release"
|
|
// buildMetaKey = "meta"
|
|
}
|