plugins { id 'java-library' } group = 'com.annimon' version = '2.0-SNAPSHOT' dependencies { implementation "org.json:json:${versions.json}" testImplementation platform("org.junit:junit-bom:${versions.junit}") testImplementation 'org.junit.jupiter:junit-jupiter' } test { useJUnitPlatform() } ext.generatedJavaDir = "${project.buildDir}/gen/src/main/java" sourceSets.main.java.srcDirs += project.generatedJavaDir tasks.register('generateJavaSources') { doLast { def source = """ package com.annimon.ownlang; class Gen { private Gen() {} public static final String BUILD_DATE = "${new Date().format('YYMMdd')}"; } """.stripIndent() def genFile = new File("${project.generatedJavaDir}/com/annimon/ownlang/Gen.java") genFile.getParentFile().mkdirs() genFile.write(source) } } compileJava.dependsOn(generateJavaSources)