diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2014-11-03 13:44:59 -0330 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2014-11-03 13:44:59 -0330 |
commit | 36f1642a98952f44a1b1cc11f45eecd45d8d4b59 (patch) | |
tree | a8a4cf6f169fe463842f152946ae30f8b8054652 /java/src | |
parent | Merge branch 'master' of ssh://git/home/git/ice (diff) | |
download | ice-36f1642a98952f44a1b1cc11f45eecd45d8d4b59.tar.bz2 ice-36f1642a98952f44a1b1cc11f45eecd45d8d4b59.tar.xz ice-36f1642a98952f44a1b1cc11f45eecd45d8d4b59.zip |
Some changes to javafx IceGridGUI build
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/IceGridGUI/build.gradle | 32 | ||||
-rw-r--r-- | java/src/IceGridGUI/javafx.gradle | 79 |
2 files changed, 92 insertions, 19 deletions
diff --git a/java/src/IceGridGUI/build.gradle b/java/src/IceGridGUI/build.gradle index 28c65e562b4..bf7901e2f94 100644 --- a/java/src/IceGridGUI/build.gradle +++ b/java/src/IceGridGUI/build.gradle @@ -12,23 +12,17 @@ targetCompatibility = iceTargetCompatibility def macosx = System.properties['os.name'] == "Mac OS X" -def hasJavaFx = false -def javaHome = System.getProperty('java.home') -def javafxJar = new File(javaHome + "/lib/jfxrt.jar") -if (javafxJar.exists()) { - hasJavaFx = true -} else { - javafxJar = new File(javaHome + "/lib/ext/jfxrt.jar") - if (javafxJar.exists()) { - hasJavaFx = true - } -} +// Check for JavaFX support +def javafxJar = searchFile(['JFXRT_HOME in System Environment': {System.env['JFXRT_HOME']}, + 'JAVA_HOME in System Environment': {System.env['JAVA_HOME']}, + 'java.home in JVM properties': {System.properties['java.home']}], + ['jfxrt.jar', 'lib/jfxrt.jar', 'lib/ext/jfxrt.jar', 'jre/lib/jfxrt.jar', + 'jre/lib/ext/jfxrt.jar']) +def hasJavaFx = javafxJar != "" if (hasJavaFx) { apply plugin: 'application' - apply from: "../../gradle/javafx7.gradle" - - mainClassName = "IceGridGUI.Main" + apply from: 'javafx.gradle' } else { sourceSets { main { @@ -78,13 +72,13 @@ buildscript { def libJars = [] ['rt.jar', 'jsse.jar'].each { - libJars << "${javaHome}/lib/${it}" + libJars << searchFile(['JAVA_HOME in System Environment': {System.env['JAVA_HOME']}, + 'java.home in JVM properties': {System.properties['java.home']}], + ["${it}", "lib/${it}", "jre/lib/${it}"]) } if (hasJavaFx) { - ['jfxrt.jar', 'ext/jfxrt.jar'].each { - libJars << "${javaHome}/lib/${it}" - } + libJars << javafxJar } task proguardJar(type: proguard.gradle.ProGuardTask, dependsOn: jar) { @@ -111,7 +105,7 @@ if(macosx) icon: "${projectDir}/src/main/resources/icons/icegrid.icns", shortversion: "${iceVersion}", applicationCategory: "public.app-category.utilities", - mainclassname: "com/javafx/main/Main", + mainclassname: "IceGridGUI/MainProxy", copyright: "Copyright © 2005-2014 ZeroC, Inc. All rights reserved.") { classpath(file: "${libDir}/${jarName}") { } diff --git a/java/src/IceGridGUI/javafx.gradle b/java/src/IceGridGUI/javafx.gradle new file mode 100644 index 00000000000..13692fd6d85 --- /dev/null +++ b/java/src/IceGridGUI/javafx.gradle @@ -0,0 +1,79 @@ +import groovy.xml.NamespaceBuilder + +assert project.plugins.findPlugin(JavaPlugin): + "The Java plugin must be applied before using javafx7.gradle." + +assert project.plugins.findPlugin(ApplicationPlugin): + "The Application plugin must be applied before using javafx7.gradle." + +def javafxJar = searchFile([ + 'JFXRT_HOME in System Environment': {System.env['JFXRT_HOME']}, + 'JAVA_HOME in System Environment': {System.env['JAVA_HOME']}, + 'java.home in JVM properties': {System.properties['java.home']}], + ['jfxrt.jar', 'lib/jfxrt.jar', 'lib/ext/jfxrt.jar', 'jre/lib/jfxrt.jar', 'jre/lib/ext/jfxrt.jar']) + +def antJavafxJar = searchFile([ + 'JFXRT_HOME in System Environment': {System.env['JFXRT_HOME']}, + 'JAVA_HOME in System Environment': {System.env['JAVA_HOME']}, + 'java.home in JVM properties': {System.properties['java.home']}], + ['ant-javafx.jar', 'lib/ant-javafx.jar', '../lib/ant-javafx.jar']) + +configurations { + jfxrt + jfxant + + sourceSets { + main { + compileClasspath += configurations.jfxrt + } + } +} + +dependencies { + jfxrt files(javafxJar) + jfxant files(antJavafxJar) +} + +run.classpath.add(configurations.jfxrt) + +jar { + actions = [] + + def antfx = NamespaceBuilder.newInstance( + ant, + 'javafx:com.sun.javafx.tools.ant') + + + ant.taskdef( + resource: 'com/sun/javafx/tools/ant/antlib.xml', + uri: 'javafx:com.sun.javafx.tools.ant', + classpath: configurations.jfxant.asPath) + + doLast { + antfx.application( + id: 'IceGridGUI', + name: 'IceGrid Admin', + mainClass: 'IceGridGUI.Main', + fallbackClass: 'IceGridGUI.Fallback', + toolkit: 'swing') + + antfx.resources(id: 'IceGridGUI.resources') { + } + + antfx.jar(destfile: archivePath) { + application(refid: 'IceGridGUI') + resources(refid: 'IceGridGUI.resources') + + fileset(dir: sourceSets.main.output.classesDir) + fileset(dir: sourceSets.main.output.resourcesDir) + } + } +} + +startScripts { + enabled = false +} + +installApp { + enabled = false +} |