feat(minecraft): Make every subproject its own mod

This commit is contained in:
2025-11-08 00:44:52 +01:00
parent 47ad406560
commit d2dada2b77
34 changed files with 186 additions and 65 deletions

View File

@@ -1,7 +1,7 @@
import de.siphalor.tweed5.minecraft.bundled.sources.BundledSourcesJar
plugins {
id("de.siphalor.tweed5.minecraft.mod.dummy")
id("de.siphalor.tweed5.minecraft.mod.bundle")
}
val bundledSourcesConfiguration = configurations.resolvable("bundledSources") {
@@ -12,51 +12,12 @@ val bundledSourcesConfiguration = configurations.resolvable("bundledSources") {
}
}
configurations.implementation {
exclude(group = "commons-logging", module = "commons-logging")
}
val vendoredCommonsLogging = project.layout.settingsDirectory.file("vendor/commons-logging").asFile
dependencies {
implementation("de.siphalor.tweed5:tweed5-core")
implementation("de.siphalor.tweed5:tweed5-attributes-extension")
implementation("de.siphalor.tweed5:tweed5-default-extensions")
implementation("de.siphalor.tweed5:tweed5-serde-extension")
implementation("de.siphalor.tweed5:tweed5-weaver-pojo")
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-attributes-extension")
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-presets-extension")
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-serde-extension")
implementation("de.siphalor.tweed5:tweed5-weaver-pojo-validation-extension")
implementation(
objects.fileCollection().apply {
from(
vendoredCommonsLogging.resolve("target")
.listFiles { it.name.endsWith("SNAPSHOT.jar") }
)
builtBy("compileCommonsLogging")
}
)
}
tasks.register<Exec>("compileCommonsLogging") {
inputs.file(vendoredCommonsLogging.resolve("pom.xml"))
inputs.dir(vendoredCommonsLogging.resolve("src"))
outputs.dir(vendoredCommonsLogging.resolve("target"))
commandLine("mvn", "package", "-DskipTests")
workingDir(vendoredCommonsLogging)
}
tasks.shadowJar {
relocate("org.objectweb.asm", "de.siphalor.tweed5.shadowed.org.objectweb.asm")
relocate("META-INF", "META-INF/tweed5-vendored/commons-logging") {
include("META-INF/*.txt")
}
exclude("META-INF/maven/**")
// Remove some obsolete classes
exclude("org/apache/commons/logging/impl/WeakHashtable*")
minecraftJij("de.siphalor.tweed5:tweed5-core")
minecraftJij("de.siphalor.tweed5:tweed5-attributes-extension")
minecraftJij("de.siphalor.tweed5:tweed5-default-extensions")
minecraftJij("de.siphalor.tweed5:tweed5-serde-extension")
minecraftJij(project(":tweed5-logging"))
}
tasks.register<BundledSourcesJar>("sourcesJar") {