apply plugin: "java" sourceCompatibility = 1.8 sourceSets.main.java.srcDirs = [ "src/" ] project.ext.mainClassName = "io.anuke.mindustry.server.ServerLauncher" project.ext.assetsDir = new File("../core/assets") ext.getServerFolder = { return "../deploy/${appName}-server-${getVersionString()}" } task run(dependsOn: classes, type: JavaExec) { main = project.mainClassName classpath = sourceSets.main.runtimeClasspath standardInput = System.in workingDir = project.assetsDir ignoreExitValue = true if (project.hasProperty("appArgs")) { args Eval.me(appArgs) } } task debug(dependsOn: classes, type: JavaExec) { main = project.mainClassName classpath = sourceSets.main.runtimeClasspath standardInput = System.in workingDir = project.assetsDir ignoreExitValue = true debug = true } task dist(type: Jar) { from files(sourceSets.main.output.classesDirs) from files(sourceSets.main.output.resourcesDir) from {configurations.compile.collect {zipTree(it)}} from files(project.assetsDir) exclude("sprites/**") exclude("fonts/**") exclude("com/badlogic/gdx/**") exclude("bundles/**") writeVersion() manifest { attributes 'Main-Class': project.mainClassName } } task dzip(type: Zip){ from getServerFolder() archiveName "$appName-server-${getVersionString()}.zip" destinationDir(file("../deploy/")) finalizedBy 'cleanup' } task cleanup{ doLast{ delete{ delete getServerFolder() } } } task deploy{ dependsOn "dist" finalizedBy 'dzip' doLast{ copy{ from "build/libs/server-release.jar" into getServerFolder() rename("server-release.jar", "server.jar") } copy{ from "server_template" into getServerFolder() } } } dist.dependsOn classes