plugins { id 'application' id 'org.openjfx.javafxplugin' version '0.0.8' id 'com.palantir.git-version' version '0.12.3' } 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.1' 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.62.0' implementation 'com.vladsch.flexmark:flexmark-ext-tables:0.62.0' implementation 'com.vladsch.flexmark:flexmark-ext-superscript:0.62.0' implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.62.0' 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:3.5-beta76" 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}" } } testImplementation('org.junit.jupiter:junit-jupiter-api:5.4.2') testRuntime('org.junit.jupiter:junit-jupiter-engine:5.4.2') } javafx { version = "14" modules = ['javafx.controls', 'javafx.graphics', 'javafx.web'] } compileJava { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } sourceCompatibility = JavaVersion.VERSION_11 applicationName = 'scrivenvar' version gitVersion() mainClassName = "com.${applicationName}.Main" def launcherClassName = "com.${applicationName}.Launcher" def propertiesFile = new File("src/main/resources/com/$applicationName/app.properties") propertiesFile.write("application.version=${version}") jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { attributes 'Main-Class': launcherClassName } from { (configurations.runtimeClasspath.findAll { !it.path.endsWith(".pom") }).collect { it.isDirectory() ? it : zipTree(it) } } archiveFileName = "${applicationName}.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' } } } } } test { useJUnitPlatform() }