3
0
Mirror von https://github.com/GeyserMC/Geyser.git synchronisiert 2024-11-08 17:20:20 +01:00
Geyser/core/build.gradle.kts

102 Zeilen
4.6 KiB
Plaintext

2022-02-27 23:38:55 +01:00
import net.kyori.blossom.BlossomExtension
2022-06-08 14:09:14 +02:00
import net.kyori.indra.git.IndraGitExtension
2022-02-27 23:38:55 +01:00
plugins {
id("net.kyori.blossom")
id("net.kyori.indra.git")
2022-04-24 20:35:49 +02:00
id("geyser.publish-conventions")
2022-02-27 23:38:55 +01:00
}
dependencies {
api(projects.geyserApi)
api(projects.common)
// Jackson JSON and YAML serialization
api("com.fasterxml.jackson.core", "jackson-annotations", Versions.jacksonVersion)
api("com.fasterxml.jackson.core", "jackson-databind", Versions.jacksonVersion + ".1") // Extra .1 as databind is a slightly different version
2022-02-27 23:38:55 +01:00
api("com.fasterxml.jackson.dataformat", "jackson-dataformat-yaml", Versions.jacksonVersion)
api("com.google.guava", "guava", Versions.guavaVersion)
api("com.nukkitx", "nbt", Versions.nbtVersion)
// Fastutil Maps
implementation("com.nukkitx.fastutil", "fastutil-int-int-maps", Versions.fastutilVersion)
implementation("com.nukkitx.fastutil", "fastutil-int-long-maps", Versions.fastutilVersion)
implementation("com.nukkitx.fastutil", "fastutil-int-byte-maps", Versions.fastutilVersion)
implementation("com.nukkitx.fastutil", "fastutil-int-boolean-maps", Versions.fastutilVersion)
implementation("com.nukkitx.fastutil", "fastutil-object-int-maps", Versions.fastutilVersion)
implementation("com.nukkitx.fastutil", "fastutil-object-object-maps", Versions.fastutilVersion)
// Network libraries
implementation("org.java-websocket", "Java-WebSocket", Versions.websocketVersion)
2022-09-17 22:37:30 +02:00
api("com.github.CloudburstMC.Protocol", "bedrock-v554", Versions.protocolVersion) {
2022-02-27 23:38:55 +01:00
exclude("com.nukkitx.network", "raknet")
exclude("com.nukkitx", "nbt")
}
2022-03-20 02:46:30 +01:00
api("com.github.GeyserMC", "MCAuthLib", Versions.mcauthlibVersion)
2022-02-27 23:38:55 +01:00
api("com.github.GeyserMC", "MCProtocolLib", Versions.mcprotocollibversion) {
2022-03-20 02:46:30 +01:00
exclude("com.github.GeyserMC", "packetlib")
exclude("com.github.GeyserMC", "mcauthlib")
2022-02-27 23:38:55 +01:00
}
api("com.github.steveice10", "packetlib", Versions.packetlibVersion) {
exclude("io.netty", "netty-all")
}
implementation("com.nukkitx.network", "raknet", Versions.raknetVersion) {
exclude("io.netty", "*");
}
implementation("io.netty", "netty-resolver-dns", Versions.nettyVersion)
implementation("io.netty", "netty-resolver-dns-native-macos", Versions.nettyVersion, null, "osx-x86_64")
implementation("io.netty", "netty-codec-haproxy", Versions.nettyVersion)
// Network dependencies we are updating ourselves
api("io.netty", "netty-handler", Versions.nettyVersion)
implementation("io.netty", "netty-transport-native-epoll", Versions.nettyVersion, null, "linux-x86_64")
implementation("io.netty", "netty-transport-native-epoll", Versions.nettyVersion, null, "linux-aarch_64")
implementation("io.netty", "netty-transport-native-kqueue", Versions.nettyVersion, null, "osx-x86_64")
// Adventure text serialization
2022-09-18 21:11:18 +02:00
implementation("net.kyori", "adventure-text-serializer-gson", Versions.adventureVersion) // Remove when we remove our Adventure bump
2022-02-27 23:38:55 +01:00
implementation("net.kyori", "adventure-text-serializer-legacy", Versions.adventureVersion)
implementation("net.kyori", "adventure-text-serializer-plain", Versions.adventureVersion)
// Test
testImplementation("junit", "junit", Versions.junitVersion)
// Annotation Processors
2022-03-20 03:13:37 +01:00
compileOnly(projects.ap)
2022-02-27 23:38:55 +01:00
annotationProcessor(projects.ap)
}
2022-09-18 21:11:18 +02:00
configurations.api {
// This is still experimental - additionally, it could only really benefit standalone
exclude(group = "io.netty.incubator", module = "netty-incubator-transport-native-io_uring")
}
2022-02-27 23:38:55 +01:00
configure<BlossomExtension> {
val indra = the<IndraGitExtension>()
2022-02-27 23:38:55 +01:00
val mainFile = "src/main/java/org/geysermc/geyser/GeyserImpl.java"
2022-09-16 02:32:38 +02:00
// On Jenkins, a detached head is checked out, so indra cannot determine the branch. Fortunately, this environment variable is available.
val branchName = indra.branchName() ?: System.getenv("GIT_BRANCH") ?: "DEV"
2022-09-12 01:26:22 +02:00
val commit = indra.commit()
val git = indra.git()
2022-09-15 03:22:34 +02:00
val gitVersion = "git-${branchName}-${commit?.name?.substring(0, 7) ?: "0000000"}"
2022-02-27 23:38:55 +01:00
replaceToken("\${version}", "${project.version} ($gitVersion)", mainFile)
replaceToken("\${gitVersion}", gitVersion, mainFile)
replaceToken("\${buildNumber}", buildNumber(), mainFile)
2022-09-15 03:22:34 +02:00
replaceToken("\${branch}", branchName, mainFile)
2022-09-12 01:26:22 +02:00
if (commit != null && commit.name != null) replaceToken("\${commit}", commit.name, mainFile)
if (git != null) replaceToken("\${repository}", git.repository.config.getString("remote", "origin", "url"))
2022-02-28 06:01:24 +01:00
}
fun Project.buildNumber(): Int =
2022-09-16 02:32:38 +02:00
Integer.parseInt(System.getenv("BUILD_NUMBER") ?: "-1")