String mainClassName = "ru.gravit.launcher.ClientLauncherWrapper" String mainAgentName = "ru.gravit.launcher.LauncherAgent" repositories { maven { url "http://repo.spring.io/plugins-release/" } } sourceCompatibility = '1.8' targetCompatibility = '1.8' configurations { bundle pack compile.extendsFrom bundle, pack } jar { from { configurations.pack.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') // Not error on obf. bundle 'com.github.oshi:oshi-core:3.13.0' bundle 'commons-codec:commons-codec:1.11' } task genRuntimeJS(type: Zip) { archiveName = "runtime.zip" destinationDir = file("${buildDir}/tmp") from "runtime/" } task dumpLibs(type: Copy) { into "$buildDir/libs/libraries" from configurations.bundle } build.dependsOn tasks.genRuntimeJS, tasks.dumpLibs