Skip to content

Commit 3517fd3

Browse files
committed
Add bundle support for output paths
1 parent 8c97374 commit 3517fd3

26 files changed

+434
-305
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/FallbackExecutor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@
5757
public class FallbackExecutor {
5858
public static class Options {
5959
@Option(help = "Internal option used to specify system properties for FallbackExecutor.")//
60-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> FallbackExecutorSystemProperty = new HostedOptionKey<>(new LocatableMultiOptionValue.Strings());
60+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> FallbackExecutorSystemProperty = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.build());
6161
@Option(help = "Internal option used to specify MainClass for FallbackExecutor.")//
6262
public static final HostedOptionKey<String> FallbackExecutorMainClass = new HostedOptionKey<>(null);
6363
@Option(help = "Internal option used to specify Classpath for FallbackExecutor.")//
6464
public static final HostedOptionKey<String> FallbackExecutorClasspath = new HostedOptionKey<>(null);
6565
@Option(help = "Internal option used to specify java arguments for FallbackExecutor.")//
66-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> FallbackExecutorJavaArg = new HostedOptionKey<>(new LocatableMultiOptionValue.Strings());
66+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> FallbackExecutorJavaArg = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.build());
6767
@Option(help = "Internal option used to specify runtime java arguments for FallbackExecutor.")//
68-
public static final RuntimeOptionKey<LocatableMultiOptionValue.Strings> FallbackExecutorRuntimeJavaArg = new RuntimeOptionKey<>(new LocatableMultiOptionValue.Strings());
68+
public static final RuntimeOptionKey<LocatableMultiOptionValue.Strings> FallbackExecutorRuntimeJavaArg = new RuntimeOptionKey<>(LocatableMultiOptionValue.Strings.build());
6969
}
7070

7171
public static void main(String[] args) {

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/RuntimeAssertionsSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public static class Options {
9696
@APIOption(name = {"-da", "-disableassertions"}, valueSeparator = VALUE_SEPARATOR, valueTransformer = RuntimeAssertionsOptionTransformer.Disable.class, defaultValue = "", //
9797
customHelp = "also -da[:[packagename]...|:classname] or -disableassertions[:[packagename]...|:classname]. Disable assertions with specified granularity.")//
9898
@Option(help = "Enable or disable Java assert statements at run time") //
99-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> RuntimeAssertions = new HostedOptionKey<>(new LocatableMultiOptionValue.Strings());
99+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> RuntimeAssertions = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.build());
100100

101101
@APIOption(name = {"-esa", "-enablesystemassertions"}, customHelp = "also -enablesystemassertions. Enables assertions in all system classes.") //
102102
@APIOption(name = {"-dsa", "-disablesystemassertions"}, kind = APIOption.APIOptionKind.Negated, customHelp = "also -disablesystemassertions. Disables assertions in all system classes.") //

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/SubstrateOptions.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import com.oracle.svm.core.heap.ReferenceHandler;
6161
import com.oracle.svm.core.option.APIOption;
6262
import com.oracle.svm.core.option.APIOptionGroup;
63+
import com.oracle.svm.core.option.BundleMember;
6364
import com.oracle.svm.core.option.HostedOptionKey;
6465
import com.oracle.svm.core.option.HostedOptionValues;
6566
import com.oracle.svm.core.option.LocatableMultiOptionValue;
@@ -81,7 +82,7 @@ public class SubstrateOptions {
8182
@Option(help = "Preserve the local variable information for every Java source line to allow line-by-line stepping in the debugger. Allow the lookup of Java-level method information, e.g., in stack traces.")//
8283
public static final HostedOptionKey<Boolean> SourceLevelDebug = new HostedOptionKey<>(false);
8384
@Option(help = "Constrain debug info generation to the comma-separated list of package prefixes given to this option.")//
84-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> SourceLevelDebugFilter = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated());
85+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> SourceLevelDebugFilter = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.buildWithCommaDelimiter());
8586

