summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2014-11-03 13:44:59 -0330
committerDwayne Boone <dwayne@zeroc.com>2014-11-03 13:44:59 -0330
commit36f1642a98952f44a1b1cc11f45eecd45d8d4b59 (patch)
treea8a4cf6f169fe463842f152946ae30f8b8054652 /java/src
parentMerge branch 'master' of ssh://git/home/git/ice (diff)
downloadice-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.gradle32
-rw-r--r--java/src/IceGridGUI/javafx.gradle79
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
+}