Change the name of the OptionsProvider class -> OptionsParsingResult. This is CL 1/3 in order to add a <code>getSkylarkOptions()</code> method to the top level OptionsProvider which is currently known as OptionsClassProvider. OptionsClassProvider will be renamed to OptionsProvider in CL 2/3 in this series to better reflect the fact that the class will be a more general options provider instead of specifically an options ~class~ provider. This requires changing the current OptionsProvider class to something else, which is what this CL is doing. PiperOrigin-RevId: 208885826
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java b/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java index e34830a..f857cc9 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java
@@ -90,7 +90,7 @@ import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import com.google.devtools.common.options.OptionsBase; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Map; @@ -187,7 +187,7 @@ } @Override - public void serverInit(OptionsProvider startupOptions, ServerBuilder builder) { + public void serverInit(OptionsParsingResult startupOptions, ServerBuilder builder) { builder.addCommands(new FetchCommand()); builder.addCommands(new SyncCommand()); builder.addInfoItems(new RepositoryCacheInfoItem(repositoryCache));
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java index 202a29b..60fe650 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java
@@ -37,7 +37,7 @@ import com.google.devtools.build.lib.util.AbruptExitException; import com.google.devtools.build.lib.util.ExitCode; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.util.EnumSet; @@ -61,7 +61,7 @@ public void editOptions(OptionsParser optionsParser) { } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { BlazeRuntime runtime = env.getRuntime(); if (options.getResidue().isEmpty()) { env.getReporter().handle(Event.error(String.format(
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java index 3ea7364..1f4cf12 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java
@@ -39,7 +39,7 @@ import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** Syncs all repositories specifed in the workspace file */ @Command( @@ -63,7 +63,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { try { env.setupPackageCache(options, env.getRuntime().getDefaultsPackageContent()); SkyframeExecutor skyframeExecutor = env.getSkyframeExecutor();
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java index e31d00c..20a5446 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java
@@ -44,7 +44,7 @@ import com.google.devtools.build.lib.util.io.OutErr; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.util.Set; import java.util.logging.Logger; @@ -147,8 +147,8 @@ @Nullable @VisibleForTesting BuildEventStreamer tryCreateStreamer( - OptionsProvider startupOptionsProvider, - OptionsProvider optionsProvider, + OptionsParsingResult startupOptionsProvider, + OptionsParsingResult optionsProvider, EventHandler commandLineReporter, ModuleEnvironment moduleEnvironment, Clock clock, @@ -216,8 +216,8 @@ Clock clock, BuildEventArtifactUploaderFactoryMap buildEventArtifactUploaderFactoryMap, EventHandler commandLineReporter, - OptionsProvider startupOptionsProvider, - OptionsProvider optionsProvider) + OptionsParsingResult startupOptionsProvider, + OptionsParsingResult optionsProvider) throws IOException, OptionsParsingException { T besOptions = checkNotNull( @@ -300,7 +300,8 @@ protected abstract Set<String> whitelistedCommands(); - protected Set<String> keywords(T besOptions, @Nullable OptionsProvider startupOptionsProvider) { + protected Set<String> keywords( + T besOptions, @Nullable OptionsParsingResult startupOptionsProvider) { return besOptions .besKeywords .stream()
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEventArtifactUploaderFactory.java b/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEventArtifactUploaderFactory.java index 66b55e6..9c62a8d 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEventArtifactUploaderFactory.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEventArtifactUploaderFactory.java
@@ -16,18 +16,18 @@ import static com.google.devtools.build.lib.buildeventstream.BuildEventArtifactUploader.LOCAL_FILES_UPLOADER; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** A factory for {@link BuildEventArtifactUploader}. */ public interface BuildEventArtifactUploaderFactory { BuildEventArtifactUploaderFactory LOCAL_FILES_UPLOADER_FACTORY = - (OptionsProvider options) -> LOCAL_FILES_UPLOADER; + (OptionsParsingResult options) -> LOCAL_FILES_UPLOADER; /** * Returns a new instance of a {@link BuildEventArtifactUploader}. The call is responsible for * calling {@link BuildEventArtifactUploader#shutdown()} on the returned instance. */ - BuildEventArtifactUploader create(OptionsProvider options); + BuildEventArtifactUploader create(OptionsParsingResult options); }
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BuildEventTransportFactory.java b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BuildEventTransportFactory.java index cafc20a..57d312e 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BuildEventTransportFactory.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BuildEventTransportFactory.java
@@ -23,7 +23,7 @@ import com.google.devtools.build.lib.buildeventstream.BuildEventProtocolOptions; import com.google.devtools.build.lib.buildeventstream.BuildEventTransport; import com.google.devtools.build.lib.util.AbruptExitException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.util.function.Consumer; @@ -107,7 +107,7 @@ * @throws IOException Exception propagated from a {@link BuildEventTransport} creation failure. */ public static ImmutableSet<BuildEventTransport> createFromOptions( - OptionsProvider options, + OptionsParsingResult options, BuildEventArtifactUploaderFactoryMap artifactUploaders, Consumer<AbruptExitException> exitFunc) throws IOException {
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java index 02a99e7..6599396 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
@@ -35,7 +35,7 @@ import com.google.devtools.build.lib.util.io.OutErr; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsClassProvider; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -83,8 +83,8 @@ LoadingPhaseThreadsOption.class); private BuildRequest(String commandName, - final OptionsProvider options, - final OptionsProvider startupOptions, + final OptionsParsingResult options, + final OptionsParsingResult startupOptions, List<String> targets, OutErr outErr, UUID id, @@ -301,8 +301,8 @@ return ImmutableList.copyOf(getBuildOptions().aspects); } - public static BuildRequest create(String commandName, OptionsProvider options, - OptionsProvider startupOptions, + public static BuildRequest create(String commandName, OptionsParsingResult options, + OptionsParsingResult startupOptions, List<String> targets, OutErr outErr, UUID commandId, long commandStartTime) { BuildRequest request = new BuildRequest(commandName, options, startupOptions, targets, outErr,
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/memory/AllocationTrackerModule.java b/src/main/java/com/google/devtools/build/lib/profiler/memory/AllocationTrackerModule.java index 72f1fe1..f3ebbef 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/memory/AllocationTrackerModule.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/memory/AllocationTrackerModule.java
@@ -23,7 +23,7 @@ import com.google.devtools.build.lib.runtime.WorkspaceBuilder; import com.google.devtools.build.lib.syntax.Callstack; import com.google.devtools.build.lib.vfs.FileSystem; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.UUID; /** @@ -55,7 +55,7 @@ @Override public void blazeStartup( - OptionsProvider startupOptions, + OptionsParsingResult startupOptions, BlazeVersionInfo versionInfo, UUID instanceId, FileSystem fileSystem,
diff --git a/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploaderFactory.java b/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploaderFactory.java index be43302..39d7537 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploaderFactory.java +++ b/src/main/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploaderFactory.java
@@ -15,7 +15,7 @@ import com.google.devtools.build.lib.buildeventstream.BuildEventArtifactUploader; import com.google.devtools.build.lib.buildeventstream.BuildEventArtifactUploaderFactory; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import io.grpc.Context; import javax.annotation.Nullable; @@ -40,7 +40,7 @@ } @Override - public BuildEventArtifactUploader create(OptionsProvider options) { + public BuildEventArtifactUploader create(OptionsParsingResult options) { return new ByteStreamBuildEventArtifactUploader(uploader.retain(), remoteServerName, ctx, remoteInstanceName); }
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java index 14f373e..ff7bbac 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java +++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
@@ -40,7 +40,7 @@ import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.common.options.OptionsBase; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import com.google.protobuf.Any; import com.google.protobuf.InvalidProtocolBufferException; import com.google.rpc.PreconditionFailure; @@ -71,7 +71,7 @@ buildEventArtifactUploaderFactoryDelegate = new BuildEventArtifactUploaderFactoryDelegate(); @Override - public void serverInit(OptionsProvider startupOptions, ServerBuilder builder) { + public void serverInit(OptionsParsingResult startupOptions, ServerBuilder builder) { builder.addBuildEventArtifactUploaderFactory(buildEventArtifactUploaderFactoryDelegate, "remote"); } @@ -310,7 +310,7 @@ } @Override - public BuildEventArtifactUploader create(OptionsProvider options) { + public BuildEventArtifactUploader create(OptionsParsingResult options) { BuildEventArtifactUploaderFactory uploaderFactory0 = this.uploaderFactory; if (uploaderFactory0 == null) { return BuildEventArtifactUploader.LOCAL_FILES_UPLOADER;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BazelFileSystemModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BazelFileSystemModule.java index 9e57bf8..db26f14 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BazelFileSystemModule.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BazelFileSystemModule.java
@@ -25,7 +25,7 @@ import com.google.devtools.build.lib.vfs.JavaIoFileSystem; import com.google.devtools.build.lib.windows.WindowsFileSystem; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** * Module to provide a {@link FileSystem} instance that uses {@code SHA256} as the default hash @@ -36,7 +36,7 @@ public class BazelFileSystemModule extends BlazeModule { @Override - public void globalInit(OptionsProvider startupOptionsProvider) throws AbruptExitException { + public void globalInit(OptionsParsingResult startupOptionsProvider) throws AbruptExitException { BlazeServerStartupOptions startupOptions = Preconditions.checkNotNull( startupOptionsProvider.getOptions(BlazeServerStartupOptions.class)); @@ -60,7 +60,7 @@ } @Override - public FileSystem getFileSystem(OptionsProvider startupOptions) { + public FileSystem getFileSystem(OptionsParsingResult startupOptions) { if ("0".equals(System.getProperty("io.bazel.EnableJni"))) { // Ignore UnixFileSystem, to be used for bootstrapping. return OS.getCurrent() == OS.WINDOWS ? new WindowsFileSystem() : new JavaIoFileSystem();
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommand.java index f1ffeec..80a64a7 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommand.java
@@ -14,19 +14,19 @@ package com.google.devtools.build.lib.runtime; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** - * Interface implemented by Blaze commands. In addition to implementing this interface, each - * command must be annotated with a {@link Command} annotation. + * Interface implemented by Blaze commands. In addition to implementing this interface, each command + * must be annotated with a {@link Command} annotation. */ public interface BlazeCommand { /** - * This method provides the imperative portion of the command. It takes a {@link OptionsProvider} - * instance {@code options}, which provides access to the options instances via {@link - * OptionsProvider#getOptions(Class)}, and access to the residue (the remainder of the command - * line) via {@link OptionsProvider#getResidue()}. The framework parses and makes available - * exactly the options that the command class specifies via the annotation {@link + * This method provides the imperative portion of the command. It takes a {@link + * OptionsParsingResult} instance {@code options}, which provides access to the options instances + * via {@link OptionsParsingResult#getOptions(Class)}, and access to the residue (the remainder of + * the command line) via {@link OptionsParsingResult#getResidue()}. The framework parses and makes + * available exactly the options that the command class specifies via the annotation {@link * Command#options()}. The command indicates success / failure via its return value, which becomes * the Unix exit status of the Blaze client process. It may indicate that the server needs to be * shut down or that a particular binary needs to be exec()ed on the terminal where Blaze was @@ -37,12 +37,11 @@ * in {@link Command#options()}. * @return The Unix exit status for the Blaze client. */ - BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options); + BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options); /** - * Allows the command to provide command-specific option defaults and/or - * requirements. This method is called after all command-line and rc file options have been - * parsed. + * Allows the command to provide command-specific option defaults and/or requirements. This method + * is called after all command-line and rc file options have been parsed. * * @param optionsParser the options parser for the current command */
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java index 70ae168..99bbd81 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java
@@ -47,7 +47,7 @@ import com.google.devtools.common.options.OpaqueOptionsData; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -252,7 +252,7 @@ createOptionsParser(command), invocationPolicy); ExitCode earlyExitCode = optionHandler.parseOptions(args, storedEventHandler); - OptionsProvider options = optionHandler.getOptionsResult(); + OptionsParsingResult options = optionHandler.getOptionsResult(); CommandLineEvent originalCommandLineEvent = new CommandLineEvent.OriginalCommandLineEvent(
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java index 5f2bb66..806ca40 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
@@ -37,7 +37,7 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsClassProvider; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.util.UUID; import javax.annotation.Nullable; @@ -70,7 +70,7 @@ * * @throws AbruptExitException to shut down the server immediately */ - public void globalInit(OptionsProvider startupOptions) throws AbruptExitException { + public void globalInit(OptionsParsingResult startupOptions) throws AbruptExitException { } /** @@ -82,7 +82,7 @@ * * @param startupOptions the server's startup options */ - public FileSystem getFileSystem(OptionsProvider startupOptions) throws AbruptExitException { + public FileSystem getFileSystem(OptionsParsingResult startupOptions) throws AbruptExitException { return null; } @@ -99,7 +99,7 @@ * @throws AbruptExitException to shut down the server immediately */ public void blazeStartup( - OptionsProvider startupOptions, + OptionsParsingResult startupOptions, BlazeVersionInfo versionInfo, UUID instanceId, FileSystem fileSystem, @@ -117,7 +117,7 @@ * * @throws AbruptExitException to shut down the server immediately */ - public void serverInit(OptionsProvider startupOptions, ServerBuilder builder) + public void serverInit(OptionsParsingResult startupOptions, ServerBuilder builder) throws AbruptExitException { } @@ -148,13 +148,13 @@ /** * Called to notify modules that the given command is about to be executed. This allows capturing - * the {@link com.google.common.eventbus.EventBus}, {@link Command}, or {@link OptionsProvider}. + * the {@link com.google.common.eventbus.EventBus}, {@link Command}, or {@link + * OptionsParsingResult}. * * @param env the command * @throws AbruptExitException modules can throw this exception to abort the command */ - public void beforeCommand(CommandEnvironment env) throws AbruptExitException { - } + public void beforeCommand(CommandEnvironment env) throws AbruptExitException {} /** * Returns additional listeners to the console output stream. Called at the beginning of each
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java index 4b344ab..733ef84 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
@@ -33,7 +33,7 @@ import com.google.devtools.common.options.OptionValueDescription; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import com.google.devtools.common.options.ParsedOptionDescription; import java.io.IOException; import java.util.ArrayList; @@ -84,9 +84,11 @@ this.invocationPolicy = invocationPolicy; } - // Return options as OptionsProvider so the options can't be easily modified after we've - // applied the invocation policy. - OptionsProvider getOptionsResult() { + /** + * Return options as {@link OptionsParsingResult} so the options can't be easily modified after + * we've applied the invocation policy. + */ + OptionsParsingResult getOptionsResult() { return optionsParser; }
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java index 5e052a2..f0a7c17 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
@@ -87,7 +87,7 @@ import com.google.devtools.common.options.OptionsClassProvider; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import com.google.devtools.common.options.TriState; import java.io.File; import java.io.IOException; @@ -149,7 +149,7 @@ private final AtomicInteger storedExitCode = new AtomicInteger(); // We pass this through here to make it available to the MasterLogWriter. - private final OptionsProvider startupOptionsProvider; + private final OptionsParsingResult startupOptionsProvider; private final ProjectFile.Provider projectFileProvider; @Nullable private final InvocationPolicy moduleInvocationPolicy; @@ -174,7 +174,7 @@ ActionKeyContext actionKeyContext, Clock clock, Runnable abruptShutdownHandler, - OptionsProvider startupOptionsProvider, + OptionsParsingResult startupOptionsProvider, Iterable<BlazeModule> blazeModules, SubscriberExceptionHandler eventBusExceptionHandler, ProjectFile.Provider projectFileProvider, @@ -559,7 +559,7 @@ return clock; } - public OptionsProvider getStartupOptionsProvider() { + public OptionsParsingResult getStartupOptionsProvider() { return startupOptionsProvider; } @@ -989,7 +989,7 @@ * parser can set the source for every option correctly. If that cannot be parsed or is missing, * we just report an unknown source for every startup option. */ - private static OptionsProvider parseStartupOptions( + private static OptionsParsingResult parseStartupOptions( Iterable<BlazeModule> modules, List<String> args) throws OptionsParsingException { ImmutableList<Class<? extends OptionsBase>> optionClasses = BlazeCommandUtils.getStartupOptions(modules); @@ -1031,7 +1031,7 @@ private static BlazeRuntime newRuntime(Iterable<BlazeModule> blazeModules, List<String> args, Runnable abruptShutdownHandler) throws AbruptExitException, OptionsParsingException { - OptionsProvider options = parseStartupOptions(blazeModules, args); + OptionsParsingResult options = parseStartupOptions(blazeModules, args); for (BlazeModule module : blazeModules) { module.globalInit(options); } @@ -1283,7 +1283,7 @@ private ServerDirectories serverDirectories; private Clock clock; private Runnable abruptShutdownHandler; - private OptionsProvider startupOptionsProvider; + private OptionsParsingResult startupOptionsProvider; private final List<BlazeModule> blazeModules = new ArrayList<>(); private SubscriberExceptionHandler eventBusExceptionHandler = new RemoteExceptionHandler(); private UUID instanceId; @@ -1402,7 +1402,7 @@ return this; } - public Builder setStartupOptionsProvider(OptionsProvider startupOptionsProvider) { + public Builder setStartupOptionsProvider(OptionsParsingResult startupOptionsProvider) { this.startupOptionsProvider = startupOptionsProvider; return this; }
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeWorkspace.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeWorkspace.java index 608bb96..54d04cf 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeWorkspace.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeWorkspace.java
@@ -34,7 +34,7 @@ import com.google.devtools.build.lib.util.LoggingUtil; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.util.List; import java.util.logging.Level; @@ -195,7 +195,7 @@ * fully configured at this point. */ public CommandEnvironment initCommand( - Command command, OptionsProvider options, List<String> warnings) { + Command command, OptionsParsingResult options, List<String> warnings) { CommandEnvironment env = new CommandEnvironment( runtime,
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BuiltinCommandModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BuiltinCommandModule.java index 63896d3c..48b4c0b 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BuiltinCommandModule.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BuiltinCommandModule.java
@@ -30,7 +30,7 @@ import com.google.devtools.build.lib.runtime.commands.ShutdownCommand; import com.google.devtools.build.lib.runtime.commands.TestCommand; import com.google.devtools.build.lib.runtime.commands.VersionCommand; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** * Internal module for the built-in commands. @@ -43,7 +43,7 @@ } @Override - public void serverInit(OptionsProvider startupOptions, ServerBuilder builder) { + public void serverInit(OptionsParsingResult startupOptions, ServerBuilder builder) { builder.addCommands( new BuildCommand(), new CanonicalizeCommand(),
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java index 46aa72b..9b0d784 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
@@ -46,7 +46,7 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.common.options.OptionsClassProvider; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.util.Collections; import java.util.List; @@ -79,7 +79,7 @@ private final TimestampGranularityMonitor timestampGranularityMonitor; private final Thread commandThread; private final Command command; - private final OptionsProvider options; + private final OptionsParsingResult options; private String[] crashData; @@ -123,7 +123,7 @@ EventBus eventBus, Thread commandThread, Command command, - OptionsProvider options, + OptionsParsingResult options, List<String> warnings) { this.runtime = runtime; this.workspace = workspace; @@ -229,7 +229,7 @@ return command.name(); } - public OptionsProvider getOptions() { + public OptionsParsingResult getOptions() { return options; } @@ -561,7 +561,7 @@ * @throws AbruptExitException if this command is unsuitable to be run as specified */ void beforeCommand( - OptionsProvider options, + OptionsParsingResult options, CommonCommandOptions commonOptions, long waitTimeInMs, InvocationPolicy invocationPolicy)
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java index adc9b5a..5eff056 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java
@@ -34,7 +34,7 @@ import com.google.devtools.common.options.OptionPriority; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import com.google.devtools.common.options.ParsedOptionDescription; import com.google.devtools.common.options.proto.OptionFilters; import com.google.protobuf.InvalidProtocolBufferException; @@ -61,15 +61,15 @@ /** A CommandLineEvent that stores functions and values common to both Bazel command lines. */ public abstract static class BazelCommandLineEvent extends CommandLineEvent { protected final String productName; - protected final OptionsProvider activeStartupOptions; + protected final OptionsParsingResult activeStartupOptions; protected final String commandName; - protected final OptionsProvider commandOptions; + protected final OptionsParsingResult commandOptions; BazelCommandLineEvent( String productName, - OptionsProvider activeStartupOptions, + OptionsParsingResult activeStartupOptions, String commandName, - OptionsProvider commandOptions) { + OptionsParsingResult commandOptions) { this.productName = productName; this.activeStartupOptions = activeStartupOptions; this.commandName = commandName; @@ -187,7 +187,7 @@ public OriginalCommandLineEvent( BlazeRuntime runtime, String commandName, - OptionsProvider commandOptions, + OptionsParsingResult commandOptions, Optional<List<Pair<String, String>>> originalStartupOptions) { this( runtime.getProductName(), @@ -200,9 +200,9 @@ @VisibleForTesting OriginalCommandLineEvent( String productName, - OptionsProvider activeStartupOptions, + OptionsParsingResult activeStartupOptions, String commandName, - OptionsProvider commandOptions, + OptionsParsingResult commandOptions, Optional<List<Pair<String, String>>> originalStartupOptions) { super(productName, activeStartupOptions, commandName, commandOptions); this.originalStartupOptions = originalStartupOptions; @@ -280,7 +280,7 @@ public static final String LABEL = "canonical"; public CanonicalCommandLineEvent( - BlazeRuntime runtime, String commandName, OptionsProvider commandOptions) { + BlazeRuntime runtime, String commandName, OptionsParsingResult commandOptions) { this( runtime.getProductName(), runtime.getStartupOptionsProvider(), @@ -291,9 +291,9 @@ @VisibleForTesting CanonicalCommandLineEvent( String productName, - OptionsProvider activeStartupOptions, + OptionsParsingResult activeStartupOptions, String commandName, - OptionsProvider commandOptions) { + OptionsParsingResult commandOptions) { super(productName, activeStartupOptions, commandName, commandOptions); }
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandLogModule.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandLogModule.java index e0b3b60..a5ef728 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/CommandLogModule.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandLogModule.java
@@ -22,7 +22,7 @@ import com.google.devtools.build.lib.util.LoggingUtil; import com.google.devtools.build.lib.util.io.OutErr; import com.google.devtools.build.lib.vfs.Path; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.io.OutputStream; import java.util.logging.Level; @@ -33,7 +33,7 @@ private OutputStream logOutputStream; @Override - public void serverInit(OptionsProvider startupOptions, ServerBuilder builder) { + public void serverInit(OptionsParsingResult startupOptions, ServerBuilder builder) { builder.addInfoItems(new CommandLogInfoItem()); } @@ -64,7 +64,7 @@ } static boolean writeCommandLog(BlazeRuntime runtime) { - OptionsProvider startupOptionsProvider = runtime.getStartupOptionsProvider(); + OptionsParsingResult startupOptionsProvider = runtime.getStartupOptionsProvider(); return startupOptionsProvider.getOptions(BlazeServerStartupOptions.class).writeCommandLog; }
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/GotOptionsEvent.java b/src/main/java/com/google/devtools/build/lib/runtime/GotOptionsEvent.java index 00eee34..7acbc16 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/GotOptionsEvent.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/GotOptionsEvent.java
@@ -22,15 +22,15 @@ import com.google.devtools.build.lib.buildeventstream.GenericBuildEvent; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; import com.google.devtools.build.lib.util.OptionsUtils; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.Collection; import java.util.Objects; /** An event in which the command line options are discovered. */ public class GotOptionsEvent implements BuildEventWithOrderConstraint { - private final OptionsProvider startupOptions; - private final OptionsProvider options; + private final OptionsParsingResult startupOptions; + private final OptionsParsingResult options; private final InvocationPolicy invocationPolicy; /** @@ -40,23 +40,21 @@ * @param options the parsed options */ public GotOptionsEvent( - OptionsProvider startupOptions, OptionsProvider options, InvocationPolicy invocationPolicy) { + OptionsParsingResult startupOptions, + OptionsParsingResult options, + InvocationPolicy invocationPolicy) { this.startupOptions = startupOptions; this.options = options; this.invocationPolicy = invocationPolicy; } - /** - * @return the parsed startup options - */ - public OptionsProvider getStartupOptions() { + /** @return the parsed startup options */ + public OptionsParsingResult getStartupOptions() { return startupOptions; } - /** - * @return the parsed options. - */ - public OptionsProvider getOptions() { + /** @return the parsed options. */ + public OptionsParsingResult getOptions() { return options; } @@ -80,7 +78,7 @@ BuildEventStreamProtos.OptionsParsed.Builder optionsBuilder = BuildEventStreamProtos.OptionsParsed.newBuilder(); - OptionsProvider options = getStartupOptions(); + OptionsParsingResult options = getStartupOptions(); optionsBuilder.addAllStartupOptions(OptionsUtils.asArgumentList(options)); optionsBuilder.addAllExplicitStartupOptions( OptionsUtils.asArgumentList(
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/TerminalTestResultNotifier.java b/src/main/java/com/google/devtools/build/lib/runtime/TerminalTestResultNotifier.java index 320cc54..74e041b 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/TerminalTestResultNotifier.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/TerminalTestResultNotifier.java
@@ -26,7 +26,7 @@ import com.google.devtools.common.options.OptionDocumentationCategory; import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionsBase; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -76,13 +76,13 @@ } private final AnsiTerminalPrinter printer; - private final OptionsProvider options; + private final OptionsParsingResult options; private final TestSummaryOptions summaryOptions; /** * @param printer The terminal to print to */ - public TerminalTestResultNotifier(AnsiTerminalPrinter printer, OptionsProvider options) { + public TerminalTestResultNotifier(AnsiTerminalPrinter printer, OptionsParsingResult options) { this.printer = printer; this.options = options; this.summaryOptions = options.getOptions(TestSummaryOptions.class);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java index ec8ca19..1e8b991 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java
@@ -33,7 +33,7 @@ import com.google.devtools.common.options.OptionPriority.PriorityCategory; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashSet; @@ -66,7 +66,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { // TODO(twerth): Reduce overlap with CqueryCommand. env.getReporter() .handle(
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/BuildCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/BuildCommand.java index b217e93..d2c5471 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/BuildCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/BuildCommand.java
@@ -32,7 +32,7 @@ import com.google.devtools.build.lib.runtime.LoadingPhaseThreadsOption; import com.google.devtools.build.lib.util.ExitCode; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.List; /** @@ -65,7 +65,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { BlazeRuntime runtime = env.getRuntime(); List<String> targets; try (SilentCloseable closeable = Profiler.instance().profile("ProjectFileSupport.getTargets")) {
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java index f181c0b..bdd9894 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java
@@ -32,7 +32,7 @@ import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.Collection; import java.util.List; import java.util.logging.Level; @@ -127,7 +127,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { BlazeRuntime runtime = env.getRuntime(); Options canonicalizeOptions = options.getOptions(Options.class); String commandName = canonicalizeOptions.forCommand;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java index d848d47..8b42274 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java
@@ -36,7 +36,7 @@ import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.FileDescriptor; import java.io.FileOutputStream; import java.io.IOException; @@ -99,14 +99,14 @@ /** Posted on the public event stream to announce that a clean is happening. */ public static class CleanStartingEvent { - private final OptionsProvider optionsProvider; + private final OptionsParsingResult optionsParsingResult; - public CleanStartingEvent(OptionsProvider optionsProvider) { - this.optionsProvider = optionsProvider; + public CleanStartingEvent(OptionsParsingResult optionsParsingResult) { + this.optionsParsingResult = optionsParsingResult; } - public OptionsProvider getOptionsProvider() { - return optionsProvider; + public OptionsParsingResult getOptionsProvider() { + return optionsParsingResult; } } @@ -124,7 +124,7 @@ private static final Logger logger = Logger.getLogger(CleanCommand.class.getName()); @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { Options cleanOptions = options.getOptions(Options.class); boolean async = cleanOptions.async; env.getEventBus().post(new NoBuildEvent());
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java index 9574e58..131ce46 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java
@@ -33,7 +33,7 @@ import com.google.devtools.common.options.OptionPriority.PriorityCategory; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashSet; @@ -76,7 +76,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { if (options.getResidue().isEmpty()) { env.getReporter() .handle(
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/DumpCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/DumpCommand.java index a396c80..ece5e19 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/DumpCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/DumpCommand.java
@@ -42,7 +42,7 @@ import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; @@ -187,7 +187,7 @@ public void editOptions(OptionsParser optionsParser) {} @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { BlazeRuntime runtime = env.getRuntime(); DumpOptions dumpOptions = options.getOptions(DumpOptions.class);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java index acd43a0..16d2d75 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java
@@ -50,7 +50,7 @@ import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParser.HelpVerbosity; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.ArrayList; import java.util.Base64; import java.util.Collections; @@ -121,7 +121,7 @@ public void editOptions(OptionsParser optionsParser) {} @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { env.getEventBus().post(new NoBuildEvent()); BlazeRuntime runtime = env.getRuntime();
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java index b2e2ec5..5e65c97 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java
@@ -35,7 +35,7 @@ import com.google.devtools.common.options.OptionMetadataTag; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.List; @@ -112,10 +112,10 @@ @Override public BlazeCommandResult exec( - final CommandEnvironment env, final OptionsProvider optionsProvider) { + final CommandEnvironment env, final OptionsParsingResult optionsParsingResult) { final BlazeRuntime runtime = env.getRuntime(); env.getReporter().switchToAnsiAllowingHandler(); - Options infoOptions = optionsProvider.getOptions(Options.class); + Options infoOptions = optionsParsingResult.getOptions(Options.class); OutErr outErr = env.getReporter().getOutErr(); // Creating a BuildConfiguration is expensive and often unnecessary. Delay the creation until // it is needed. We memoize so that it's cached intra-command (it's still created freshly on @@ -128,14 +128,14 @@ // the package path. Since info inherits all the build options, all the necessary // information is available here. env.setupPackageCache( - optionsProvider, runtime.getDefaultsPackageContent(optionsProvider)); + optionsParsingResult, runtime.getDefaultsPackageContent(optionsParsingResult)); env.getSkyframeExecutor() .setConfigurationFragmentFactories(runtime.getConfigurationFragmentFactories()); // TODO(bazel-team): What if there are multiple configurations? [multi-config] return env.getSkyframeExecutor() .getConfiguration( env.getReporter(), - runtime.createBuildOptions(optionsProvider), + runtime.createBuildOptions(optionsParsingResult), /*keepGoing=*/ true); } catch (InvalidConfigurationException e) { env.getReporter().handle(Event.error(e.getMessage())); @@ -149,7 +149,7 @@ } }); - Map<String, InfoItem> items = getInfoItemMap(env, optionsProvider); + Map<String, InfoItem> items = getInfoItemMap(env, optionsParsingResult); try { if (infoOptions.showMakeEnvironment) { @@ -160,7 +160,7 @@ } } - List<String> residue = optionsProvider.getResidue(); + List<String> residue = optionsParsingResult.getResidue(); if (residue.size() > 1) { env.getReporter().handle(Event.error("at most one key may be specified")); return BlazeCommandResult.exitCode(ExitCode.COMMAND_LINE_ERROR); @@ -206,7 +206,7 @@ return BlazeCommandResult.exitCode(ExitCode.SUCCESS); } - static Map<String, InfoItem> getHardwiredInfoItemMap(OptionsProvider commandOptions, + static Map<String, InfoItem> getHardwiredInfoItemMap(OptionsParsingResult commandOptions, String productName) { List<InfoItem> hardwiredInfoItems = ImmutableList.<InfoItem>of( @@ -251,9 +251,9 @@ } static Map<String, InfoItem> getInfoItemMap( - CommandEnvironment env, OptionsProvider optionsProvider) { + CommandEnvironment env, OptionsParsingResult optionsParsingResult) { Map<String, InfoItem> items = new TreeMap<>(env.getRuntime().getInfoItems()); - items.putAll(getHardwiredInfoItemMap(optionsProvider, env.getRuntime().getProductName())); + items.putAll(getHardwiredInfoItemMap(optionsParsingResult, env.getRuntime().getProductName())); return items; } }
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoItem.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoItem.java index 004335d..b209a5d0 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoItem.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoItem.java
@@ -38,7 +38,7 @@ import com.google.devtools.build.lib.util.ProcessUtils; import com.google.devtools.build.lib.util.StringUtilities; import com.google.devtools.build.lib.vfs.Path; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.ByteArrayOutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; @@ -308,9 +308,9 @@ * Info item for package_path */ public static final class PackagePathInfoItem extends InfoItem { - private final OptionsProvider commandOptions; + private final OptionsParsingResult commandOptions; - public PackagePathInfoItem(OptionsProvider commandOptions) { + public PackagePathInfoItem(OptionsParsingResult commandOptions) { super("package_path", "The search path for resolving package labels.", false); @@ -659,9 +659,9 @@ */ @Deprecated public static final class DefaultPackagePathInfoItem extends InfoItem { - private final OptionsProvider commandOptions; + private final OptionsParsingResult commandOptions; - public DefaultPackagePathInfoItem(OptionsProvider commandOptions) { + public DefaultPackagePathInfoItem(OptionsParsingResult commandOptions) { super("default-package-path", "The default package path", true);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java index a7ca2c6..d181bd2 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java
@@ -23,7 +23,7 @@ import com.google.devtools.build.lib.util.ResourceFileLoader; import com.google.devtools.build.lib.util.io.OutErr; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.io.UncheckedIOException; import java.nio.file.FileVisitResult; @@ -50,7 +50,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { env.getEventBus().post(new NoBuildEvent()); OutErr outErr = env.getReporter().getOutErr();
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java index 46507cc..b7ea9f4 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java
@@ -57,7 +57,7 @@ import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import com.google.protobuf.TextFormat; import java.util.ArrayList; import java.util.LinkedHashSet; @@ -100,7 +100,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { LoadingOptions loadingOptions = options.getOptions(LoadingOptions.class); @@ -117,15 +117,19 @@ */ private class PrintActionRunner { private final boolean compileOneDependency; - private final OptionsProvider options; + private final OptionsParsingResult options; private final OutErr outErr; private final List<String> requestedTargets; private final boolean keepGoing; private final ExtraActionSummary.Builder summaryBuilder; private final Predicate<ActionAnalysisMetadata> actionMnemonicMatcher; - public PrintActionRunner(boolean compileOneDependency, OptionsProvider options, OutErr outErr, - List<String> requestedTargets, final Set<String> printActionMnemonics) { + public PrintActionRunner( + boolean compileOneDependency, + OptionsParsingResult options, + OutErr outErr, + List<String> requestedTargets, + final Set<String> printActionMnemonics) { this.compileOneDependency = compileOneDependency; this.options = options; this.outErr = outErr;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProfileCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/ProfileCommand.java index 971bd90..8590ea4 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProfileCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/ProfileCommand.java
@@ -43,7 +43,7 @@ import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.PrintStream; @@ -213,7 +213,7 @@ public void editOptions(OptionsParser optionsParser) {} @Override - public BlazeCommandResult exec(final CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(final CommandEnvironment env, OptionsParsingResult options) { ProfileOptions opts = options.getOptions(ProfileOptions.class);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java index d4d54b7..39701de 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java
@@ -27,7 +27,7 @@ import com.google.devtools.common.options.OptionPriority.PriorityCategory; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.List; /** @@ -89,7 +89,7 @@ * process it. */ public static List<String> getTargets( - ProjectFile.Provider projectFileProvider, OptionsProvider options) { + ProjectFile.Provider projectFileProvider, OptionsParsingResult options) { List<String> targets = options.getResidue(); if (projectFileProvider != null && !targets.isEmpty() && targets.get(0).startsWith(PROJECT_FILE_PREFIX)) {
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/QueryCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/QueryCommand.java index ae80554..659d6c5 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/QueryCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/QueryCommand.java
@@ -50,7 +50,7 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.skyframe.WalkableGraph; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -89,7 +89,7 @@ * (only when --keep_going is in effect.) */ @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { BlazeRuntime runtime = env.getRuntime(); QueryOptions queryOptions = options.getOptions(QueryOptions.class);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java index 67a00b6..be09a8b 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java
@@ -77,7 +77,7 @@ import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import com.google.protobuf.ByteString; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -233,7 +233,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { RunOptions runOptions = options.getOptions(RunOptions.class); // This list should look like: ["//executable:target", "arg1", "arg2"] List<String> targetAndArgs = options.getResidue();
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/ShutdownCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/ShutdownCommand.java index 2047679..f6b6c50 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/ShutdownCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/ShutdownCommand.java
@@ -23,7 +23,7 @@ import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** * The 'blaze shutdown' command. @@ -55,7 +55,7 @@ public void editOptions(OptionsParser optionsParser) {} @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { int limit = options.getOptions(Options.class).heapSizeLimit; // Iff limit is non-zero, shut down the server if total memory exceeds the
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java index 5887aa5..1c380f9 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java
@@ -42,7 +42,7 @@ import com.google.devtools.common.options.OptionPriority.PriorityCategory; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.Collection; import java.util.List; @@ -82,7 +82,7 @@ } @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { TestOutputFormat testOutput = options.getOptions(ExecutionOptions.class).testOutput; if (testOutput == TestStrategy.TestOutputFormat.STREAMED) { env.getReporter().handle(Event.warn( @@ -107,7 +107,7 @@ } private BlazeCommandResult doTest(CommandEnvironment env, - OptionsProvider options, + OptionsParsingResult options, AggregatingTestListener testListener) { BlazeRuntime runtime = env.getRuntime(); // Run simultaneous build and test. @@ -176,7 +176,7 @@ private boolean analyzeTestResults(Collection<ConfiguredTarget> testTargets, Collection<ConfiguredTarget> skippedTargets, AggregatingTestListener listener, - OptionsProvider options) { + OptionsParsingResult options) { TestResultNotifier notifier = new TerminalTestResultNotifier(printer, options); return listener.getAnalyzer().differentialAnalyzeAndReport( testTargets, skippedTargets, listener, notifier);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/VersionCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/VersionCommand.java index 729c3b7..ce0b18f 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/VersionCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/VersionCommand.java
@@ -22,7 +22,7 @@ import com.google.devtools.build.lib.runtime.CommandEnvironment; import com.google.devtools.build.lib.util.ExitCode; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** * The 'blaze version' command, which informs users about the blaze version @@ -39,7 +39,7 @@ public void editOptions(OptionsParser optionsParser) {} @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { BlazeVersionInfo info = BlazeVersionInfo.instance(); if (info.getSummary() == null) { env.getReporter().handle(Event.error("Version information not available"));
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java index e5a3329..3b61fb4 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java
@@ -51,7 +51,7 @@ import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -141,7 +141,7 @@ private static final String NO_TARGET_MESSAGE = "No targets found to run"; @Override - public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { + public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) { Options mobileInstallOptions = options.getOptions(Options.class); WriteAdbArgsAction.Options adbOptions = options.getOptions(WriteAdbArgsAction.Options.class);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallModule.java b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallModule.java index 5942699..5ae08e8 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallModule.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallModule.java
@@ -15,14 +15,14 @@ import com.google.devtools.build.lib.runtime.BlazeModule; import com.google.devtools.build.lib.runtime.ServerBuilder; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; /** * Module for mobile_install. */ public final class MobileInstallModule extends BlazeModule { @Override - public void serverInit(OptionsProvider startupOptions, ServerBuilder builder) { + public void serverInit(OptionsParsingResult startupOptions, ServerBuilder builder) { builder.addCommands( new MobileInstallCommand()); }
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java index 29b6065..ee6a959 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
@@ -28,7 +28,7 @@ import com.google.devtools.build.lib.exec.SpawnRunner.SpawnExecutionContext; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; @@ -124,7 +124,7 @@ * reference to the full set of build options (and also for performance, since this only needs to * be checked once-per-build). */ - static boolean shouldAllowNetwork(OptionsProvider buildOptions) { + static boolean shouldAllowNetwork(OptionsParsingResult buildOptions) { // Allow network access, when --java_debug is specified, otherwise we can't connect to the // remote debug server of the test. This intentionally overrides the "block-network" execution // tag.
diff --git a/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java b/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java index 029d08c..343c9d5 100644 --- a/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java +++ b/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java
@@ -18,7 +18,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.common.options.Converter; -import com.google.devtools.common.options.OptionsProvider; +import com.google.devtools.common.options.OptionsParsingResult; import com.google.devtools.common.options.ParsedOptionDescription; import java.util.ArrayList; import java.util.Collections; @@ -51,7 +51,7 @@ * Returns a string representation of the non-hidden explicitly or implicitly * specified options; option values are shell-escaped. */ - public static String asShellEscapedString(OptionsProvider options) { + public static String asShellEscapedString(OptionsParsingResult options) { return asShellEscapedString(options.asCompleteListOfParsedOptions()); } @@ -74,7 +74,7 @@ * Return a representation of the non-hidden specified options, as a list of string. No escaping * is done. */ - public static List<String> asArgumentList(OptionsProvider options) { + public static List<String> asArgumentList(OptionsParsingResult options) { return asArgumentList(options.asCompleteListOfParsedOptions()); } @@ -83,7 +83,7 @@ * filtering out any sensitive options; option values are shell-escaped. */ public static String asFilteredShellEscapedString( - OptionsProvider options, Iterable<ParsedOptionDescription> optionsList) { + OptionsParsingResult options, Iterable<ParsedOptionDescription> optionsList) { return asShellEscapedString(optionsList); } @@ -92,7 +92,7 @@ * specified options, filtering out any sensitive options; option values are * shell-escaped. */ - public static String asFilteredShellEscapedString(OptionsProvider options) { + public static String asFilteredShellEscapedString(OptionsParsingResult options) { return asFilteredShellEscapedString(options, options.asCompleteListOfParsedOptions()); }
diff --git a/src/main/java/com/google/devtools/common/options/OptionsParser.java b/src/main/java/com/google/devtools/common/options/OptionsParser.java index e1c7cbb..9810988 100644 --- a/src/main/java/com/google/devtools/common/options/OptionsParser.java +++ b/src/main/java/com/google/devtools/common/options/OptionsParser.java
@@ -66,7 +66,7 @@ * * @see Options a simpler class which you can use if you only have one options specification class */ -public class OptionsParser implements OptionsProvider { +public class OptionsParser implements OptionsParsingResult { // TODO(b/65049598) make ConstructionException checked. /**
diff --git a/src/main/java/com/google/devtools/common/options/OptionsProvider.java b/src/main/java/com/google/devtools/common/options/OptionsParsingResult.java similarity index 97% rename from src/main/java/com/google/devtools/common/options/OptionsProvider.java rename to src/main/java/com/google/devtools/common/options/OptionsParsingResult.java index 3168564..655b856 100644 --- a/src/main/java/com/google/devtools/common/options/OptionsProvider.java +++ b/src/main/java/com/google/devtools/common/options/OptionsParsingResult.java
@@ -21,7 +21,7 @@ * A read-only interface for options parser results, which does not allow any * further parsing of options. */ -public interface OptionsProvider extends OptionsClassProvider { +public interface OptionsParsingResult extends OptionsClassProvider { /**