buildscript { repositories { mavenCentral() } dependencies { classpath 'com.google.gradle:osdetector-gradle-plugin:1.6.0' classpath "net.sf.proguard:proguard-gradle:6.1.0beta1" } } apply plugin: 'application' apply plugin: 'com.google.osdetector' ext.platform = osdetector.os == 'osx' ? 'mac' : osdetector.os == 'windows' ? 'win' : osdetector.os repositories { mavenCentral() } ext.fxVersion = '12-ea+2' // https://stackoverflow.com/questions/53215814/javafx11-java-lang-classnotfoundexception-com-sun-media-jfxmedia-events-players dependencies { compile fileTree(dir: 'lib', include: ['*.jar']) compile "org.openjfx:javafx-base:$fxVersion:$platform" compile "org.openjfx:javafx-graphics:$fxVersion:$platform" compile "org.openjfx:javafx-controls:$fxVersion:$platform" compile "org.openjfx:javafx-web:$fxVersion:$platform" compile "org.openjfx:javafx-swing:$fxVersion:$platform" compile "org.codehaus.groovy:groovy:3.0.0-alpha-3" compile "org.codehaus.groovy:groovy-sql:3.0.0-alpha-3" compile "org.codehaus.groovy:groovy-templates:3.0.0-alpha-3" compile "com.itextpdf:itextpdf:5.5.13" compile "com.github.jsqlparser:jsqlparser:1.3" compile "com.jcraft:jsch:0.1.54" compile "org.eclipse.jetty:jetty-server:9.4.12.v20180830" compile "org.eclipse.jetty:jetty-servlet:9.4.12.v20180830" compile "org.jsoup:jsoup:1.11.3" compile "org.controlsfx:controlsfx:9.0.0" compile "org.apache.poi:poi:4.0.0" compile "org.apache.poi:poi-ooxml:4.0.0" testCompile 'junit:junit:4.12' } compileJava { doFirst { println classpath.asPath copy { from fileTree('src/dist') into "out/production/classes" } options.compilerArgs = [ '--module-path', classpath.asPath, '--add-modules', 'javafx.controls', '--add-modules', 'javafx.graphics', '--add-modules', 'javafx.web', '--add-modules', 'javafx.swing' ] } } run { doFirst { jvmArgs = [ '--module-path', classpath.asPath, '--add-modules', 'javafx.controls' ] } } mainClassName = 'DbSchema' apply plugin: 'distribution' distributions { main { baseName = project.name contents { into('lib/') { // Copy the following jars to the lib/ directory in the distribution archive from jar from configurations.runtimeClasspath dirMode = 0755 fileMode = 0644 } from('src/main/dist') { // Contents of this directory are copied by default dirMode = 0755 fileMode = 0644 } } } } jar { archiveName ="dbs.jar" manifest { attributes 'Main-Class': 'com.wisecoders.dbs.FxDbs' } } logging.captureStandardOutput LogLevel.INFO task proguard(type: proguard.gradle.ProGuardTask) { configuration 'tools/installers/proguard.txt' libraryjars files(configurations.compile.collect()) libraryjars "${System.getProperty('java.home')}/jmods/" injars 'build/libs/dbs.jar' outjars 'build/libs/dbschema.jar' verbose }