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/'
    }
}

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 {
    imageZip = project.file("${rootProject.layout.buildDirectory.asFile.get().absolutePath}/distributions/app-${javafx.platform.classifier}.zip")
    options = [
            '--strip-debug',
            '--compress',
            '2',
            '--no-header-files',
            '--no-man-pages',
            '--module-path',
            '/home/ineanto/IdeaProjects/qodos/win_jmods'
    ]

    launcher {
        name = 'app'
    }
}

jlinkZip {
    group = 'distribution'
}