mirror of
https://github.com/MinecraftForge/MinecraftForge
synced 2026-08-22 04:26:10 -04:00
Major re-write of the build tools for creating Forge. This is equivalent to the ForgeGradle 7 migration for the user side. Co-authored-by: Jonathing <me@jonathing.me> Co-authored-by: Paint_Ninja <PaintNinja@users.noreply.github.com>
77 lines
1.9 KiB
Groovy
77 lines
1.9 KiB
Groovy
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
|
|
}
|
|
}
|
|
}
|
|
}
|