Geyser/bootstrap/spigot/build.gradle.kts

86 lines
3 KiB
Text
Raw Normal View History

2022-02-27 22:38:55 +00:00
dependencies {
api(projects.core)
api(libs.erosion.bukkit.common) {
isTransitive = false
}
2022-02-27 22:38:55 +00:00
2024-05-15 19:31:02 +00:00
implementation(libs.erosion.bukkit.nms) {
attributes {
attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 21)
}
}
2023-06-28 04:31:03 +00:00
implementation(variantOf(libs.adapters.spigot) {
classifier("all") // otherwise the unshaded jar is used without the shaded NMS implementations
})
2024-04-30 18:48:10 +00:00
implementation(variantOf(libs.adapters.paper) {
classifier("all") // otherwise the unshaded jar is used without the shaded NMS implementations
})
implementation(libs.cloud.paper)
implementation(libs.commodore)
2022-08-24 04:53:13 +00:00
implementation(libs.adventure.text.serializer.bungeecord)
compileOnly(libs.folia.api)
compileOnlyApi(libs.viaversion)
2022-02-27 22:38:55 +00:00
}
platformRelocate("it.unimi.dsi.fastutil")
platformRelocate("com.fasterxml.jackson")
2022-08-24 13:41:24 +00:00
// Relocate net.kyori but exclude the component logger
2022-08-24 05:18:12 +00:00
platformRelocate("net.kyori", "net.kyori.adventure.text.logger.slf4j.ComponentLogger")
2022-02-27 22:38:55 +00:00
platformRelocate("org.objectweb.asm")
platformRelocate("me.lucko.commodore")
platformRelocate("org.incendo")
platformRelocate("io.leangen.geantyref") // provided by cloud, should also be relocated
platformRelocate("org.yaml") // Broken as of 1.20
2022-02-27 22:38:55 +00:00
// These dependencies are already present on the platform
2022-10-03 20:11:07 +00:00
provided(libs.viaversion)
2022-02-27 22:38:55 +00:00
tasks.withType<Jar> {
manifest.attributes["Main-Class"] = "org.geysermc.geyser.platform.spigot.GeyserSpigotMain"
2022-02-27 22:38:55 +00:00
}
tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
2024-04-30 18:48:10 +00:00
// Prevents Paper 1.20.5+ from remapping Geyser
manifest {
attributes["paperweight-mappings-namespace"] = "mojang"
}
2022-02-27 22:38:55 +00:00
archiveBaseName.set("Geyser-Spigot")
dependencies {
exclude(dependency("com.google.*:.*"))
// We cannot shade Netty, or else native libraries will not load
// Needed because older Spigot builds do not provide the haproxy module
exclude(dependency("io.netty.incubator:.*"))
2023-03-22 15:10:04 +00:00
exclude(dependency("io.netty:netty-transport-classes-epoll:.*"))
2022-02-27 22:38:55 +00:00
exclude(dependency("io.netty:netty-transport-native-epoll:.*"))
exclude(dependency("io.netty:netty-transport-native-unix-common:.*"))
exclude(dependency("io.netty:netty-transport-classes-kqueue:.*"))
2022-02-27 22:38:55 +00:00
exclude(dependency("io.netty:netty-transport-native-kqueue:.*"))
exclude(dependency("io.netty:netty-handler:.*"))
exclude(dependency("io.netty:netty-common:.*"))
exclude(dependency("io.netty:netty-buffer:.*"))
exclude(dependency("io.netty:netty-resolver:.*"))
exclude(dependency("io.netty:netty-transport:.*"))
exclude(dependency("io.netty:netty-codec:.*"))
exclude(dependency("io.netty:netty-codec-dns:.*"))
exclude(dependency("io.netty:netty-resolver-dns:.*"))
exclude(dependency("io.netty:netty-resolver-dns-native-macos:.*"))
// Commodore includes Brigadier
exclude(dependency("com.mojang:.*"))
2022-02-27 22:38:55 +00:00
}
}
modrinth {
uploadFile.set(tasks.getByPath("shadowJar"))
loaders.addAll("spigot", "paper")
}