8687
public static boolean parseOnce() {
8788
/*
@@ -271,10 +272,11 @@ public static void setDebugInfoValueUpdateHandler(ValueUpdateHandler<Integer> up
271272
public static final HostedOptionKey<Boolean> IncludeNodeSourcePositions = new HostedOptionKey<>(false);
272273

273274
@Option(help = "Search path for C libraries passed to the linker (list of comma-separated directories)")//
274-
public static final HostedOptionKey<LocatableMultiOptionValue.Paths> CLibraryPath = new HostedOptionKey<>(LocatableMultiOptionValue.Paths.commaSeparated());
275+
@BundleMember(role = BundleMember.Role.Input)//
276+
public static final HostedOptionKey<LocatableMultiOptionValue.Paths> CLibraryPath = new HostedOptionKey<>(LocatableMultiOptionValue.Paths.buildWithCommaDelimiter());
275277

276278
@Option(help = "Path passed to the linker as the -rpath (list of comma-separated directories)")//
277-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> LinkerRPath = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated());
279+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> LinkerRPath = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.buildWithCommaDelimiter());
278280

279281
@Option(help = "Directory of the image file to be generated", type = OptionType.User)//
280282
public static final HostedOptionKey<String> Path = new HostedOptionKey<>(null);
@@ -364,11 +366,11 @@ public Boolean getValue(OptionValues values) {
364366

365367
@APIOption(name = "trace-class-initialization")//
366368
@Option(help = "Comma-separated list of fully-qualified class names that class initialization is traced for.")//
367-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> TraceClassInitialization = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated());
369+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> TraceClassInitialization = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.buildWithCommaDelimiter());
368370

369371
@APIOption(name = "trace-object-instantiation")//
370372
@Option(help = "Comma-separated list of fully-qualified class names that object instantiation is traced for.")//
371-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> TraceObjectInstantiation = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated());
373+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> TraceObjectInstantiation = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.buildWithCommaDelimiter());
372374

373375
@Option(help = "Trace all native tool invocations as part of image building", type = User)//
374376
public static final HostedOptionKey<Boolean> TraceNativeToolUsage = new HostedOptionKey<>(false);
@@ -383,10 +385,10 @@ public Boolean getValue(OptionValues values) {
383385
@APIOption(name = "enable-https", fixedValue = "https", customHelp = "enable https support in the generated image")//
384386
@APIOption(name = "enable-url-protocols")//
385387
@Option(help = "List of comma separated URL protocols to enable.")//
386-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> EnableURLProtocols = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated());
388+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> EnableURLProtocols = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.buildWithCommaDelimiter());
387389

388390
@Option(help = "List of comma separated URL protocols that must never be included.")//
389-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> DisableURLProtocols = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated());
391+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> DisableURLProtocols = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.buildWithCommaDelimiter());
390392

391393
@SuppressWarnings("unused") //
392394
@APIOption(name = "enable-all-security-services")//
@@ -503,7 +505,7 @@ public static long getTearDownFailureNanos() {
503505
public static final HostedOptionKey<Boolean> AOTTrivialInline = new HostedOptionKey<>(true);
504506

505507
@Option(help = "file:doc-files/NeverInlineHelp.txt", type = OptionType.Debug)//
506-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> NeverInline = new HostedOptionKey<>(new LocatableMultiOptionValue.Strings());
508+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> NeverInline = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.build());
507509

508510
@Option(help = "Maximum number of nodes in a method so that it is considered trivial.")//
509511
public static final HostedOptionKey<Integer> MaxNodesInTrivialMethod = new HostedOptionKey<>(20);
@@ -524,7 +526,7 @@ public static long getTearDownFailureNanos() {
524526
public static final HostedOptionKey<Boolean> UseCompressedFrameEncodings = new HostedOptionKey<>(true);
525527

526528
@Option(help = "Report error if <typename>[:<UsageKind>{,<UsageKind>}] is discovered during analysis (valid values for UsageKind: InHeap, Allocated, Reachable).", type = OptionType.Debug)//
527-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> ReportAnalysisForbiddenType = new HostedOptionKey<>(new LocatableMultiOptionValue.Strings());
529+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> ReportAnalysisForbiddenType = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.build());
528530

529531
@Option(help = "Backend used by the compiler", type = OptionType.User)//
530532
public static final HostedOptionKey<String> CompilerBackend = new HostedOptionKey<>("lir") {
@@ -591,7 +593,7 @@ public static boolean useLIRBackend() {
591593
public static final HostedOptionKey<String> CCompilerPath = new HostedOptionKey<>(null);
592594
@APIOption(name = "native-compiler-options")//
593595
@Option(help = "Provide custom C compiler option used for query code compilation.", type = OptionType.User)//
594-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> CCompilerOption = new HostedOptionKey<>(new LocatableMultiOptionValue.Strings());
596+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> CCompilerOption = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.build());
595597

596598
@Option(help = "Use strict checks when performing query code compilation.", type = OptionType.User)//
597599
public static final HostedOptionKey<Boolean> StrictQueryCodeCompilation = new HostedOptionKey<>(true);
@@ -653,7 +655,7 @@ public static void defaultDebugInfoValueUpdateHandler(EconomicMap<OptionKey<?>,
653655
}
654656

655657
@Option(help = "Search path for source files for Application or GraalVM classes (list of comma-separated directories or jar files)")//
656-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> DebugInfoSourceSearchPath = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated());
658+
public static final HostedOptionKey<LocatableMultiOptionValue.Paths> DebugInfoSourceSearchPath = new HostedOptionKey<>(LocatableMultiOptionValue.Paths.buildWithCommaDelimiter());
657659

658660
@Option(help = "Directory under which to create source file cache for Application or GraalVM classes")//
659661
public static final HostedOptionKey<String> DebugInfoSourceCacheRoot = new HostedOptionKey<>("sources");

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/VMInspectionOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public final class VMInspectionOptions {
5454
@APIOption(name = ENABLE_MONITORING_OPTION, defaultValue = MONITORING_ALL_NAME) //
5555
@Option(help = "Enable monitoring features that allow the VM to be inspected at run time. Comma-separated list can contain " + MONITORING_ALLOWED_VALUES + ". " +
5656
"For example: `--" + ENABLE_MONITORING_OPTION + "=" + MONITORING_HEAPDUMP_NAME + "," + MONITORING_JVMSTAT_NAME + "`.", type = OptionType.User) //
57-
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> EnableMonitoringFeatures = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.commaSeparated(),
57+
public static final HostedOptionKey<LocatableMultiOptionValue.Strings> EnableMonitoringFeatures = new HostedOptionKey<>(LocatableMultiOptionValue.Strings.buildWithCommaDelimiter(),
5858
VMInspectionOptions::validateEnableMonitoringFeatures);
5959

6060
public static void validateEnableMonitoringFeatures(OptionKey<?> optionKey) {

0 commit comments

Comments
 (0)