Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-12-25 07:40:13 +01:00
28d2366c73
This allows us to allow many more valid configurations and allows us to eliminate a bunch of ugly hacks.
125 Zeilen
4.9 KiB
Groovy
125 Zeilen
4.9 KiB
Groovy
import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
|
|
|
|
plugins {
|
|
id 'java'
|
|
id 'checkstyle'
|
|
id "net.ltgt.errorprone" version "0.8"
|
|
}
|
|
|
|
apply from: '../gradle/checkstyle.gradle'
|
|
apply from: '../gradle/errorprone.gradle'
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
|
|
jar {
|
|
manifest {
|
|
def buildNumber = System.getenv("BUILD_NUMBER") ?: "unknown"
|
|
def version
|
|
if (project.version.endsWith("-SNAPSHOT")) {
|
|
version = "${project.version} (git-${project.ext.getCurrentShortRevision()}-b${buildNumber})"
|
|
} else {
|
|
version = "${project.version}"
|
|
}
|
|
|
|
attributes 'Main-Class': 'com.velocitypowered.proxy.Velocity'
|
|
attributes 'Implementation-Title': "Velocity"
|
|
attributes 'Implementation-Version': version
|
|
attributes 'Implementation-Vendor': "Velocity Contributors"
|
|
attributes 'Multi-Release': 'true'
|
|
}
|
|
}
|
|
|
|
shadowJar {
|
|
transform(Log4j2PluginsCacheFileTransformer)
|
|
}
|
|
|
|
tasks.withType(Checkstyle) {
|
|
exclude('**/com/velocitypowered/proxy/protocol/packet/*.java')
|
|
}
|
|
|
|
dependencies {
|
|
// Note: we depend on the API twice, first the main sourceset, and then the annotation processor.
|
|
compile project(':velocity-api')
|
|
compile project(':velocity-api').sourceSets.ap.output
|
|
compile project(':velocity-native')
|
|
|
|
compile "io.netty:netty-codec:${nettyVersion}"
|
|
compile "io.netty:netty-codec-haproxy:${nettyVersion}"
|
|
compile "io.netty:netty-codec-http:${nettyVersion}"
|
|
compile "io.netty:netty-handler:${nettyVersion}"
|
|
compile "io.netty:netty-transport-native-epoll:${nettyVersion}"
|
|
compile "io.netty:netty-transport-native-epoll:${nettyVersion}:linux-x86_64"
|
|
compile "io.netty:netty-transport-native-epoll:${nettyVersion}:linux-aarch64"
|
|
compile "io.netty:netty-resolver-dns:${nettyVersion}"
|
|
|
|
compile "org.apache.logging.log4j:log4j-api:${log4jVersion}"
|
|
compile "org.apache.logging.log4j:log4j-core:${log4jVersion}"
|
|
compile "org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}"
|
|
compile "org.apache.logging.log4j:log4j-iostreams:${log4jVersion}"
|
|
|
|
compile 'net.sf.jopt-simple:jopt-simple:5.0.4' // command-line options
|
|
compile 'net.minecrell:terminalconsoleappender:1.2.0'
|
|
runtime 'org.jline:jline-terminal-jansi:3.12.1' // Needed for JLine
|
|
runtime 'com.lmax:disruptor:3.4.2' // Async loggers
|
|
|
|
compile 'it.unimi.dsi:fastutil:8.2.3'
|
|
compile 'net.kyori:event-method-asm:3.0.0'
|
|
compile 'net.kyori:nbt:1.12-1.0.0-SNAPSHOT'
|
|
|
|
compile 'com.mojang:brigadier:1.0.17'
|
|
|
|
compile 'org.asynchttpclient:async-http-client:2.10.4'
|
|
|
|
compile 'com.spotify:completable-futures:0.3.2'
|
|
|
|
compile 'com.electronwill.night-config:toml:3.6.3'
|
|
|
|
testCompile "org.junit.jupiter:junit-jupiter-api:${junitVersion}"
|
|
testCompile "org.junit.jupiter:junit-jupiter-engine:${junitVersion}"
|
|
}
|
|
|
|
shadowJar {
|
|
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/ints/*Int2*'
|
|
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/IntLinked*'
|
|
exclude 'it/unimi/dsi/fastutil/ints/IntList*'
|
|
exclude 'it/unimi/dsi/fastutil/ints/IntOpen*'
|
|
exclude 'it/unimi/dsi/fastutil/ints/IntRB*'
|
|
exclude 'it/unimi/dsi/fastutil/ints/IntSet*'
|
|
exclude 'it/unimi/dsi/fastutil/ints/IntSorted*'
|
|
exclude 'it/unimi/dsi/fastutil/ints/*Priority*'
|
|
exclude 'it/unimi/dsi/fastutil/ints/*BigList*'
|
|
exclude 'it/unimi/dsi/fastutil/io/**'
|
|
exclude 'it/unimi/dsi/fastutil/longs/**'
|
|
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/*Object*OpenCustom*'
|
|
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 'it/unimi/dsi/fastutil/shorts/**'
|
|
exclude 'org/checkerframework/checker/**'
|
|
}
|
|
|
|
artifacts {
|
|
archives shadowJar
|
|
}
|