fix: use shadowJar gradle plugin

This allows to use icons in a fat jar
This commit is contained in:
Arnaud Vergnet 2020-12-01 10:30:53 +01:00
parent ae1f609ee3
commit 5166a9d42f

View file

@ -1,6 +1,7 @@
plugins { plugins {
id 'application' id 'application'
id 'org.openjfx.javafxplugin' version '0.0.9' id 'org.openjfx.javafxplugin' version '0.0.9'
id 'com.github.johnrengelman.shadow' version '6.1.0'
} }
group 'fr.insa.clavardator' group 'fr.insa.clavardator'
@ -20,6 +21,8 @@ dependencies {
runtimeOnly "org.openjfx:javafx-graphics:$javafx.version:linux" runtimeOnly "org.openjfx:javafx-graphics:$javafx.version:linux"
runtimeOnly "org.openjfx:javafx-graphics:$javafx.version:mac" runtimeOnly "org.openjfx:javafx-graphics:$javafx.version:mac"
implementation 'org.xerial:sqlite-jdbc:3.32.3' implementation 'org.xerial:sqlite-jdbc:3.32.3'
implementation 'org.kordamp.ikonli:ikonli-javafx:12.0.0'
implementation 'org.kordamp.ikonli:ikonli-fontawesome5-pack:12.0.0'
testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0") testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0")
compile 'com.jfoenix:jfoenix:9.0.10' compile 'com.jfoenix:jfoenix:9.0.10'
@ -30,6 +33,8 @@ test {
useJUnitPlatform() useJUnitPlatform()
} }
mainClassName = 'fr.insa.clavardator.Launcher'
jar { jar {
manifest { manifest {
attributes 'Main-Class': 'fr.insa.clavardator.Launcher' attributes 'Main-Class': 'fr.insa.clavardator.Launcher'
@ -39,6 +44,10 @@ jar {
} }
} }
shadowJar {
mergeServiceFiles()
}
run { run {
jvmArgs = [ jvmArgs = [
"--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED", "--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED",
@ -48,5 +57,3 @@ run {
"--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED" "--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED"
] ]
} }
mainClassName = 'fr.insa.clavardator.MainApp'