From 2ea1b352349a737f513131873551bfb7899d812f Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Mon, 14 Dec 2020 16:12:59 +0000 Subject: [PATCH] JAL-3594 Allow setting of getdownappbase and getdowndistdir properties for DEVELOP channel, and change DEVELOP version to be VERSION-dDATE instead of VERSION-develop. dDATE will help users know when Jalview Develop applicaiton updated --- build.gradle | 32 +++++++++++++++++++++++++------- src/jalview/bin/Cache.java | 15 ++++++++++++++- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index c796b3b..ebb8733 100644 --- a/build.gradle +++ b/build.gradle @@ -161,6 +161,9 @@ ext { } */ + // datestamp + buildDate = new Date().format("yyyyMMdd") + // essentials bareSourceDir = string(source_dir) sourceDir = string("${jalviewDir}/${bareSourceDir}") @@ -194,6 +197,7 @@ ext { getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher}") getdownAppDistDir = getdown_app_dir_alt getdownImagesDir = string("${jalviewDir}/${getdown_images_dir}") + getdownSetAppBaseProperty = false // whether to pass the appbase and appdistdir to the application reportRsyncCommand = false jvlChannelName = CHANNEL.toLowerCase() install4jSuffix = CHANNEL.substring(0, 1).toUpperCase() + CHANNEL.substring(1).toLowerCase(); // BUILD -> Build @@ -262,9 +266,9 @@ ext { case "DEVELOP": reportRsyncCommand = true - + getdownSetAppBaseProperty = true // DEVELOP-RELEASE is usually associated with a Jalview release series so set the version - JALVIEW_VERSION=JALVIEW_VERSION+"-develop" + JALVIEW_VERSION=JALVIEW_VERSION+"-d${buildDate}" install4jSuffix = "Develop" install4jExtraScheme = "jalviewd" @@ -325,6 +329,9 @@ ext { if (string(getdown_appbase_override) == "") { getdownAppBase = file(getdownWebsiteDir).toURI().toString() getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}") + } else if (string(getdown_appbase_override).startsWith("file://")) { + getdownAppBase = string(getdown_appbase_override) + getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}") } else { getdownAppBase = string(getdown_appbase_override) } @@ -1247,6 +1254,10 @@ task createBuildProperties(type: WriteProperties) { property "BUILD_DATE", getDate("HH:mm:ss dd MMMM yyyy") property "VERSION", JALVIEW_VERSION property "INSTALLATION", INSTALLATION+" git-commit:"+gitHash+" ["+gitBranch+"]" + if (getdownSetAppBaseProperty) { + property "GETDOWNAPPBASE", getdownAppBase + property "GETDOWNAPPDISTDIR", getdownAppDistDir + } outputs.file(outputFile) } @@ -1488,7 +1499,7 @@ task getdownWebsite() { copy { from buildProperties - rename(build_properties_file, getdown_build_properties) + rename(file(buildProperties).getName(), getdown_build_properties) into getdownAppDir } getdownWebsiteResourceFilenames += "${getdownAppDistDir}/${getdown_build_properties}" @@ -1600,10 +1611,11 @@ task getdownWebsite() { //getdownTextString += "class = " + file(getdownLauncher).getName() + "\n" getdownTextString += "resource = ${getdown_launcher_new}\n" getdownTextString += "class = ${main_class}\n" - /* NOT setting these properties so that getdownappbase and getdowndistdir will default to release version - * getdownTextString += "jvmarg = -Dgetdowndistdir=${getdownAppDistDir}\n" - * getdownTextString += "jvmarg = -Dgetdownappbase=${getdownAppBase}\n" - */ + // Not setting these properties in general so that getdownappbase and getdowndistdir will default to release version in jalview.bin.Cache + if (getdownSetAppBaseProperty) { + getdownTextString += "jvmarg = -Dgetdowndistdir=${getdownAppDistDir}\n" + getdownTextString += "jvmarg = -Dgetdownappbase=${getdownAppBase}\n" + } def getdown_txt = file("${getdownWebsiteDir}/getdown.txt") getdown_txt.write(getdownTextString) @@ -1612,12 +1624,14 @@ task getdownWebsite() { def launchJvl = file("${getdownWebsiteDir}/${getdownLaunchJvl}") launchJvl.write("appbase=${getdownAppBase}") + // files going into the getdown website dir: getdown-launcher.jar copy { from getdownLauncher rename(file(getdownLauncher).getName(), getdown_launcher_new) into getdownWebsiteDir } + // files going into the getdown website dir: getdown-launcher(-local).jar copy { from getdownLauncher if (file(getdownLauncher).getName() != getdown_launcher) { @@ -1626,6 +1640,7 @@ task getdownWebsite() { into getdownWebsiteDir } + // files going into the getdown website dir: ./install dir and files if (! (CHANNEL.startsWith("ARCHIVE") || CHANNEL.startsWith("DEVELOP"))) { copy { from getdown_txt @@ -1637,12 +1652,14 @@ task getdownWebsite() { into getdownInstallDir } + // and make a copy in the getdown files dir (these are not downloaded by getdown) copy { from getdownInstallDir into getdownFilesInstallDir } } + // files going into the getdown files dir: getdown.txt, getdown-launcher.jar, channel-launch.jvl, build_properties copy { from getdown_txt from launchJvl @@ -1654,6 +1671,7 @@ task getdownWebsite() { into getdownFilesDir } + // and ./resources (not all downloaded by getdown) copy { from getdownResourceDir into "${getdownFilesDir}/${getdown_resource_dir}" diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index 13532e7..50db03b 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -310,6 +310,9 @@ public class Cache } }; + /* build Properties (not all saved to .jalview_properties) */ + public static Properties buildProperties = new Properties(); + /** Default file is ~/.jalview_properties */ static String propertiesFile; @@ -633,8 +636,13 @@ public class Cache String buildDetails = resolveResourceURLFor("/.build_properties"); URL localJarFileURL = new URL(buildDetails); InputStream in = localJarFileURL.openStream(); - applicationProperties.load(in); + buildProperties.load(in); in.close(); + applicationProperties.put("BUILD_DATE", + buildProperties.get("BUILD_DATE")); + applicationProperties.put("INSTALLATION", + buildProperties.get("INSTALLATION")); + applicationProperties.put("VERSION", buildProperties.get("VERSION")); } catch (Exception ex) { System.out.println("Error reading build details: " + ex); @@ -1651,6 +1659,11 @@ public class Cache String distDir = System.getProperty("getdowndistdir"); if (appbase == null) { + appbase = buildProperties.getProperty("GETDOWNAPPBASE"); + distDir = buildProperties.getProperty("GETDOWNAPPDISTDIR"); + } + if (appbase == null) + { appbase = releaseAppbase; distDir = "release"; } -- 1.7.10.2