Skip to content

Commit b1ca565

Browse files
committed
Make SHOW_VERSION, SHOW_COPYRIGHT and SHOW_HELP launcher-only options
* Move ShowHelp in launcher project.
1 parent 2e4ae73 commit b1ca565

File tree

8 files changed

+13
-60
lines changed

8 files changed

+13
-60
lines changed

src/launcher/java/org/truffleruby/launcher/CommandLineOptions.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@
3939

4040
public class CommandLineOptions {
4141

42+
// Options which are only meaningful when using the TruffleRuby launcher (not when using the Context API)
43+
boolean showVersion = false;
44+
boolean showCopyright = false;
45+
ShowHelp showHelp = ShowHelp.NONE;
46+
4247
private Map<String, String> options;
4348
private String[] arguments;
4449
private final List<String> unknownArguments;

src/launcher/java/org/truffleruby/launcher/CommandLineParser.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import org.truffleruby.shared.options.DefaultExecutionAction;
3939
import org.truffleruby.shared.options.ExecutionAction;
4040
import org.truffleruby.shared.options.OptionsCatalog;
41-
import org.truffleruby.shared.options.ShowHelp;
4241
import org.truffleruby.shared.options.Verbosity;
4342

4443
import java.io.File;
@@ -236,7 +235,7 @@ private void processArgument() throws CommandLineException {
236235
throw notImplemented("-F");
237236
case 'h':
238237
disallowedInRubyOpts(argument);
239-
config.setOption(OptionsCatalog.SHOW_HELP, ShowHelp.SHORT);
238+
config.showHelp = ShowHelp.SHORT;
240239
// cancel other execution actions
241240
config.setOption(OptionsCatalog.EXECUTION_ACTION, ExecutionAction.NONE);
242241
break;
@@ -335,7 +334,7 @@ private void processArgument() throws CommandLineException {
335334
break;
336335
case 'v':
337336
config.setOption(OptionsCatalog.VERBOSITY, Verbosity.TRUE);
338-
config.setOption(OptionsCatalog.SHOW_VERSION, true);
337+
config.showVersion = true;
339338
config.setOption(OptionsCatalog.DEFAULT_EXECUTION_ACTION, DefaultExecutionAction.NONE);
340339
break;
341340
case 'w':
@@ -374,7 +373,7 @@ private void processArgument() throws CommandLineException {
374373
case '-':
375374
if (argument.equals("--copyright")) {
376375
disallowedInRubyOpts(argument);
377-
config.setOption(OptionsCatalog.SHOW_COPYRIGHT, true);
376+
config.showCopyright = true;
378377
// cancel other execution actions
379378
config.setOption(OptionsCatalog.EXECUTION_ACTION, ExecutionAction.NONE);
380379
break FOR;
@@ -412,7 +411,7 @@ private void processArgument() throws CommandLineException {
412411
break FOR;
413412
} else if (argument.equals("--version")) {
414413
disallowedInRubyOpts(argument);
415-
config.setOption(OptionsCatalog.SHOW_VERSION, true);
414+
config.showVersion = true;
416415
// cancel other execution actions
417416
config.setOption(OptionsCatalog.EXECUTION_ACTION, ExecutionAction.NONE);
418417
break FOR;

src/launcher/java/org/truffleruby/launcher/RubyLauncher.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.truffleruby.shared.options.OptionsCatalog;
2222
import org.truffleruby.shared.TruffleRuby;
2323
import org.truffleruby.shared.Metrics;
24-
import org.truffleruby.shared.options.ShowHelp;
2524

2625
import java.io.IOException;
2726
import java.io.PrintStream;
@@ -270,15 +269,15 @@ private String setRubyLauncher() {
270269
}
271270

272271
private static void printPreRunInformation(CommandLineOptions config) {
273-
if ((boolean) config.getOption(OptionsCatalog.SHOW_VERSION)) {
272+
if (config.showVersion) {
274273
System.out.println(TruffleRuby.getVersionString(getImplementationNameFromEngine(), isAOT()));
275274
}
276275

277-
if ((boolean) config.getOption(OptionsCatalog.SHOW_COPYRIGHT)) {
276+
if (config.showCopyright) {
278277
System.out.println(TruffleRuby.RUBY_COPYRIGHT);
279278
}
280279

281-
switch ((ShowHelp) config.getOption(OptionsCatalog.SHOW_HELP)) {
280+
switch (config.showHelp) {
282281
case NONE:
283282
break;
284283
case SHORT:

src/shared/java/org/truffleruby/shared/options/ShowHelp.java renamed to src/launcher/java/org/truffleruby/launcher/ShowHelp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* GNU General Public License version 2, or
88
* GNU Lesser General Public License version 2.1.
99
*/
10-
package org.truffleruby.shared.options;
10+
package org.truffleruby.launcher;
1111

1212
public enum ShowHelp {
1313
NONE,

src/main/java/org/truffleruby/options/Options.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.truffleruby.shared.options.DefaultExecutionAction;
1919
import org.truffleruby.shared.options.ExecutionAction;
2020
import org.truffleruby.shared.options.OptionsCatalog;
21-
import org.truffleruby.shared.options.ShowHelp;
2221
import org.truffleruby.shared.options.Verbosity;
2322

2423
import com.oracle.truffle.api.TruffleLanguage.Env;
@@ -83,9 +82,6 @@ public class Options {
8382
public final boolean ARGV_GLOBALS;
8483
public final boolean IGNORE_LINES_BEFORE_RUBY_SHEBANG;
8584
public final boolean SYNTAX_CHECK;
86-
public final boolean SHOW_VERSION;
87-
public final boolean SHOW_COPYRIGHT;
88-
public final ShowHelp SHOW_HELP;
8985
public final ExecutionAction EXECUTION_ACTION;
9086
public final String TO_EXECUTE;
9187
public final boolean READ_RUBYOPT;
@@ -216,9 +212,6 @@ public Options(Env env, OptionValues options) {
216212
ARGV_GLOBALS = options.get(OptionsCatalog.ARGV_GLOBALS_KEY);
217213
IGNORE_LINES_BEFORE_RUBY_SHEBANG = options.get(OptionsCatalog.IGNORE_LINES_BEFORE_RUBY_SHEBANG_KEY);
218214
SYNTAX_CHECK = options.get(OptionsCatalog.SYNTAX_CHECK_KEY);
219-
SHOW_VERSION = options.get(OptionsCatalog.SHOW_VERSION_KEY);
220-
SHOW_COPYRIGHT = options.get(OptionsCatalog.SHOW_COPYRIGHT_KEY);
221-
SHOW_HELP = options.get(OptionsCatalog.SHOW_HELP_KEY);
222215
EXECUTION_ACTION = options.get(OptionsCatalog.EXECUTION_ACTION_KEY);
223216
TO_EXECUTE = options.get(OptionsCatalog.TO_EXECUTE_KEY);
224217
READ_RUBYOPT = options.get(OptionsCatalog.READ_RUBYOPT_KEY);
@@ -408,12 +401,6 @@ public Object fromDescriptor(OptionDescriptor descriptor) {
408401
return IGNORE_LINES_BEFORE_RUBY_SHEBANG;
409402
case "ruby.syntax_check":
410403
return SYNTAX_CHECK;
411-
case "ruby.show_version":
412-
return SHOW_VERSION;
413-
case "ruby.show_copyright":
414-
return SHOW_COPYRIGHT;
415-
case "ruby.show_help":
416-
return SHOW_HELP;
417404
case "ruby.execution_action":
418405
return EXECUTION_ACTION;
419406
case "ruby.to_execute":

src/options.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,8 @@ INTERNAL: # Options for debugging the TruffleRuby implementation
8383
ARGV_GLOBALS: [[argv_globals, -s], boolean, false, Parse options in script argv into global variables]
8484
IGNORE_LINES_BEFORE_RUBY_SHEBANG: [[ignore_lines_before_ruby_shebang, -x], boolean, false, "strip off text before #!ruby line"]
8585
SYNTAX_CHECK: [[syntax_check, -c], boolean, false, Do not execute just check syntax]
86-
SHOW_VERSION: [[show_version, --version], boolean, false, Show version]
87-
SHOW_COPYRIGHT: [[show_copyright, --copyright], boolean, false, Show copyright]
8886

8987
# Used internally for the launcher to communicate with the RubyContext
90-
SHOW_HELP: [[show_help, -h, --help], enum/show_help, none, What help should be shown]
9188
EXECUTION_ACTION: [[execution_action, -e, -S], enum/execution_action, none, What should be done after context is created]
9289
TO_EXECUTE: [[to_execute, -e, -S], string, '', "A thing to be executed: a file, inline script, etc. Used by execution_action when applicable."]
9390
READ_RUBYOPT: [read_rubyopt, boolean, true, Read RUBYOPT and TRUFFLERUBYOPT environment variables]

src/shared/java/org/truffleruby/shared/options/OptionsCatalog.java

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ public class OptionsCatalog {
7878
public static final OptionKey<Boolean> ARGV_GLOBALS_KEY = new OptionKey<>(false);
7979
public static final OptionKey<Boolean> IGNORE_LINES_BEFORE_RUBY_SHEBANG_KEY = new OptionKey<>(false);
8080
public static final OptionKey<Boolean> SYNTAX_CHECK_KEY = new OptionKey<>(false);
81-
public static final OptionKey<Boolean> SHOW_VERSION_KEY = new OptionKey<>(false);
82-
public static final OptionKey<Boolean> SHOW_COPYRIGHT_KEY = new OptionKey<>(false);
83-
public static final OptionKey<ShowHelp> SHOW_HELP_KEY = new OptionKey<>(ShowHelp.NONE, EnumOptionType.optionTypeFor(ShowHelp.class, ShowHelp.NONE));
8481
public static final OptionKey<ExecutionAction> EXECUTION_ACTION_KEY = new OptionKey<>(ExecutionAction.NONE, EnumOptionType.optionTypeFor(ExecutionAction.class, ExecutionAction.NONE));
8582
public static final OptionKey<String> TO_EXECUTE_KEY = new OptionKey<>("");
8683
public static final OptionKey<Boolean> READ_RUBYOPT_KEY = new OptionKey<>(true);
@@ -552,27 +549,6 @@ public class OptionsCatalog {
552549
.stability(OptionStability.EXPERIMENTAL)
553550
.build();
554551

555-
public static final OptionDescriptor SHOW_VERSION = OptionDescriptor
556-
.newBuilder(SHOW_VERSION_KEY, "ruby.show_version")
557-
.help("Show version (configured by the --version Ruby option)")
558-
.category(OptionCategory.INTERNAL)
559-
.stability(OptionStability.EXPERIMENTAL)
560-
.build();
561-
562-
public static final OptionDescriptor SHOW_COPYRIGHT = OptionDescriptor
563-
.newBuilder(SHOW_COPYRIGHT_KEY, "ruby.show_copyright")
564-
.help("Show copyright (configured by the --copyright Ruby option)")
565-
.category(OptionCategory.INTERNAL)
566-
.stability(OptionStability.EXPERIMENTAL)
567-
.build();
568-
569-
public static final OptionDescriptor SHOW_HELP = OptionDescriptor
570-
.newBuilder(SHOW_HELP_KEY, "ruby.show_help")
571-
.help("What help should be shown (configured by the -h, --help Ruby options)")
572-
.category(OptionCategory.INTERNAL)
573-
.stability(OptionStability.EXPERIMENTAL)
574-
.build();
575-
576552
public static final OptionDescriptor EXECUTION_ACTION = OptionDescriptor
577553
.newBuilder(EXECUTION_ACTION_KEY, "ruby.execution_action")
578554
.help("What should be done after context is created (configured by the -e, -S Ruby options)")
@@ -1186,12 +1162,6 @@ public static OptionDescriptor fromName(String name) {
11861162
return IGNORE_LINES_BEFORE_RUBY_SHEBANG;
11871163
case "ruby.syntax_check":
11881164
return SYNTAX_CHECK;
1189-
case "ruby.show_version":
1190-
return SHOW_VERSION;
1191-
case "ruby.show_copyright":
1192-
return SHOW_COPYRIGHT;
1193-
case "ruby.show_help":
1194-
return SHOW_HELP;
11951165
case "ruby.execution_action":
11961166
return EXECUTION_ACTION;
11971167
case "ruby.to_execute":
@@ -1453,9 +1423,6 @@ public static OptionDescriptor[] allDescriptors() {
14531423
SHARED_OBJECTS_DEBUG,
14541424
SHARED_OBJECTS_FORCE,
14551425
SHARED_OBJECTS_SHARE_ALL,
1456-
SHOW_COPYRIGHT,
1457-
SHOW_HELP,
1458-
SHOW_VERSION,
14591426
SINGLE_THREADED,
14601427
SOURCE_ENCODING,
14611428
STDLIB_AS_INTERNAL,

tool/generate-options.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ def parse_reference_defaults(default)
121121
import org.truffleruby.shared.options.DefaultExecutionAction;
122122
import org.truffleruby.shared.options.ExecutionAction;
123123
import org.truffleruby.shared.options.OptionsCatalog;
124-
import org.truffleruby.shared.options.ShowHelp;
125124
import org.truffleruby.shared.options.Verbosity;
126125
127126
import com.oracle.truffle.api.TruffleLanguage.Env;

0 commit comments

Comments
 (0)