apply plugin: 'com.github.johnrengelman.shadow' String mainClassName = "pro.gravit.launcher.server.ServerWrapper" String mainAgentName = "pro.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' manifest.attributes("Main-Class": mainClassName, "Premain-Class": mainAgentName, "Can-Redefine-Classes": "true", "Can-Retransform-Classes": "true", "Can-Set-Native-Method-Prefix": "true") } task sourcesJar(type: Jar) { from sourceSets.main.allJava archiveClassifier = 'sources' } task javadocJar(type: Jar) { from javadoc archiveClassifier = 'javadoc' } dependencies { pack project(':LauncherAuthlib') pack 'org.apache.httpcomponents:httpclient:4.5.10' pack 'io.netty:netty-codec-http:4.1.43.Final' } shadowJar { classifier = null relocate 'io.netty', 'pro.gravit.repackage.io.netty' configurations = [project.configurations.pack] exclude 'module-info.class' } publishing { publications { serverwrapperapi(MavenPublication) { artifactId = 'serverwrapper-api' artifact(jar) { classifier "" } artifact sourcesJar artifact javadocJar pom { name = 'GravitLauncher ServerWrapper API' description = 'GravitLauncher ServerWrapper Module API' url = 'https://launcher.gravit.pro' licenses { license { name = 'GNU General Public License, Version 3.0' url = 'https://www.gnu.org/licenses/gpl-3.0.html' } } developers { developer { id = 'gravit' name = 'Gravit' email = 'gravit.min@ya.ru' } developer { id = 'zaxar163' name = 'Zaxar163' email = 'zahar.vcherachny@yandex.ru' } } scm { connection = 'scm:git:https://github.com/GravitLauncher/Launcher.git' developerConnection = 'scm:git:ssh://git@github.com:GravitLauncher/Launcher.git' url = 'https://launcher.gravit.pro/' } } } } } signing { sign publishing.publications.serverwrapperapi } assemble.dependsOn tasks.shadowJar