1234567891011121314151617181920212223242526272829303132333435363738394041 |
- apply plugin: 'application'
- java.sourceCompatibility = 8
- java.targetCompatibility = 8
- if (JavaVersion.current().isJava9Compatible()) {
- compileJava.options.release.set(8)
- }
- mainClassName = 'xyz.prismix.server.ServerLauncher'
- application.setMainClass(mainClassName)
- eclipse.project.name = appName + '-server'
- dependencies {
- implementation project(':shared')
- }
- jar {
- archiveBaseName.set(appName)
- // the duplicatesStrategy matters starting in Gradle 7.0; this setting works.
- duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
- dependsOn configurations.runtimeClasspath
- from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
- // these "exclude" lines remove some unnecessary duplicate files in the output JAR.
- exclude('META-INF/INDEX.LIST', 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA')
- dependencies {
- exclude('META-INF/INDEX.LIST', 'META-INF/maven/**')
- }
- // setting the manifest makes the JAR runnable.
- manifest {
- attributes 'Main-Class': project.mainClassName
- }
- // this last step may help on some OSes that need extra instruction to make runnable JARs.
- doLast {
- file(archiveFile).setExecutable(true, false)
- }
- }
- // Equivalent to the jar task; here for compatibility with gdx-setup.
- task dist(dependsOn: [jar]) {
- }
|