67 lines
1.5 KiB
Groovy
67 lines
1.5 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'application'
|
|
id 'org.openjfx.javafxplugin' version '0.1.0'
|
|
}
|
|
|
|
group = 'de.blight'
|
|
version = '0.1.0'
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.VERSION_21
|
|
targetCompatibility = JavaVersion.VERSION_21
|
|
}
|
|
|
|
javafx {
|
|
version = '21'
|
|
modules = ['javafx.controls', 'javafx.swing']
|
|
}
|
|
|
|
application {
|
|
mainClass = 'de.blight.editor.EditorLauncher'
|
|
applicationDefaultJvmArgs = [
|
|
'--add-opens', 'java.base/java.lang=ALL-UNNAMED',
|
|
'--add-opens', 'java.desktop/sun.awt=ALL-UNNAMED',
|
|
'-Djava.library.path=${rootDir}/build/natives',
|
|
]
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
ext {
|
|
jmeVersion = '3.7.0-stable'
|
|
}
|
|
|
|
dependencies {
|
|
implementation "org.jmonkeyengine:jme3-core:${jmeVersion}"
|
|
implementation "org.jmonkeyengine:jme3-desktop:${jmeVersion}"
|
|
implementation "org.jmonkeyengine:jme3-lwjgl3:${jmeVersion}"
|
|
implementation "org.jmonkeyengine:jme3-terrain:${jmeVersion}"
|
|
implementation "org.jmonkeyengine:jme3-effects:${jmeVersion}"
|
|
implementation "org.jmonkeyengine:jme3-testdata:${jmeVersion}"
|
|
}
|
|
|
|
tasks.register('extractNatives', Copy) {
|
|
def nativeConf = configurations.runtimeClasspath.resolvedConfiguration
|
|
.resolvedArtifacts
|
|
.findAll { it.name.contains('natives') }
|
|
.collect { zipTree(it.file) }
|
|
|
|
from nativeConf
|
|
into "${buildDir}/natives"
|
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
|
}
|
|
|
|
run {
|
|
dependsOn extractNatives
|
|
workingDir = rootDir
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes 'Main-Class': application.mainClass
|
|
}
|
|
}
|