plugins { id 'java' id 'application' id 'com.github.ben-manes.versions' version '0.51.0' } // ./gradlew run // ./gradlew runExample defaultTasks 'run' final def semverProcessor = 'net.thauvin.erik:semver:1.2.2-SNAPSHOT' repositories { mavenLocal() mavenCentral() maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots") } } dependencies { annotationProcessor semverProcessor implementation semverProcessor } java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } application { mainClassName = 'com.example.App' } tasks.withType(JavaCompile).configureEach { options.generatedSourceOutputDirectory.set(file("${projectDir}/src/generated/java")) options.compilerArgs += ["-Asemver.project.dir=$projectDir"] } tasks.register("runExample", JavaExec) { group = 'application' classpath = sourceSets.main.runtimeClasspath mainClass.set('com.example.Example') }