Shade/Relocate dependencies on Fabric to avoid version warnings

This commit is contained in:
onebeastchris 2024-03-19 16:17:40 +01:00
parent f1758886f1
commit 26443ff29f
2 changed files with 22 additions and 10 deletions

View File

@ -22,6 +22,7 @@ dependencies {
// These are NOT transitively included, and instead shadowed + relocated.
// Avoids fabric complaining about non-SemVer versioning
// TODO: re-evaluate after loom 1.6 (https://github.com/FabricMC/fabric-loom/pull/1075)
shadow(libs.protocol.connection) { isTransitive = false }
shadow(libs.protocol.common) { isTransitive = false }
shadow(libs.protocol.codec) { isTransitive = false }
@ -32,6 +33,13 @@ dependencies {
shadow("io.netty:netty-codec-dns:4.1.103.Final") { isTransitive = false }
shadow("io.netty:netty-resolver-dns-classes-macos:4.1.103.Final") { isTransitive = false }
// Consequences of shading + relocating mcauthlib: shadow/relocate mcpl!
shadow(libs.mcprotocollib) { isTransitive = false }
// Since we also relocate cloudburst protocol: shade erosion common
shadow(libs.erosion.common) { isTransitive = false }
// Permissions
modImplementation(libs.fabric.permissions)
include(libs.fabric.permissions)
}
@ -45,8 +53,12 @@ tasks {
relocate("org.cloudburstmc.nbt", "org.geysermc.relocate.cloudburst.nbt")
relocate("org.cloudburstmc.netty", "org.geysermc.relocate.cloudburst.netty")
relocate("org.cloudburstmc.protocol", "org.geysermc.relocate.cloudburst.protocol")
relocate("io.netty.handler.codec.dns", "org.geysermc.relocate.netty")
relocate("io.netty.handler.codec.haproxy", "org.geysermc.relocate.netty")
relocate("io.netty.handler.codec.dns", "org.geysermc.relocate.netty.codec-dns")
relocate("io.netty.handler.codec.haproxy", "org.geysermc.relocate.netty.codec-haproxy")
relocate("io.netty.resolver.dns.macos", "org.geysermc.relocate.netty.dns-macos")
relocate("com.github.steveice10.mc.protocol", "org.geysermc.relocate.mcpl")
relocate("com.github.steveice10.mc.auth", "org.geysermc.relocate.authlib")
relocate("com.github.steveice10.packetlib", "org.geysermc.relocate.packetlib")
}
remapJar {
archiveBaseName.set("Geyser-Fabric")

View File

@ -11,15 +11,15 @@ plugins {
id("com.modrinth.minotaur")
}
// These are provided by Minecraft already, no need to include them
// These are provided by Minecraft/modded platforms already, no need to include them
provided("com.google.code.gson", "gson")
provided("com.google.guava", "*")
provided("com.google.guava", ".*")
provided("org.slf4j", "slf4j-api")
provided("com.nukkitx.fastutil", "*")
provided("org.cloudburstmc.fastutil.maps", "*")
provided("org.cloudburstmc.fastutil.sets", "*")
provided("org.cloudburstmc.fastutil.commons", "*")
provided("org.cloudburstmc.fastutil", "*")
provided("com.nukkitx.fastutil", ".*")
provided("org.cloudburstmc.fastutil.maps", ".*")
provided("org.cloudburstmc.fastutil.sets", ".*")
provided("org.cloudburstmc.fastutil.commons", ".*")
provided("org.cloudburstmc.fastutil", ".*")
provided("org.checkerframework", "checker-qual")
provided("io.netty", "netty-transport-classes-epoll")
provided("io.netty", "netty-transport-native-epoll")
@ -92,7 +92,7 @@ afterEvaluate {
// Now: Include all transitive dependencies that aren't excluded
configurations["includeTransitive"].resolvedConfiguration.resolvedArtifacts.forEach { dep ->
if (!providedDependencies.contains("${dep.moduleVersion.id.group}:${dep.moduleVersion.id.name}")
and !providedDependencies.contains("${dep.moduleVersion.id.group}:*")) {
and !providedDependencies.contains("${dep.moduleVersion.id.group}:.*")) {
println("Including dependency via JiJ: ${dep.id}")
dependencies.add("include", dep.moduleVersion.id.toString())
} else {