From: Ben Soares Date: Wed, 3 Jul 2019 13:02:14 +0000 (+0100) Subject: JAL-3349 Added a prefix for cli args to getdown that get turned into JVM args for... X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=70249b10fbfa41c17038efce103ad086b650d9e2;p=jalview.git JAL-3349 Added a prefix for cli args to getdown that get turned into JVM args for Jalview. Also a -jvmmempc lookup --- diff --git a/build.gradle b/build.gradle index 1f16133..2effa06 100644 --- a/build.gradle +++ b/build.gradle @@ -855,7 +855,7 @@ task getdownWebsite() { props.put("getdown_txt_multi_java_location", getdown_alt_multi_java_location) props.put("getdown_txt_appbase", getdown_app_base) - props.each{ prop, val -> + props.sort().each{ prop, val -> if (prop.startsWith("getdown_txt_") && val != null) { if (prop.startsWith("getdown_txt_multi_")) { def key = prop.substring(18) @@ -1142,3 +1142,5 @@ clean { delete install4jConf } + + diff --git a/getdown/lib/getdown-core.jar b/getdown/lib/getdown-core.jar index 7849bc7..1ad9d47 100644 Binary files a/getdown/lib/getdown-core.jar and b/getdown/lib/getdown-core.jar differ diff --git a/getdown/lib/getdown-launcher.jar b/getdown/lib/getdown-launcher.jar index 7f99732..257432e 100644 Binary files a/getdown/lib/getdown-launcher.jar and b/getdown/lib/getdown-launcher.jar differ diff --git a/getdown/src/getdown/ant/pom.xml b/getdown/src/getdown/ant/pom.xml index 3b29977..c742cbd 100644 --- a/getdown/src/getdown/ant/pom.xml +++ b/getdown/src/getdown/ant/pom.xml @@ -4,7 +4,7 @@ com.threerings.getdown getdown - 1.8.3-1.1.5_JVL + 1.8.3_1.1.5_JVL getdown-ant diff --git a/getdown/src/getdown/core/pom.xml b/getdown/src/getdown/core/pom.xml index c63fd37..e3b7cfa 100644 --- a/getdown/src/getdown/core/pom.xml +++ b/getdown/src/getdown/core/pom.xml @@ -4,7 +4,7 @@ com.threerings.getdown getdown - 1.8.3-1.1.5_JVL + 1.8.3_1.1.5_JVL getdown-core diff --git a/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java b/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java index 799b5bb..9539744 100644 --- a/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java +++ b/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java @@ -789,20 +789,35 @@ public class Application jvmargs = config.getMultiValue(appPrefix + "jvmarg"); addAll(jvmargs, _jvmargs); } + + // extract jvmargs and jvmmempc from command line appargs. These will appear after and override the previous jvmargs + addAll(processCliJvmArgs(_envc.appArgs), _jvmargs); - // see if a percentage of physical memory option exists - int jvmmempc = config.getInt("jvmmempc", -1); - // app_id prefixed setting overrides - if (appPrefix.length() > 0) { - jvmmempc = config.getInt(appPrefix + "jvmmempc", jvmmempc); + // get the set of optimum JVM arguments + _optimumJvmArgs = config.getMultiValue("optimum_jvmarg"); + + // transfer our application arguments + String[] appargs = config.getMultiValue(appPrefix + "apparg"); + addAll(appargs, _appargs); + + // add the launch specific application arguments + _appargs.addAll(_envc.appArgs); + + // see if a percentage of physical memory option exists if it hasn't been set by cli args + if (_jvmmempc > -1) { + _jvmmempc = config.getInt("jvmmempc", -1); + // app_id prefixed setting overrides + if (appPrefix.length() > 0) { + _jvmmempc = config.getInt(appPrefix + "jvmmempc", _jvmmempc); + } } - if (0 <= jvmmempc && jvmmempc <= 100) { + if (0 <= _jvmmempc && _jvmmempc <= 100) { long maxMemLong = -1; try { - maxMemLong = MemorySetting.memPercent(jvmmempc); + maxMemLong = MemorySetting.memPercent(_jvmmempc); } catch (Exception e) { e.printStackTrace(); @@ -825,19 +840,9 @@ public class Application } - } else if (jvmmempc != -1) { - System.out.println("'jvmmempc' value must be in range 0 to 100 (read as '"+Integer.toString(jvmmempc)+"')"); + } else if (_jvmmempc != -1) { + System.out.println("'jvmmempc' value must be in range 0 to 100 (read as '"+Integer.toString(_jvmmempc)+"')"); } - - // get the set of optimum JVM arguments - _optimumJvmArgs = config.getMultiValue("optimum_jvmarg"); - - // transfer our application arguments - String[] appargs = config.getMultiValue(appPrefix + "apparg"); - addAll(appargs, _appargs); - - // add the launch specific application arguments - _appargs.addAll(_envc.appArgs); // look for custom arguments fillAssignmentListFromPairs("extra.txt", _txtJvmArgs); @@ -1130,6 +1135,9 @@ public class Application } if (ext != null && LOCATOR_FILE_EXTENSION.equals(ext.toLowerCase())) { // this file extension should have been dealt with in Getdown class + } else if (filename.startsWith("-")) { + // probably an argument to jvm or jalview + log.info("DOING NOTHING WITH ARG", "appargs", _appargs); } else { _appargs.add(0, "-open"); } @@ -1943,6 +1951,25 @@ public class Application return _appbase; } + protected String[] processCliJvmArgs(List args) { + List extracted = new ArrayList<>(); + if (args != null) { + for (String arg : args) { + if (arg.startsWith("-"+CLI_JVM_ARG_PREFIX)) { + String newArg = arg.substring(CLI_JVM_ARG_PREFIX.length() + 1); + extracted.add(newArg); + } else if (arg.startsWith("-jvmmempc=")) { + try { + _jvmmempc = Integer.parseInt(arg.substring(10)); + } catch (NumberFormatException e){ + log.warning("Could not parse jvmmempc command line argument", "arg", arg); + } + } + } + } + return extracted.toArray(new String[0]); + } + protected final EnvConfig _envc; protected File _config; protected File _backupConfig; @@ -1992,6 +2019,10 @@ public class Application protected List _txtJvmArgs = new ArrayList<>(); + /** jvmmempc for memory settings and other cli arguments for the JVM */ + protected int _jvmmempc = -1; + protected static final String CLI_JVM_ARG_PREFIX = "JVM"; + /** If a warning has been issued about not being able to set modtimes. */ protected boolean _warnedAboutSetLastModified; diff --git a/getdown/src/getdown/launcher/pom.xml b/getdown/src/getdown/launcher/pom.xml index d1514df..02ee228 100644 --- a/getdown/src/getdown/launcher/pom.xml +++ b/getdown/src/getdown/launcher/pom.xml @@ -4,7 +4,7 @@ com.threerings.getdown getdown - 1.8.3-1.1.5_JVL + 1.8.3_1.1.5_JVL getdown-launcher diff --git a/getdown/src/getdown/launcher/src/main/java/jalview/bin/StartupNotificationListener.java b/getdown/src/getdown/launcher/src/main/java/jalview/bin/StartupNotificationListener.java index c6aadd7..854da0d 100644 --- a/getdown/src/getdown/launcher/src/main/java/jalview/bin/StartupNotificationListener.java +++ b/getdown/src/getdown/launcher/src/main/java/jalview/bin/StartupNotificationListener.java @@ -26,9 +26,11 @@ public class StartupNotificationListener { } + /* public String[] getExtraCommandLineArguments() { com.install4j.api.context.Context c = new com.install4j.api.context.Context(); return c.getExtraCommandLineArguments(); } + */ } diff --git a/getdown/src/getdown/pom.xml b/getdown/src/getdown/pom.xml index 4615ca8..c23e80c 100644 --- a/getdown/src/getdown/pom.xml +++ b/getdown/src/getdown/pom.xml @@ -10,7 +10,7 @@ com.threerings.getdown getdown pom - 1.8.3-1.1.5_JVL + 1.8.3_1.1.5_JVL getdown An application installer and updater. diff --git a/gradle.properties b/gradle.properties index cc845fa..3dec6b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -48,7 +48,7 @@ gradlePluginsDir = gradle/plugins getdown_local = false getdown_website_dir = getdown/website getdown_resource_dir = resource -#getdown_j11lib_dir = j11lib +getdown_j11lib_dir = j11lib getdown_files_dir = getdown/files getdown_launcher = getdown/lib/getdown-launcher.jar getdown_launcher_new = getdown-launcher-new.jar @@ -80,7 +80,6 @@ getdown_txt_ui.progress_bar = AAAAFF getdown_txt_ui.progress_text = 000000 getdown_txt_ui.status = 20, 380, 600, 58 getdown_txt_ui.status_text = 000066 -#getdown_txt_ui.text_shadow = FFFFFF getdown_txt_ui.install_error = http://www.jalview.org/faq/getdownerror getdown_txt_ui.mac_dock_icon = resources/images/jalview_logos.ico getdown_alt_java8_min_version = 01080000 diff --git a/j11lib/getdown-core.jar b/j11lib/getdown-core.jar index 7849bc7..1ad9d47 100644 Binary files a/j11lib/getdown-core.jar and b/j11lib/getdown-core.jar differ diff --git a/j8lib/getdown-core.jar b/j8lib/getdown-core.jar index 7849bc7..1ad9d47 100644 Binary files a/j8lib/getdown-core.jar and b/j8lib/getdown-core.jar differ