geforkt von Mirrors/Velocity
1661cece2d
* Delay switch to new server until after JoinGame is sent. Unfortunately, in some cases (especially vanilla Minecraft) some login disconnects are sent after ServerLoginSuccess but before JoinGame. We've been using ServerLoginSuccess but it has caused too many problems. Now Velocity will switch to a stripped-down version of the play session handler until JoinGame is received. This handler does very little by itself: it simply forwards plugin messages (for Forge) and waits for the JoinGame packet from the server. This is an initial version: only vanilla Minecraft 1.12.2 was tested. However this is the way Waterfall without entity rewriting does server switches (which, in turn, is inherited from BungeeCord). * Move to Gradle 5 and Error Prone.
112 Zeilen
4.5 KiB
Groovy
112 Zeilen
4.5 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 = "${project.version} (git-${project.ext.getCurrentShortRevision()}-b${buildNumber})"
|
|
|
|
attributes 'Main-Class': 'com.velocitypowered.proxy.Velocity'
|
|
attributes 'Implementation-Title': "Velocity"
|
|
attributes 'Implementation-Version': version
|
|
attributes 'Implementation-Vendor': "Velocity Contributors"
|
|
}
|
|
}
|
|
|
|
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-kqueue:${nettyVersion}:osx-x86_64"
|
|
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.1.1'
|
|
runtime 'net.java.dev.jna:jna:4.5.2' // Needed for JLine
|
|
runtime 'com.lmax:disruptor:3.4.2' // Async loggers
|
|
|
|
compile 'it.unimi.dsi:fastutil:8.2.2'
|
|
compile 'net.kyori:event-method-asm:3.0.0'
|
|
|
|
compile 'com.mojang:brigadier:1.0.15'
|
|
|
|
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
|
|
}
|