plugins { java application id("org.javamodularity.moduleplugin") version "1.8.15" id("org.openjfx.javafxplugin") version "0.0.13" id("org.beryx.jlink") version "2.25.0" } group = "dev.mecdu" version = "1.0-SNAPSHOT" repositories { mavenCentral() } val junitVersion = "5.12.1" java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } tasks.withType { options.encoding = "UTF-8" } application { mainModule.set("dev.mecdu.javafx") mainClass.set("dev.mecdu.javafx.HomeApplication") } javafx { version = "17.0.14" modules = listOf("javafx.controls", "javafx.fxml") } dependencies { implementation("org.controlsfx:controlsfx:11.2.1") implementation("org.kordamp.bootstrapfx:bootstrapfx-core:0.4.0") testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}") implementation("com.squareup.okhttp3:okhttp:+") compileOnly("org.projectlombok:lombok:+") annotationProcessor("org.projectlombok:lombok:1.+") implementation("com.google.code.gson:gson:+") } tasks.withType { useJUnitPlatform() } jlink { imageZip.set(layout.buildDirectory.file("/distributions/app-${javafx.platform.classifier}.zip")) options.set(listOf("--strip-debug", "--compress", "2", "--no-header-files", "--no-man-pages")) launcher { name = "app" } }