+def eclipseWorkspace
+task jalviewjsSetEclipseWorkspace {
+ def propKey = "jalviewjs_eclipse_workspace"
+ def propsFileName = "${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(propsFileName).exists()) {
+ def ins = new FileInputStream("${jalviewDirAbsolutePath}/${propsFileName}")
+ props.load(ins)
+ ins.close()
+ if (props.getProperty(propKey, null) != null) {
+ eclipseWsDir = props.getProperty(propKey)
+ }
+ }
+
+ if (eclipseWsDir == null || !file(eclipseWsDir).exists()) {
+ def tempDir = File.createTempDir()
+ eclipseWsDir = tempDir.getAbsolutePath()
+ props.setProperty(propKey, eclipseWsDir)
+ def propsFile = file(propsFileName)
+ propsFile.parentFile.mkdirs()
+ propsFile.createNewFile() // doesn't affect existing file
+ def outs = new FileOutputStream(propsFile, false)
+ props.store(outs, null)
+ outs.close()
+ }
+
+ eclipseWorkspace = file(eclipseWsDir)
+
+ println("ECLIPSE WORKSPACE: "+eclipseWorkspace.getPath())
+
+ inputs.property(propKey, propVal)
+ outputs.file(propsFileName)
+}