outputs.dir("$helpOutputDir")
}
-def eclipseWorkspace
-task jalviewjsSetEclipseWorkspace {
- def eclipseWsDir = jalviewjs_eclipse_workspace
- eclipseWorkspace = file(eclipseWsDir)
- if (!eclipseWorkspace.exists()) {
- eclipseWorkspace = file("${buildDir}/../tmp/eclipse-workspace")
- //eclipseWorkspace.deleteOnExit()
- }
- println("ECLIPSE WORKSPACE: "+eclipseWorkspace.getPath())
-}
-
def jalviewjsBuildDir
def jalviewjsSiteDir
def jalviewjsTransferSiteDir
jalviewjsTransferSiteDir = jalviewjsBuildDir + "/tmp/site"
}
+def eclipseWorkspace
+task jalviewjsSetEclipseWorkspace {
+ def propKey = "jalviewjs_eclipse_workspace"
+ def propsFile = "${jalviewjsBuildDir}/${jalviewjs_eclipse_workspace_location_file}"
+ def props = new Properties()
+ def eclipseWsDir
+ def propVal = null
+ if (project.hasProperty(propKey)) {
+ propVal = project.getProperty(propKey)
+ eclipseWsDir = propVal
+ }
+ if ((eclipseWsDir == null || !file(eclipseWsDir).exists()) && file(propsFile).exists()) {
+ def ins = new FileInputStream(propsFile)
+ props.load(ins)
+ ins.close()
+ eclipseWsDir = props.getProperty(propKey)
+ }
+ if (eclipseWsDir == null || !file(eclipseWsDir).exists()) {
+ def tempDir = File.createTempDir()
+ eclipseWsDir = tempDir.getAbsolutePath()
+ props.setProperty(propKey, eclipseWsDir)
+ def outs = new FileOutputStream(propsFile)
+ props.store(outs, null)
+ outs.close()
+ }
+
+ eclipseWorkspace = file(eclipseWsDir)
+
+ println("ECLIPSE WORKSPACE: "+eclipseWorkspace.getPath())
+
+ inputs.property(propKey, propVal)
+ outputs.file(propsFile)
+}
task jalviewjsUnzipFiles {
def eclipseDropinsDir
def eclipseBinary
+def eclipseVersion
+def fromDropinsDir
task jalviewjsEclipsePaths {
def eclipseRoot
+ def eclipseProduct
eclipseRoot = jalviewjs_eclipse_root
if (eclipseRoot.startsWith("~")) {
eclipseRoot = System.getProperty("user.home") + eclipseRoot.substring(1)
eclipseRoot += "/Eclipse.app"
eclipseDropinsDir = eclipseRoot+"/Contents/Eclipse/dropins"
eclipseBinary = eclipseRoot+"/Contents/MacOS/eclipse"
+ eclipseProduct = eclipseRoot+"/Contents/Eclipse/.eclipseproduct"
} else if (OperatingSystem.current().isWindows()) { // check these paths!!
eclipseDropinsDir = eclipseRoot+"/dropins"
eclipseBinary = eclipseRoot+"/eclipse"
+ eclipseProduct = eclipseRoot+"/.eclipseproduct"
} else { // linux or unix
eclipseDropinsDir = eclipseRoot+"/dropins"
eclipseBinary = eclipseRoot+"/eclipse"
+ eclipseProduct = eclipseRoot+"/.eclipseproduct"
}
+
+ def fis = new FileInputStream(eclipseProduct)
+ def props = new Properties()
+ props.load(fis)
+ eclipseVersion = props.getProperty("version")
+ fis.close()
+ println("ECLIPSE_VERSION=${eclipseVersion}")
+ String[] v = eclipseVersion.split("\\.")
+ def v0 = Integer.valueOf(v[0])
+ def v1 = Integer.valueOf(v[1])
+ if (v0 < 4 || ( v0 == 4 && v1 < 13 )) {
+ fromDropinsDir = "eclipse/dropins_4.12"
+ } else {
+ fromDropinsDir = "eclipse/dropins_4.13"
+ }
}
task jalviewjsEclipseCopyDropins {
dependsOn jalviewjsEclipsePaths
- def inputFiles = fileTree(dir: jalviewjs_utils_dir+"/"+jalviewjs_eclipse_dropins_dir, include: "*.jar")
+ def inputFiles = fileTree(dir: jalviewjs_utils_dir+"/"+fromDropinsDir, include: "*.jar")
def outputDir = eclipseDropinsDir
inputs.files inputFiles