// group / version / java / repositories kommen vom Root-Build. plugins { id 'application' id 'org.openjfx.javafxplugin' version '0.1.0' } javafx { version = '26' modules = ['javafx.controls', 'javafx.swing'] } application { mainClass = 'de.blight.editor.BlightEditor' applicationDefaultJvmArgs = [ '--add-opens', 'java.base/java.lang=ALL-UNNAMED', '--add-opens', 'java.desktop/sun.awt=ALL-UNNAMED', "-Djava.library.path=${buildDir}/natives", '-Xmx3g', ] } ext { jmeVersion = '3.9.0-stable' } dependencies { implementation project(':blight-common') implementation project(':blight-assets') implementation project(':blight-map') implementation project(':blight-vegetation-generator') // Spiel-Klassen + deren Abhängigkeiten (jme3-jbullet, gson) auf dem Runtime- // Classpath, damit der Editor BlightApp als Subprocess starten kann. implementation project(':blight-game') 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-plugins:${jmeVersion}" implementation "org.jmonkeyengine:jme3-testdata:${jmeVersion}" implementation 'com.google.code.gson:gson:2.11.0' implementation 'org.slf4j:slf4j-api:2.0.17' implementation 'org.slf4j:jul-to-slf4j:2.0.17' runtimeOnly 'ch.qos.logback:logback-classic:1.5.18' compileOnly 'org.projectlombok:lombok:1.18.38' annotationProcessor 'org.projectlombok:lombok:1.18.38' } 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 } sourceSets { main { resources { srcDirs = ['src/main/resources'] } } } run { dependsOn extractNatives workingDir = rootDir // gemeinsames Arbeitsverzeichnis = Projekt-Root } jar { manifest { attributes 'Main-Class': application.mainClass.get() } }