-
Notifications
You must be signed in to change notification settings - Fork 7
/
javafx.plugin
97 lines (88 loc) · 3.65 KB
/
javafx.plugin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/*
* Bootstrap script for the Gradle JavaFX Plugin.
* (based on http://plugins.jasoft.fi/vaadin.plugin)
*
* The script will add the plugin to the build script
* dependencies and apply the plugin to the project. If you do not want
* this behavior you can copy and paste the below configuration into your
* own build script and define your own repository and version for the plugin.
*/
import org.gradle.api.GradleException;
buildscript {
repositories {
mavenLocal()
maven {
name = 'BinTray'
url = 'http://dl.bintray.com/content/shemnon/javafx-gradle/'
}
maven {
name = 'CloudBees Snapshot'
url = 'http://repository-javafx-gradle-plugin.forge.cloudbees.com/snapshot'
}
ivy {
url = 'http://repository-javafx-gradle-plugin.forge.cloudbees.com/snapshot'
}
mavenCentral()
}
dependencies {
try {
assert (jfxrtDir != null)
} catch (RuntimeException re) {
ext.jfxrtDir = "."
}
ext.searchFile = {Map<String, Closure> places, List<String> searchPaths, String searchID ->
File result = null;
places.each { k, v ->
if (result != null) return;
project.logger.debug("Looking for $searchID in $k")
def dir = v()
if (dir == null) {
project.logger.debug("$k not set")
} else {
project.logger.debug("$k is $dir")
searchPaths.each { s ->
if (result != null) return;
File f = new File(dir, s);
project.logger.debug("Trying $f.path")
if (f.exists() && f.file) {
project.logger.debug("found $searchID as $result")
result = f;
}
}
}
}
if (!result?.file) {
throw new GradleException("Could not find $searchID, please set one of ${places.keySet()}");
} else {
project.logger.info("$searchID: ${result}")
return result
}
}
ext.findJFXJar = {
return searchFile([
'jfxrtDir in Gradle Properties': {jfxrtDir},
'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'],
'JavaFX Runtime Jar')
}
ext.findAntJavaFXJar = {
return searchFile([
'jfxrtDir in Gradle Properties': {jfxrtDir},
'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'],
'JavaFX Packager Tools')
}
classpath 'org.bitbucket.shemnon.javafxplugin:gradle-javafx-plugin:8.1.2-SNAPSHOT'
classpath project.files(findAntJavaFXJar())
classpath project.files(findJFXJar())
}
}
if (!project.plugins.findPlugin(org.bitbucket.shemnon.javafxplugin.JavaFXPlugin)) {
project.apply(plugin: org.bitbucket.shemnon.javafxplugin.JavaFXPlugin)
}