plugins { id 'java' id 'application' id 'org.javamodularity.moduleplugin' version '1.8.12' id 'org.openjfx.javafxplugin' version '0.0.13' id 'org.beryx.jlink' version '2.25.0' } group 'com.volmit' version '1.0' repositories { mavenCentral() } ext { junitVersion = '5.10.0' } sourceCompatibility = '17' targetCompatibility = '17' tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } application { mainModule = 'com.volmit.gui' mainClass = 'com.volmit.gui.HelloApplication' } javafx { version = '17.0.6' modules = ['javafx.controls', 'javafx.fxml', 'javafx.web', 'javafx.swing' , 'javafx.media'] } dependencies { implementation('org.controlsfx:controlsfx:11.1.2') implementation('com.dlsc.formsfx:formsfx-core:11.6.0') { exclude(group: 'org.openjfx') } implementation('net.synedra:validatorfx:0.4.0') { exclude(group: 'org.openjfx') } implementation('org.kordamp.ikonli:ikonli-javafx:12.3.1') implementation('org.kordamp.bootstrapfx:bootstrapfx-core:0.4.0') implementation('eu.hansolo:tilesfx:11.48') { exclude(group: 'org.openjfx') } implementation('com.github.almasb:fxgl:17.3') { exclude(group: 'org.openjfx') } testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}") } test { useJUnitPlatform()} jlink { imageZip = project.file("${buildDir}/distributions/app-${javafx.platform.classifier}.zip") options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages'] launcher { name = 'app' } } jlinkZip { group = 'distribution' }