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-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.17' 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 }