89 lines
3.0 KiB
Groovy
89 lines
3.0 KiB
Groovy
plugins {
|
|
id "java-library"
|
|
id "maven-publish"
|
|
}
|
|
|
|
allprojects {
|
|
apply plugin: "java-library"
|
|
apply plugin: "maven-publish"
|
|
|
|
group = rootProject.maven_group
|
|
|
|
repositories {
|
|
maven { url "https://maven.fabricmc.net/" }
|
|
maven { url "https://maven.neoforged.net/releases" }
|
|
mavenCentral()
|
|
maven { url = 'https://maven.quiltmc.org/repository/release' }
|
|
maven {
|
|
url = 'https://maven.cafeteria.dev/releases'
|
|
content {
|
|
includeGroup 'dev.cafeteria'
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
name = "GeckoLib"
|
|
url = "https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup("software.bernie.geckolib")
|
|
}
|
|
}
|
|
maven { url "https://nexus.resourcefulbees.com/repository/telepathicgrunt/" }
|
|
maven { url "https://maven.shedaniel.me" }
|
|
maven { url "https://jitpack.io" }
|
|
maven { url "https://www.cursemaven.com" }
|
|
maven { url "https://api.modrinth.com/maven/" }
|
|
maven { url "https://maven.blamejared.com" }
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.encoding = "UTF-8"
|
|
}
|
|
|
|
java {
|
|
withSourcesJar()
|
|
}
|
|
}
|
|
|
|
// Don't build the root project itself.
|
|
tasks.named('jar') {
|
|
enabled = false
|
|
}
|
|
|
|
// Delegate forge-1.20.1 tasks to its own Gradle 8.8 wrapper. ForgeGradle 6 can't run
|
|
// on Gradle 9 and includeBuild can't mix Gradle versions, so we shell out instead.
|
|
def forge1201Dir = file('forge-1.20.1')
|
|
def forge1201Wrapper = providers.systemProperty('os.name').get().toLowerCase().contains('win')
|
|
? new File(forge1201Dir, 'gradlew.bat')
|
|
: new File(forge1201Dir, 'gradlew')
|
|
|
|
['build', 'assemble', 'clean', 'runClient', 'runServer'].each { name ->
|
|
tasks.register("forge1201${name.capitalize()}", Exec) {
|
|
group = 'forge-1.20.1'
|
|
description = "Runs ':${name}' inside the forge-1.20.1 build"
|
|
workingDir = forge1201Dir
|
|
commandLine forge1201Wrapper.absolutePath, name
|
|
}
|
|
}
|
|
|
|
// Delegate fabric-1.20.1 tasks to its own standalone Gradle wrapper. Fabric Loom's
|
|
// build-wide tinyRemapperService isn't classloader-safe across two loom projects
|
|
// targeting different Minecraft versions in the same Gradle invocation, so
|
|
// fabric-1.20.1 can't be a normal included subproject alongside fabric-1.21.1.
|
|
def fabric120Dir = file('fabric-1.20.1')
|
|
def fabric120Wrapper = providers.systemProperty('os.name').get().toLowerCase().contains('win')
|
|
? new File(fabric120Dir, 'gradlew.bat')
|
|
: new File(fabric120Dir, 'gradlew')
|
|
|
|
['build', 'assemble', 'clean', 'runClient', 'runServer'].each { name ->
|
|
tasks.register("fabric120${name.capitalize()}", Exec) {
|
|
group = 'fabric-1.20.1'
|
|
description = "Runs ':${name}' inside the fabric-1.20.1 build"
|
|
workingDir = fabric120Dir
|
|
commandLine fabric120Wrapper.absolutePath, name
|
|
}
|
|
}
|