From 71d6fa0a8d0d1bbe3e48eea016e88d3116affadb Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Tue, 22 Oct 2019 00:23:46 +0100 Subject: [PATCH] JAL-3210 Improved/fixed the tempdir creation/storage for eclipse workspace --- build.gradle | 36 ++++++++++++++++++++++++++---------- gradle.properties | 2 +- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/build.gradle b/build.gradle index c42b7bd..5d0674b 100644 --- a/build.gradle +++ b/build.gradle @@ -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) } } diff --git a/gradle.properties b/gradle.properties index dc46f86..85ee158 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 -- 1.7.10.2