8054411: Add nashorn.args.prepend system property
Reviewed-by: hannesw, jlaskey
This commit is contained in:
parent
5d2615f1cb
commit
3dc86bb834
@ -78,7 +78,10 @@ public final class Options {
|
||||
/** The options map of enabled options */
|
||||
private final TreeMap<String, Option<?>> options;
|
||||
|
||||
/** System property that can be used for command line option propagation */
|
||||
/** System property that can be used to prepend options to the explicitly specified command line. */
|
||||
private static final String NASHORN_ARGS_PREPEND_PROPERTY = "nashorn.args.prepend";
|
||||
|
||||
/** System property that can be used to append options to the explicitly specified command line. */
|
||||
private static final String NASHORN_ARGS_PROPERTY = "nashorn.args";
|
||||
|
||||
/**
|
||||
@ -419,15 +422,9 @@ public final class Options {
|
||||
*/
|
||||
public void process(final String[] args) {
|
||||
final LinkedList<String> argList = new LinkedList<>();
|
||||
addSystemProperties(NASHORN_ARGS_PREPEND_PROPERTY, argList);
|
||||
Collections.addAll(argList, args);
|
||||
|
||||
final String extra = getStringProperty(NASHORN_ARGS_PROPERTY, null);
|
||||
if (extra != null) {
|
||||
final StringTokenizer st = new StringTokenizer(extra);
|
||||
while (st.hasMoreTokens()) {
|
||||
argList.add(st.nextToken());
|
||||
}
|
||||
}
|
||||
addSystemProperties(NASHORN_ARGS_PROPERTY, argList);
|
||||
|
||||
while (!argList.isEmpty()) {
|
||||
final String arg = argList.remove(0);
|
||||
@ -509,6 +506,16 @@ public final class Options {
|
||||
}
|
||||
}
|
||||
|
||||
private static void addSystemProperties(final String sysPropName, final List<String> argList) {
|
||||
final String sysArgs = getStringProperty(sysPropName, null);
|
||||
if (sysArgs != null) {
|
||||
final StringTokenizer st = new StringTokenizer(sysArgs);
|
||||
while (st.hasMoreTokens()) {
|
||||
argList.add(st.nextToken());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static OptionTemplate getOptionTemplate(final String key) {
|
||||
for (final OptionTemplate t : Options.validOptions) {
|
||||
if (t.matches(key)) {
|
||||
|
Loading…
Reference in New Issue
Block a user