String jvmmempc = null;
String jvmmemmax = null;
+ boolean debug = false;
+ boolean help = false;
+ boolean quiet = false;
+ boolean launcherstop = false;
+ boolean launcherprint = false;
ArrayList<String> arguments = new ArrayList<>();
for (String arg : args)
{
+ if (arg.equals("--debug"))
+ {
+ debug = true;
+ }
+ if (arg.equals("--quiet"))
+ {
+ quiet = true;
+ }
+ if (arg.equals("--help") || arg.startsWith("--help-"))
+ {
+ help = true;
+ }
+ if (arg.equals("--launcherprint"))
+ {
+ launcherprint = true;
+ }
+ if (arg.equals("--launcherstop"))
+ {
+ launcherstop = true;
+ }
// jvmmempc and jvmmemmax args used to set memory and are not passed on to
// startClass
if (arg.startsWith(
}
}
- // add memory setting if not specified
+ // add these settings if not already specified
boolean memSet = false;
boolean dockIcon = false;
boolean dockName = false;
String scalePropertyArg = HiDPISetting.getScalePropertyArg();
if (scalePropertyArg != null)
{
- System.out.println("Running " + startClass + " with scale setting "
- + scalePropertyArg);
+ if (debug && !quiet)
+ {
+ System.out.println("Running " + startClass + " with scale setting "
+ + scalePropertyArg);
+ }
command.add(scalePropertyArg);
}
final ProcessBuilder builder = new ProcessBuilder(command);
- if (Boolean.parseBoolean(System.getProperty("launcherprint", "false")))
+ if (!quiet && (Boolean
+ .parseBoolean(System.getProperty("launcherprint", "false"))
+ || (debug && launcherprint)))
{
System.out.println(
"LAUNCHER COMMAND: " + String.join(" ", builder.command()));
}
- System.out.println("Running " + startClass + " with "
- + (memSetting == null ? "no memory setting"
- : ("memory setting " + memSetting)));
+ if (debug && !quiet)
+ {
+ System.out.println("Running " + startClass + " with "
+ + (memSetting == null ? "no memory setting"
+ : ("memory setting " + memSetting)));
+ }
- if (Boolean.parseBoolean(System.getProperty("launcherstop", "false")))
+ if (Boolean.parseBoolean(System.getProperty("launcherstop", "false"))
+ || (debug && launcherstop))
{
- System.out.println(
- "System property 'launcherstop' is set and not 'false'. Exiting.");
+ if (!quiet)
+ {
+ System.out.println(
+ "System property 'launcherstop' is set and not 'false'. Exiting.");
+ }
System.exit(0);
}
try
{
if (e.getMessage().toLowerCase(Locale.ROOT).contains("memory"))
{
- System.out.println("Caught a memory exception: " + e.getMessage());
+ System.err.println("Caught a memory exception: " + e.getMessage());
// Probably the "Cannot allocate memory" error, try without the memory
// setting
ArrayList<String> commandNoMem = new ArrayList<>();
}
final ProcessBuilder builderNoMem = new ProcessBuilder(
commandNoMem);
- System.out.println("Command without memory setting: "
+ System.err.println("Command without memory setting: "
+ String.join(" ", builderNoMem.command()));
try
{