group 'ninja.javafx' version '0.9-SNAPSHOT' buildscript { repositories { mavenCentral() } dependencies { classpath 'no.tornado:fxlauncher-gradle-plugin:1.0.12' } } apply plugin: 'java' apply plugin: 'groovy' apply plugin: 'application' apply plugin: 'idea' apply plugin: 'no.tornado.fxlauncher' sourceCompatibility = 1.8 mainClassName = 'ninja.javafx.smartcsv.fx.SmartCSV' def fxlauncherPathName = getBuildDir().absolutePath + File.separatorChar + 'fxlauncher' + File.separatorChar fxlauncher { applicationVendor 'Andreas Billmann (andreas.billmann@javafx.ninja)' applicationUrl 'http://javafx.ninja/SmartCSV.fx/' applicationMainClass mainClassName acceptDowngrade false cacheDir 'USERLIB/SmartCSV.fx' } repositories { mavenCentral() jcenter() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3' compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.7' compile group: 'org.springframework', name:'spring-context', version: '4.3.1.RELEASE' compile group: 'net.sf.supercsv', name: 'super-csv', version: '2.4.0' compile group: 'commons-validator', name: 'commons-validator', version: '1.5.1' compile group: 'de.jensd', name: 'fontawesomefx-commons', version: '8.12' compile group: 'de.jensd', name: 'fontawesomefx-fontawesome', version: '4.6.3' compile group: 'de.jensd', name: 'fontawesomefx-materialdesignfont', version: '1.6.50' compile group: 'de.jensd', name: 'fontawesomefx-materialicons', version: '2.2.0' compile group: 'org.controlsfx', name: 'controlsfx', version: '8.40.11' compile group: 'com.google.code.gson', name: 'gson', version: '2.7' compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.6.2' compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.6.2' compile group: 'org.fxmisc.richtext', name: 'richtextfx', version: '0.6.10' } task wrapper(type: Wrapper) { gradleVersion = '3.1' //version required } task buildSmartCSV(dependsOn: ['clean','embedApplicationManifest']) << { def file = new File(fxlauncherPathName + 'fxlauncher.jar') file.renameTo(fxlauncherPathName + 'SmartCSV.fx.jar') } task modifyAppXML(dependsOn: 'generateApplicationManifest') << { String contents = new File( fxlauncherPathName + 'app.xml' ).getText( 'UTF-8' ) contents = contents.replaceAll( 'Updating...', 'Updating SmartCSV.fx ...' ) contents = contents.replaceAll( '-fx-spacing: 10; -fx-padding: 25;', '-fx-spacing: 10; -fx-padding: 25;-fx-font-size: 0.9em;' ) new File( fxlauncherPathName + 'app.xml' ).write( contents, 'UTF-8' ) } embedApplicationManifest.dependsOn modifyAppXML defaultTasks 'buildSmartCSV'