plugins { id 'java-library' id 'maven-publish' alias libs.plugins.licenser alias libs.plugins.gradleutils alias libs.plugins.gitversion alias libs.plugins.changelog id 'net.minecraftforge.forge.build.convention' } gradleutils.displayName = 'LowCodeMod' final vendor = 'Forge Development LLC' description = 'Language provider for Minecraft Forge that loads mods without a Java entrypoint.' java { toolchain.languageVersion = JavaLanguageVersion.of(javaVersion) withSourcesJar() } license { header = rootProject.file('LICENSE-header.txt') } changelog { from changelogBase } dependencies { compileOnly libs.jetbrains.annotations implementation projects.fmlloader implementation projects.fmlcore } tasks.withType(JavaCompile).configureEach { options.compilerArgs << '-Xlint:unchecked' } tasks.named('jar', Jar) { manifest { attributes([ 'Automatic-Module-Name': 'net.minecraftforge.lowcodemod', 'FMLModType' : 'LANGPROVIDER' ]) attributes([ 'Specification-Title' : gradleutils.displayName.get(), 'Specification-Vendor' : vendor, 'Specification-Version' : '1.0', 'Implementation-Title' : project.name, 'Implementation-Vendor' : vendor, 'Implementation-Version': forgeVersion.split('\\.')[0] ], 'net/minecraftforge/fml/lowcodemod/') } } publishing { repositories { maven gradleutils.publishingForgeMaven } publications.register('mavenJava', MavenPublication) { changelog.publish(it) gradleutils.promote(it) from components.java pom { description = project.description gradleutils.pom.addRemoteDetails(pom) licenses { license gradleutils.pom.licenses.LGPLv2_1 } } } }