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 '3.0.1' } group 'xyz.ineanto' version '1.0-SNAPSHOT' repositories { mavenCentral() maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } maven { name = "GitHubPackages" url = "https://maven.pkg.github.com/ineanto/qodos" credentials { username = System.getenv("GITHUB_ACTOR") password = System.getenv("GITHUB_TOKEN") } } } ext { junitVersion = '5.10.2' } sourceCompatibility = '22' targetCompatibility = '22' tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' } application { mainModule = 'qodos' mainClass = 'xyz.ineanto.qodos.QodosApplication' } javafx { version = '22.0.2' modules = ['javafx.controls', 'javafx.fxml'] } dependencies { // QR Code implementation("io.github.simonscholz:qr-code-with-logo:0.4.0-SNAPSHOT") // Commons implementation("commons-io:commons-io:2.16.1") } test { useJUnitPlatform() } jlink { targetPlatform("win") { jdkHome = jdkDownload("https://download.java.net/java/GA/jdk22.0.2/c9ecb94cd31b495da20a27d4581645e8/9/GPL/openjdk-22.0.2_windows-x64_bin.zip") addExtraModulePath("./win_jmods") } imageZip = project.file("${rootProject.layout.buildDirectory.asFile.get().absolutePath}/distributions/qodos-${javafx.platform.classifier}.zip") options = [ '--strip-debug', '--compress', 'zip-6', '--no-header-files', '--no-man-pages', ] launcher { name = 'qodos' noConsole = true } } jlinkZip { group = 'distribution' }