Files
AnarchyMod/build.gradle.kts
T
AlexProgrammerDEandClaude Opus 4.6 0a3b019962 refactor: migrate to Stonecutter for multi-version management
Replace 20 separate mc-* submodules and common module with a single
Stonecutter-managed source tree using preprocessor comments. This
eliminates massive code duplication while preserving all version-specific
behavior across 1.19.4 through 1.21.11.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-01 10:06:02 +01:00

80 lines
2.0 KiB
Kotlin

plugins {
id("fabric-loom") version "1.15.4"
id("maven-publish")
}
val minecraftVersion = stonecutter.current.project
val loaderVersion = property("loader_version") as String
val fabricApiVersion = property("fabric_api_version") as String
val javaVersion = (property("java_version") as String).toInt()
version = property("mod_version")!!
group = property("maven_group")!!
base {
archivesName.set("anarchymod-mc-${minecraftVersion}")
}
dependencies {
minecraft("com.mojang:minecraft:$minecraftVersion")
mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:$loaderVersion")
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
implementation("com.google.code.gson:gson:2.13.2")
}
loom {
runConfigs.all {
ideConfigGenerated(true)
runDir = "../../run"
}
}
tasks.processResources {
inputs.property("version", project.version)
inputs.property("minecraft_version", minecraftVersion)
inputs.property("loader_version", loaderVersion)
inputs.property("java_version", javaVersion)
filteringCharset = "UTF-8"
filesMatching("fabric.mod.json") {
expand(
"version" to project.version,
"minecraft_version" to minecraftVersion,
"loader_version" to loaderVersion,
"java_version" to javaVersion
)
}
filesMatching("anarchymod.mixins.json") {
expand(
"java_version" to javaVersion
)
}
}
tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
options.release.set(javaVersion)
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(javaVersion))
withSourcesJar()
}
tasks.jar {
from("LICENSE") {
rename { "${it}_${base.archivesName.get()}" }
}
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
artifactId = base.archivesName.get()
from(components["java"])
}
}
}