From: Ben Soares Date: Mon, 31 Aug 2020 17:38:15 +0000 (+0100) Subject: JAL-3280 Pass appbase and appdir from getdown to jalvew. Check appbase (defaults... X-Git-Tag: Release_2_11_1_1~10^2~2 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=35c1fb0488dd0b19b880c3835613f3272e6c0fc3;p=jalview.git JAL-3280 Pass appbase and appdir from getdown to jalvew. Check appbase (defaults to release appbase) for build_properties VERSION insteadl of jnlp file. --- diff --git a/build.gradle b/build.gradle index 682b5c2..66b5550 100644 --- a/build.gradle +++ b/build.gradle @@ -1365,6 +1365,8 @@ task getdownWebsite() { //getdownTextString += "class = " + file(getdownLauncher).getName() + "\n" getdownTextString += "resource = ${getdown_launcher_new}\n" getdownTextString += "class = ${main_class}\n" + getdownTextString += "jvmarg = -Dgetdowndistdir=${getdownAppDistDir}\n" + getdownTextString += "jvmarg = -Dgetdownappbase=${getdownAppBase}\n" def getdown_txt = file("${getdownWebsiteDir}/getdown.txt") getdown_txt.write(getdownTextString) @@ -1391,7 +1393,7 @@ task getdownWebsite() { copy { from getdown_txt from getdownLauncher - from "${getdownWebsiteDir}/${getdown_build_properties}" + from "${getdownAppDir}/${getdown_build_properties}" if (file(getdownLauncher).getName() != getdown_launcher) { rename(file(getdownLauncher).getName(), getdown_launcher) } diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index ba28717..162ed3c 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -316,7 +316,8 @@ public class Cache // lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level", // Level.INFO.toString()))); // we shouldn't need to do this - org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.INFO); + org.apache.log4j.Logger.getRootLogger() + .setLevel(org.apache.log4j.Level.INFO); jalview.bin.Cache.log.setLevel(Level.toLevel(Cache .getDefault("logs.Jalview.level", Level.INFO.toString()))); @@ -455,9 +456,12 @@ public class Cache class VersionChecker extends Thread { + @Override public void run() { + String buildPropertiesUrl = Cache.getAppbaseBuildProperties(); + String orgtimeout = System .getProperty("sun.net.client.defaultConnectTimeout"); if (orgtimeout == null) @@ -471,28 +475,20 @@ public class Cache { System.setProperty("sun.net.client.defaultConnectTimeout", "5000"); - java.net.URL url = new java.net.URL(Cache - .getDefault("www.jalview.org", "http://www.jalview.org") - + "/webstart/jalview.jnlp"); + java.net.URL url = new java.net.URL(buildPropertiesUrl); + BufferedReader in = new BufferedReader( new InputStreamReader(url.openStream())); - String line = null; - while ((line = in.readLine()) != null) - { - if (line.indexOf("jalview.version") == -1) - { - continue; - } - - line = line.substring(line.indexOf("value=") + 7); - line = line.substring(0, line.lastIndexOf("\"")); - remoteVersion = line; - break; - } + + Properties remoteBuildProperties = new Properties(); + remoteBuildProperties.load(in); + remoteVersion = remoteBuildProperties.getProperty("VERSION"); + remoteBuildProperties.load(in); } catch (Exception ex) { - System.out.println( - "Non-fatal exception when checking version at www.jalview.org :"); + System.out + .println("Non-fatal exception when checking version at " + + buildPropertiesUrl + ":"); System.out.println(ex); remoteVersion = getProperty("VERSION"); } @@ -500,6 +496,7 @@ public class Cache orgtimeout); setProperty("LATEST_VERSION", remoteVersion); + System.out.println("LATEST_VERSION=" + remoteVersion); } } @@ -1147,6 +1144,8 @@ public class Cache { appendIfNotNull(sb, "Getdown appdir: ", System.getProperty("getdownappdir"), "\n", null); + appendIfNotNull(sb, "Getdown appbase: ", + System.getProperty("getdownappbase"), "\n", null); appendIfNotNull(sb, "Java home: ", System.getProperty("java.home"), "\n", "unknown"); } @@ -1171,4 +1170,61 @@ public class Cache t.printStackTrace(pw); return sw.toString(); } + + /** + * Getdown appbase methods + */ + + private static final String releaseAppbase; + + private static String getdownAppbase; + + private static String getdownDistDir; + + static + { + Float specversion = Float + .parseFloat(System.getProperty("java.specification.version")); + releaseAppbase = (specversion < 9) + ? "https://www.jalview.org/getdown/release/1.8" + : "https://www.jalview.org/getdown/release/11"; + } + + // look for properties (passed in by getdown) otherwise default to release + private static void setGetdownAppbase() + { + if (getdownAppbase != null) + { + return; + } + String appbase = System.getProperty("getdownappbase"); + String distDir = System.getProperty("getdowndistdir"); + if (appbase == null) + { + appbase = releaseAppbase; + distDir = "release"; + } + if (appbase.endsWith("/")) + { + appbase = appbase.substring(0, appbase.length() - 1); + } + if (distDir == null) + { + distDir = appbase.equals(releaseAppbase) ? "release" : "alt"; + } + getdownAppbase = appbase; + getdownDistDir = distDir; + } + + private static String getGetdownAppbase() + { + setGetdownAppbase(); + return getdownAppbase; + } + + private static String getAppbaseBuildProperties() + { + String appbase = getGetdownAppbase(); + return appbase + "/" + getdownDistDir + "/build_properties"; + } }