From 1b138e29fa43535c3f983a08f9d1a3905faf6b19 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Thu, 19 Nov 2020 12:01:03 -0800 Subject: [PATCH] Implemented gradle application plugin into :server:bncs --- server/bncs/build.gradle | 42 +++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/server/bncs/build.gradle b/server/bncs/build.gradle index a6793287..e3745de0 100644 --- a/server/bncs/build.gradle +++ b/server/bncs/build.gradle @@ -1,22 +1,32 @@ apply plugin: 'java' +apply plugin: 'application' -import org.apache.tools.ant.taskdefs.condition.Os +[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' -project.ext.mainClassName = 'com.riiablo.server.bncs.Main' - -task run(dependsOn: classes, type: JavaExec) { - main = project.mainClassName - classpath = sourceSets.main.runtimeClasspath - standardInput = System.in - ignoreExitValue = true +application { + mainClass = 'com.riiablo.server.bncs.Main' } -task dist(dependsOn: classes, type: Jar) { - from files(sourceSets.main.output.classesDirs) - from files(sourceSets.main.output.resourcesDir) - from {configurations.compile.collect {zipTree(it)}} - - manifest { - attributes 'Main-Class': project.mainClassName - } +run { + setStandardInput(System.in) + setIgnoreExitValue(true) +} + +jar { + archiveBaseName = project.name + // These can be excluded because they add to the jar size but libGDX 1.9.11 can't use them. + // If your libGDX version is 1.9.10 or earlier, or is 1.9.12-SNAPSHOT or later, you can leave + // the following line commented; if you use 1.9.11 exactly, or if you use 1.9.12-SNAPSHOT but + // don't need ARM Linux support, you can uncomment it safely. + // It's always safe to keep that line commented out; it only affects JAR size. + // exclude('linux/arm32/**', 'linux/arm64/**') + dependsOn configurations.runtimeClasspath + from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } + manifest { + attributes 'Main-Class': application.mainClass + } + + doLast { + file(archivePath).setExecutable(true, false) + } }