plugins { id 'application' id 'org.openjfx.javafxplugin' version '0.0.8' } repositories { mavenCentral() jcenter() maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } maven { url "https://nexus.bedatadriven.com/content/groups/public" } } dependencies { implementation 'org.controlsfx:controlsfx:11.0.0' implementation 'org.fxmisc.richtext:richtextfx:0.10.5' implementation 'org.fxmisc.wellbehaved:wellbehavedfx:0.3.3' implementation 'com.miglayout:miglayout-javafx:5.2' implementation 'com.vladsch.flexmark:flexmark:0.61.28' implementation 'com.vladsch.flexmark:flexmark-ext-tables:0.61.28' implementation 'com.vladsch.flexmark:flexmark-ext-superscript:0.61.28' implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.28' implementation 'com.fasterxml.jackson.core:jackson-core:2.11.0' implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.0' implementation 'com.fasterxml.jackson.core:jackson-annotations:2.11.0' implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.0' implementation 'org.ahocorasick:ahocorasick:0.4.0' implementation 'org.yaml:snakeyaml:1.26' implementation 'com.ximpleware:vtd-xml:2.13.4' implementation 'net.sf.saxon:Saxon-HE:10.1' implementation 'org.apache.commons:commons-configuration2:2.7' implementation 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3' implementation 'de.jensd:fontawesomefx-commons:11.0' implementation 'de.jensd:fontawesomefx-fontawesome:4.7.0-11' implementation "org.renjin:renjin-script-engine:0.9.2726" def os = ['win', 'linux', 'mac'] def fx = ['controls', 'graphics', 'web', 'fxml'] fx.each { fxitem -> os.each { ositem -> runtimeOnly "org.openjfx:javafx-${fxitem}:${javafx.version}:${ositem}" } } } javafx { version = "14" modules = ['javafx.controls', 'javafx.graphics', 'javafx.web'] } compileJava { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } sourceCompatibility = JavaVersion.VERSION_11 version = '1.4.0' applicationName = 'scrivenvar' mainClassName = 'com.scrivenvar.Main' def launcherClassName = 'com.scrivenvar.Launcher' jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { attributes 'Main-Class': launcherClassName } from { (configurations.runtimeClasspath.findAll { !it.path.endsWith(".pom") }).collect { it.isDirectory() ? it : zipTree(it) } } archiveFileName = 'scrivenvar.jar' exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA' } distributions { main { distributionBaseName = applicationName contents { from { ['LICENSE.md', 'README.md'] } into('images') { from { 'images' } } } } }