51 lines
1.8 KiB
Groovy
51 lines
1.8 KiB
Groovy
apply plugin: 'application'
|
|
|
|
|
|
sourceSets.main.resources.srcDirs += [ rootProject.file('assets').path ]
|
|
application.mainClass = 'com.mygdx.game.lwjgl2.Lwjgl2Launcher'
|
|
eclipse.project.name = appName + '-lwjgl2'
|
|
java.sourceCompatibility = 8
|
|
java.targetCompatibility = 8
|
|
if (JavaVersion.current().isJava9Compatible()) {
|
|
compileJava.options.release.set(8)
|
|
}
|
|
|
|
dependencies {
|
|
implementation "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
|
|
implementation "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-desktop"
|
|
implementation "com.badlogicgames.gdx:gdx-bullet-platform:$gdxVersion:natives-desktop"
|
|
implementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
|
|
implementation project(':core')
|
|
}
|
|
|
|
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.
|
|
// enabling native access helps avoid a warning when Java 24 or later runs the JAR.
|
|
manifest {
|
|
attributes 'Main-Class': application.mainClass, 'Enable-Native-Access': 'ALL-UNNAMED'
|
|
}
|
|
// 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.
|
|
tasks.register('dist') {
|
|
dependsOn 'jar'
|
|
}
|
|
|
|
run {
|
|
ignoreExitValue = true
|
|
}
|