Skip to content
Snippets Groups Projects
build.gradle 1.5 KiB
Newer Older
  • Learn to ignore specific revisions
  • guyslain.naves's avatar
    guyslain.naves committed
    plugins {
        id 'java'
        id 'application'
        id 'org.openjfx.javafxplugin' version '0.0.13'
        id 'org.beryx.jlink' version '2.25.0'
    }
    
    group 'fr.univamu'
    version '1.0-SNAPSHOT'
    
    repositories {
        mavenCentral()
    }
    
    ext {
        junitVersion = '5.8.2'
    }
    
    
    Guyslain's avatar
    Guyslain committed
    sourceCompatibility = '20'
    targetCompatibility = '20'
    
    guyslain.naves's avatar
    guyslain.naves committed
    
    tasks.withType(JavaCompile) {
        options.encoding = 'UTF-8'
    }
    
    application {
        mainModule = 'fr.univamu.sortvisualization'
        mainClass = 'fr.univamu.sortvisualization.Application'
    }
    
    task runInConsole(type: JavaExec) {
        group = "application"
        classpath = sourceSets.main.runtimeClasspath
        mainClass = 'fr.univamu.sorting.App'
    }
    
    javafx {
    
    Guyslain's avatar
    Guyslain committed
        version = '20.0.2'
    
    guyslain.naves's avatar
    guyslain.naves committed
        modules = ['javafx.controls', 'javafx.fxml']
    }
    
    dependencies {
        testImplementation 'org.assertj:assertj-core:3.23.1'
        testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
        testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
        testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
        testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
        testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
        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'
    }