ext { release=project.properties['release'] ?: false } var base_version = "${version_major}.${version_minor}" var final_version = "${base_version}.${version_patch}" // CI Support if (!release && System.getenv('BUILD_NUMBER') != null) { final_version = "${base_version}.${System.getenv('BUILD_NUMBER')}d" } subprojects { apply plugin: 'java' java.toolchain.languageVersion = JavaLanguageVersion.of(17) java.withSourcesJar() java.withJavadocJar() version = "${final_version}" repositories { mavenCentral() maven { name = 'Sponge / Mixin' url = 'https://repo.spongepowered.org/repository/maven-public/' } maven { name = 'First Dark Releases Maven' url = 'https://maven.firstdarkdev.xyz/releases' } maven { name = 'First Dark Snapshots Maven' url = 'https://maven.firstdarkdev.xyz/snapshots' } } jar { manifest { attributes([ 'Specification-Title' : mod_id, 'Specification-Vendor' : mod_author, 'Specification-Version' : project.jar.archiveVersion, 'Implementation-Title' : project.name, 'Implementation-Version' : project.jar.archiveVersion, 'Implementation-Vendor' : mod_author, 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), 'Timestamp' : System.currentTimeMillis(), 'Built-On-Java' : "${System.getProperty('java.vm.version')} (${System.getProperty('java.vm.vendor')})", 'Build-On-Minecraft' : minecraft_version ]) } } tasks.withType(JavaCompile).configureEach { it.options.encoding = 'UTF-8' it.options.release = 17 } tasks.withType(GenerateModuleMetadata) { enabled = false } clean { delete "$rootDir/artifacts" } } tasks.register('copyAllArtifacts', Copy) { subprojects.forEach { if (it.name !== "Shared") { from "$it.buildDir/libs" into "$rootDir/artifacts" include("*.jar") delete("$rootDir/artifacts/*-common-*.jar") } } }