apply plugin: 'com.github.johnrengelman.shadow' String mainClassName = "ru.gravit.launcher.server.ServerWrapper" String mainAgentName = "ru.gravit.launcher.server.ServerAgent" configurations { pack compile.extendsFrom pack } repositories { maven { url "http://repo.spring.io/plugins-release/" } } sourceCompatibility = '1.8' targetCompatibility = '1.8' jar { classifier = 'clean' from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } } manifest.attributes("Main-Class": mainClassName, "Premain-Class": mainAgentName, "Can-Redefine-Classes": "true", "Can-Retransform-Classes": "true", "Can-Set-Native-Method-Prefix": "true") } dependencies { pack project(':LauncherAPI') pack 'org.apache.httpcomponents:httpclient:4.5.7' pack 'io.netty:netty-all:4.1.32.Final' } shadowJar { classifier = null relocate 'io.netty', 'ru.gravit.repackage.io.netty' configurations = [project.configurations.pack] exclude 'module-info.class' } build.dependsOn tasks.shadowJar