plugins { id 'com.github.johnrengelman.shadow' version '2.0.2' id 'com.palantir.git-version' version '0.10.1' id 'java' } repositories { mavenCentral() } dependencies { compile 'org.ow2.asm:asm:6.0' testCompile 'junit:junit:4.12' } def gitInfo = versionDetails() sourceCompatibility = 1.8 version = '1.1.' + (System.getenv('BUILD_NUMBER')?:'0-SNAPSHOT') + '-' + gitInfo.gitHashFull[0..6] if (!gitInfo.isCleanTag) version += '.dirty' jar { manifest { attributes ( 'Implementation-Title': project.name, 'Implementation-Version': version, 'Implementation-Vendor': 'to2mbn', 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), 'Git-Commit': gitInfo.gitHashFull, 'Git-IsClean': gitInfo.isCleanTag, 'Premain-Class': 'org.to2mbn.authlibinjector.javaagent.AuthlibInjectorPremain', 'Agent-Class': 'org.to2mbn.authlibinjector.javaagent.AuthlibInjectorPremain', 'Can-Retransform-Classes': true, 'Can-Redefine-Classes': true ) } } processResources { from('LICENSE') { rename('LICENSE', 'authlib-injector.txt') into 'META-INF/licenses' } } shadowJar { classifier = null exclude 'META-INF/maven/**' exclude 'module-info.class' relocate 'org.objectweb.asm', 'org.to2mbn.authlibinjector.internal.org.objectweb.asm' } tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } defaultTasks 'clean', 'shadowJar'