From 0769dcce9d17a175c6feb97c4d79509433cc6f1c Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Thu, 29 Apr 2010 21:48:30 +0000 Subject: [PATCH] Well, no, that was silly. The application arguments go after the class name. --- .../com/threerings/getdown/data/Application.java | 15 +++++++++++++-- .../com/threerings/getdown/launcher/Getdown.java | 7 ++++--- .../threerings/getdown/launcher/GetdownApp.java | 8 ++++---- .../getdown/launcher/GetdownApplet.java | 2 +- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/java/com/threerings/getdown/data/Application.java b/src/java/com/threerings/getdown/data/Application.java index 0eecdc6..f4d053a 100644 --- a/src/java/com/threerings/getdown/data/Application.java +++ b/src/java/com/threerings/getdown/data/Application.java @@ -164,7 +164,7 @@ public class Application */ public Application (File appdir, String appid) { - this(appdir, appid, null, null); + this(appdir, appid, null, null, null); } /** @@ -177,8 +177,10 @@ public class Application * the primary application. * @param signers an array of possible signers of this application. Used to verify the digest. * @param jvmargs arguments to pass on to launched jvms + * @param appargs arguments to pass on to launched application */ - public Application (File appdir, String appid, Object[] signers, String[] jvmargs) + public Application ( + File appdir, String appid, Object[] signers, String[] jvmargs, String[] appargs) { _appdir = appdir; _appid = appid; @@ -187,6 +189,9 @@ public class Application if (jvmargs != null) { _baseJvmArgs = jvmargs; } + if (appargs != null) { + _baseAppArgs = appargs; + } } /** @@ -567,6 +572,11 @@ public class Application } } + // add the launch specific application arguments + for (String arg : _baseAppArgs) { + _appargs.add(arg); + } + // look for custom arguments fillAssignmentListFromPairs("extra.txt", _jvmargs); @@ -1461,6 +1471,7 @@ public class Application protected ArrayList _appargs = new ArrayList(); protected String[] _baseJvmArgs = new String[0]; + protected String[] _baseAppArgs = new String[0]; protected Object[] _signers; diff --git a/src/java/com/threerings/getdown/launcher/Getdown.java b/src/java/com/threerings/getdown/launcher/Getdown.java index f71bafb..10a382b 100644 --- a/src/java/com/threerings/getdown/launcher/Getdown.java +++ b/src/java/com/threerings/getdown/launcher/Getdown.java @@ -88,10 +88,11 @@ public abstract class Getdown extends Thread public Getdown (File appDir, String appId) { - this(appDir, appId, null, null); + this(appDir, appId, null, null, null); } - public Getdown (File appDir, String appId, Object[] signers, String[] jvmargs) + public Getdown ( + File appDir, String appId, Object[] signers, String[] jvmargs, String[] appargs) { super("Getdown"); try { @@ -120,7 +121,7 @@ public abstract class Getdown extends Thread "\nis invalid. The directory must not contain the '!' character. Please reinstall."; fail(errmsg); } - _app = new Application(appDir, appId, signers, jvmargs); + _app = new Application(appDir, appId, signers, jvmargs, appargs); _startup = System.currentTimeMillis(); } diff --git a/src/java/com/threerings/getdown/launcher/GetdownApp.java b/src/java/com/threerings/getdown/launcher/GetdownApp.java index 10b43a3..a1bad5d 100644 --- a/src/java/com/threerings/getdown/launcher/GetdownApp.java +++ b/src/java/com/threerings/getdown/launcher/GetdownApp.java @@ -55,7 +55,7 @@ public class GetdownApp if (StringUtil.isBlank(adarg)) { if (args.length < 1) { System.err.println( - "Usage: java -jar getdown.jar app_dir [app_id] [jvm args]"); + "Usage: java -jar getdown.jar app_dir [app_id] [app args]"); System.exit(-1); } adarg = args[aidx++]; @@ -68,9 +68,9 @@ public class GetdownApp } // pass along anything after that as jvm args - String[] jvmargs = null; + String[] appargs = null; if (args.length > aidx) { - jvmargs = ArrayUtil.splice(args, 0, aidx); + appargs = ArrayUtil.splice(args, 0, aidx); } // ensure a valid directory was supplied @@ -106,7 +106,7 @@ public class GetdownApp log.info("---------------------------------------------"); try { - Getdown app = new Getdown(appDir, appId, null, jvmargs) { + Getdown app = new Getdown(appDir, appId, null, null, appargs) { @Override protected Container createContainer () { // create our user interface, and display it diff --git a/src/java/com/threerings/getdown/launcher/GetdownApplet.java b/src/java/com/threerings/getdown/launcher/GetdownApplet.java index dff81e8..0cd9bd9 100644 --- a/src/java/com/threerings/getdown/launcher/GetdownApplet.java +++ b/src/java/com/threerings/getdown/launcher/GetdownApplet.java @@ -60,7 +60,7 @@ public class GetdownApplet extends JApplet // a third party to insert a trusted certificate. This should be replaced with // statically included trusted keys. _getdown = new Getdown(_config.appdir, null, GetdownApplet.class.getSigners(), - _config.jvmargs) { + _config.jvmargs, null) { @Override protected Container createContainer () { getContentPane().removeAll();