def generated = layout.buildDirectory.dir('generated/scopenet') sourceSets.main.java.srcDir generated tasks.register('generateBuildInfo') { inputs.property('version', project.version) inputs.property('loader', project.name) outputs.dir generated doLast { def target = generated.get().file('net/scopenet/minecraft/BuildInfo.java').asFile target.parentFile.mkdirs() target.text = """package net.scopenet.minecraft; public final class BuildInfo { public static final String VERSION = "${project.version}"; public static final String LOADER = "${project.name}"; } """ } } compileJava.dependsOn generateBuildInfo