JAL-3210 Improved/fixed the tempdir creation/storage for eclipse workspace
authorBen Soares <b.soares@dundee.ac.uk>
Mon, 21 Oct 2019 23:23:46 +0000 (00:23 +0100)
committerBen Soares <b.soares@dundee.ac.uk>
Mon, 21 Oct 2019 23:23:46 +0000 (00:23 +0100)
build.gradle
gradle.properties

index c42b7bd..5d0674b 100644 (file)
@@ -1279,7 +1279,7 @@ task jalviewjsSitePath {
 def eclipseWorkspace
 task jalviewjsSetEclipseWorkspace {
   def propKey = "jalviewjs_eclipse_workspace"
-  def propsFile = "${jalviewjsBuildDir}/${jalviewjs_eclipse_workspace_location_file}"
+  def propsFileName = "${jalviewjsBuildDir}/${jalviewjs_eclipse_workspace_location_file}"
   def props = new Properties()
   def eclipseWsDir
   def propVal = null
@@ -1287,17 +1287,23 @@ task jalviewjsSetEclipseWorkspace {
     propVal = project.getProperty(propKey)
     eclipseWsDir = propVal
   }
-  if ((eclipseWsDir == null || !file(eclipseWsDir).exists()) && file(propsFile).exists()) {
-    def ins = new FileInputStream(propsFile)
+  if (( eclipseWsDir == null || !file(eclipseWsDir).exists() ) && file(propsFileName).exists()) {
+    def ins = new FileInputStream(propsFileName)
     props.load(ins)
     ins.close()
-    eclipseWsDir = props.getProperty(propKey)
+    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 outs = new FileOutputStream(propsFile)
+    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()
   }
@@ -1307,7 +1313,7 @@ task jalviewjsSetEclipseWorkspace {
   println("ECLIPSE WORKSPACE: "+eclipseWorkspace.getPath())
 
   inputs.property(propKey, propVal)
-  outputs.file(propsFile)
+  outputs.file(propsFileName)
 }
 
 
@@ -1490,23 +1496,33 @@ task jalviewjsTranspile(type: Exec) {
     stdout = new ByteArrayOutputStream()
     stderr = new ByteArrayOutputStream()
 
+    def logOutFileName = "${jalviewjsBuildDir}/${jalviewjs_j2s_stdout}"
+    def logOutFile = file(logOutFileName)
+    logOutFile.createNewFile()
+    def logOutFOS = new FileOutputStream(logOutFile, false)
+    //def logErrFileName = "${jalviewjsBuildDir}/${jalviewjs_j2s_stderr}"
+    //def logErrFile = file(logFileName)
+    //logErrFile.createNewFile()
+    //def logErrFOS = new FileErrputStream(logErrFile, false)
+    // combine stdout and stderr
+    def logErrFOS = logOutFOS
     if (jalviewjs_j2s_to_console.equals("true")) {
       standardOutput = new org.apache.tools.ant.util.TeeOutputStream(
         new org.apache.tools.ant.util.TeeOutputStream(
-          new FileOutputStream("${jalviewjsBuildDir}/${jalviewjs_j2s_stdout}"),
+          logOutFOS,
           stdout),
         standardOutput)
       errorOutput = new org.apache.tools.ant.util.TeeOutputStream(
         new org.apache.tools.ant.util.TeeOutputStream(
-          new FileOutputStream("${jalviewjsBuildDir}/${jalviewjs_j2s_stderr}"),
+          logErrFOS,
           stderr),
         errorOutput)
     } else {
       standardOutput = new org.apache.tools.ant.util.TeeOutputStream(
-        new FileOutputStream("${jalviewjsBuildDir}/${jalviewjs_j2s_stdout}"),
+        logOutFOS,
         stdout)
       errorOutput = new org.apache.tools.ant.util.TeeOutputStream(
-        new FileOutputStream("${jalviewjsBuildDir}/${jalviewjs_j2s_stderr}"),
+        logErrFOS,
         stderr)
     }
   }
index dc46f86..85ee158 100644 (file)
@@ -142,7 +142,7 @@ eclipse_extra_jdt_prefs_file = .settings/org.eclipse.jdt.core.jalview.prefs
 eclipse_project_name = jalview
 eclipse_bin_dir = bin
 
-jalviewjs_eclipse_root = ~/buildtools/eclipse/eclipse-jee-2019-06/eclipse
+jalviewjs_eclipse_root = ~/buildtools/eclipse/eclipse-jee-2019-09/eclipse
 
 jalviewjs_utils_dir = utils/jalviewjs
 jalviewjs_eclipse_dropins_dir = eclipse/dropins