diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index aec14a00..ec012898 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -39,6 +39,7 @@ jobs: cp LaunchServer.jar ../../../artifacts/LaunchServer.jar cd ../../.. cp ServerWrapper/build/libs/ServerWrapper.jar artifacts/ServerWrapper.jar + cp ServerWrapper/build/libs/ServerWrapper-inline.jar artifacts/ServerWrapperInline.jar cp LauncherAuthlib/build/libs/LauncherAuthlib.jar artifacts/LauncherAuthlib.jar || true cp modules/*_module/build/libs/*.jar artifacts/modules || true cp modules/*_lmodule/build/libs/*.jar artifacts/modules || true diff --git a/ServerWrapper/build.gradle b/ServerWrapper/build.gradle index 68a4f2bc..a84b4353 100644 --- a/ServerWrapper/build.gradle +++ b/ServerWrapper/build.gradle @@ -48,6 +48,21 @@ pack project(':LauncherAPI') exclude 'module-info.class' } +tasks.register('inlinejar', Jar) { + dependsOn configurations.runtimeClasspath + from { + configurations.runtimeClasspath.filter {! (it.name =~ /gson.*\.jar/ || it.name =~ /error_prone_annotations.*\.jar/)}.collect { it.isDirectory() ? it : zipTree(it) } + } + from { + sourceSets.main.output + } + archiveClassifier.set('inline') + manifest.attributes("Main-Class": mainClassName, + "Automatic-Module-Name": "ServerWrapper" + ) + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + publishing { publications { serverwrapperapi(MavenPublication) { @@ -94,4 +109,4 @@ pack project(':LauncherAPI') sign publishing.publications.serverwrapperapi } -assemble.dependsOn tasks.shadowJar +assemble.dependsOn tasks.shadowJar, tasks.inlinejar