mirror of
https://github.com/PaperMC/Velocity.git
synced 2024-11-27 06:09:02 +00:00
08a42b3723
This technically can break backwards compatibility, but this seems to be very unlikely to be the practice in reality. (The Velocity implementation probably wasn't correct, anyway.)
144 lines
6.0 KiB
Plaintext
144 lines
6.0 KiB
Plaintext
import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
|
|
|
|
plugins {
|
|
application
|
|
id("velocity-init-manifest")
|
|
alias(libs.plugins.shadow)
|
|
}
|
|
|
|
application {
|
|
mainClass.set("com.velocitypowered.proxy.Velocity")
|
|
applicationDefaultJvmArgs += listOf("-Dvelocity.packet-decode-logging=true");
|
|
}
|
|
|
|
tasks {
|
|
withType<Checkstyle> {
|
|
exclude("**/com/velocitypowered/proxy/protocol/packet/**")
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes["Implementation-Title"] = "Velocity"
|
|
attributes["Implementation-Vendor"] = "Velocity Contributors"
|
|
attributes["Multi-Release"] = "true"
|
|
}
|
|
}
|
|
|
|
shadowJar {
|
|
transform(Log4j2PluginsCacheFileTransformer::class.java)
|
|
|
|
// Exclude all the collection types we don"t intend to use
|
|
exclude("it/unimi/dsi/fastutil/booleans/**")
|
|
exclude("it/unimi/dsi/fastutil/bytes/**")
|
|
exclude("it/unimi/dsi/fastutil/chars/**")
|
|
exclude("it/unimi/dsi/fastutil/doubles/**")
|
|
exclude("it/unimi/dsi/fastutil/floats/**")
|
|
exclude("it/unimi/dsi/fastutil/longs/**")
|
|
exclude("it/unimi/dsi/fastutil/shorts/**")
|
|
|
|
// Exclude the fastutil IO utilities - we don"t use them.
|
|
exclude("it/unimi/dsi/fastutil/io/**")
|
|
|
|
// Exclude most of the int types - Object2IntMap have a values() method that returns an
|
|
// IntCollection, and we need Int2ObjectMap
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Boolean*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Byte*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Char*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Double*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Float*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Int*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Long*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Short*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Int2Reference*")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntAVL*")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntArray*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*IntBi*")
|
|
exclude("it/unimi/dsi/fastutil/ints/Int*Pair")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntLinked*")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntList*")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntHeap*")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntOpen*")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntRB*")
|
|
exclude("it/unimi/dsi/fastutil/ints/IntSorted*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*Priority*")
|
|
exclude("it/unimi/dsi/fastutil/ints/*BigList*")
|
|
|
|
// Try to exclude everything BUT Object2Int{LinkedOpen,Open,CustomOpen}HashMap
|
|
exclude("it/unimi/dsi/fastutil/objects/*ObjectArray*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*ObjectAVL*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object*Big*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Boolean*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Byte*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Char*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Double*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Float*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2IntArray*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2IntAVL*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2IntRB*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Long*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Object*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Reference*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Object2Short*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*ObjectRB*")
|
|
exclude("it/unimi/dsi/fastutil/objects/*Reference*")
|
|
|
|
// Exclude Checker Framework annotations
|
|
exclude("org/checkerframework/checker/**")
|
|
|
|
relocate("org.bstats", "com.velocitypowered.proxy.bstats")
|
|
|
|
// Include Configurate 3
|
|
val configurateBuildTask = project(":deprecated-configurate3").tasks.named("shadowJar")
|
|
dependsOn(configurateBuildTask)
|
|
from(zipTree(configurateBuildTask.map { it.outputs.files.singleFile }))
|
|
}
|
|
|
|
runShadow {
|
|
workingDir = file("run").also(File::mkdirs)
|
|
standardInput = System.`in`
|
|
}
|
|
named<JavaExec>("run") {
|
|
workingDir = file("run").also(File::mkdirs)
|
|
standardInput = System.`in` // Doesn't work?
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":velocity-api"))
|
|
implementation(project(":velocity-native"))
|
|
implementation(project(":velocity-proxy-log4j2-plugin"))
|
|
|
|
implementation(libs.bundles.log4j)
|
|
implementation(libs.kyori.ansi)
|
|
implementation(libs.netty.codec)
|
|
implementation(libs.netty.codec.haproxy)
|
|
implementation(libs.netty.codec.http)
|
|
implementation(libs.netty.handler)
|
|
implementation(libs.netty.transport.native.epoll)
|
|
implementation(variantOf(libs.netty.transport.native.epoll) { classifier("linux-x86_64") })
|
|
implementation(variantOf(libs.netty.transport.native.epoll) { classifier("linux-aarch_64") })
|
|
implementation(libs.netty.transport.native.kqueue)
|
|
implementation(variantOf(libs.netty.transport.native.kqueue) { classifier("osx-x86_64") })
|
|
implementation(variantOf(libs.netty.transport.native.kqueue) { classifier("osx-aarch_64") })
|
|
|
|
implementation(libs.jopt)
|
|
implementation(libs.terminalconsoleappender)
|
|
runtimeOnly(libs.jline)
|
|
runtimeOnly(libs.disruptor)
|
|
implementation(libs.fastutil)
|
|
implementation(platform(libs.adventure.bom))
|
|
implementation(libs.adventure.text.serializer.json.legacy.impl)
|
|
implementation(libs.adventure.facet)
|
|
implementation(libs.completablefutures)
|
|
implementation(libs.nightconfig)
|
|
implementation(libs.bstats)
|
|
implementation(libs.lmbda)
|
|
implementation(libs.asm)
|
|
implementation(libs.bundles.flare)
|
|
compileOnly(libs.spotbugs.annotations)
|
|
compileOnly(libs.auto.service.annotations)
|
|
testImplementation(libs.mockito)
|
|
|
|
annotationProcessor(libs.auto.service)
|
|
}
|