aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/runtime
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-06-06 09:32:18 -0400
committerGravatar John Cater <jcater@google.com>2017-06-06 09:51:28 -0400
commit95aa487c02e20c6e0e137fca1670fc72ec9bd588 (patch)
treea16afba1b593ee011673f1aaadb9aafd641e3730 /src/main/java/com/google/devtools/build/lib/runtime
parent75b58db8bc94f591f64d83ff532128e1c672818a (diff)
Remove the CommandEnvironment from BlazeCommand.editOptions
BlazeCommand.editOptions is currently called fairly late in the startup process, so it must be restrictive in what it does, as any change to the options can potentially introduce inconsistencies between different parts of Bazel. Removing the CommandEnvironment reduces the amount of damage it can do, and may allow us to move the call earlier in the startup process (maybe even to a point where the CommandEnvironment does not exist yet). PiperOrigin-RevId: 158133862
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeCommand.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/BuildCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/DumpCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/ProfileCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/QueryCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/ShutdownCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/VersionCommand.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java2
17 files changed, 25 insertions, 24 deletions
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 c1f3fd094e..b5759edf77 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
@@ -49,8 +49,7 @@ public interface BlazeCommand {
* requirements. This method is called after all command-line and rc file options have been
* parsed.
*
- * @param env the command environment of the currently running command
* @param optionsParser the options parser for the current command
*/
- void editOptions(CommandEnvironment env, OptionsParser optionsParser);
+ void editOptions(OptionsParser optionsParser);
}
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 3b230a2e54..d2b05f32ff 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
@@ -518,7 +518,7 @@ public class BlazeCommandDispatcher {
waitTimeInMs,
invocationPolicy);
// Allow the command to edit options after parsing:
- command.editOptions(env, optionsParser);
+ command.editOptions(optionsParser);
} catch (AbruptExitException e) {
reporter.handle(Event.error(e.getMessage()));
return e.getExitCode().getNumericExitCode();
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 9227ddd2a7..cf487bb5c7 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
@@ -51,7 +51,7 @@ import java.util.List;
public final class BuildCommand implements BlazeCommand {
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {
+ public void editOptions(OptionsParser optionsParser) {
}
@Override
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 8033509309..5bb1b31794 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
@@ -169,5 +169,5 @@ public final class CanonicalizeCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
}
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 c007e5f61d..93952a1825 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
@@ -267,5 +267,5 @@ public final class CleanCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
}
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
index aa9e703fd4..b31bb240c6 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.runtime.commands;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.packages.TestTimeout;
import com.google.devtools.build.lib.runtime.Command;
-import com.google.devtools.build.lib.runtime.CommandEnvironment;
import com.google.devtools.common.options.OptionPriority;
import com.google.devtools.common.options.OptionsParser;
import com.google.devtools.common.options.OptionsParsingException;
@@ -120,8 +119,8 @@ public class CoverageCommand extends TestCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {
- super.editOptions(env, optionsParser);
+ public void editOptions(OptionsParser optionsParser) {
+ super.editOptions(optionsParser);
try {
optionsParser.parse(OptionPriority.SOFTWARE_REQUIREMENT,
"Options required by the coverage command",
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 03adf0570a..0e7965ea2d 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
@@ -112,7 +112,7 @@ public class DumpCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
@Override
public ExitCode exec(CommandEnvironment env, OptionsProvider options) {
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 702fefebd9..9790984923 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
@@ -139,7 +139,7 @@ public final class HelpCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
@Override
public ExitCode exec(CommandEnvironment env, OptionsProvider options) {
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 c43367d636..e62d65a6f6 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
@@ -91,7 +91,7 @@ public class InfoCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) { }
+ public void editOptions(OptionsParser optionsParser) { }
@Override
public ExitCode exec(final CommandEnvironment env, final OptionsProvider optionsProvider) {
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 8902b07a68..b735107e79 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
@@ -101,5 +101,5 @@ public class LicenseCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
}
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 bbc7a02c4d..91c4c99d77 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
@@ -173,7 +173,7 @@ public final class ProfileCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
@Override
public ExitCode exec(final CommandEnvironment env, OptionsProvider options) {
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 aab627028a..b8bc7426c8 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
@@ -68,7 +68,7 @@ import java.util.Set;
public final class QueryCommand implements BlazeCommand {
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) { }
+ public void editOptions(OptionsParser optionsParser) { }
/**
* Exit codes:
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 cf98f997e7..6f29578dd8 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
@@ -128,7 +128,7 @@ public class RunCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) { }
+ public void editOptions(OptionsParser optionsParser) { }
@Override
public ExitCode exec(CommandEnvironment env, OptionsProvider options) {
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 640602d168..13a5d8df9d 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
@@ -47,7 +47,7 @@ public final class ShutdownCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
@Override
public ExitCode exec(CommandEnvironment env, OptionsProvider options)
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 1900517604..de5f75feeb 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
@@ -66,14 +66,10 @@ public class TestCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {
+ public void editOptions(OptionsParser optionsParser) {
TestOutputFormat testOutput = optionsParser.getOptions(ExecutionOptions.class).testOutput;
-
try {
if (testOutput == TestStrategy.TestOutputFormat.STREAMED) {
- env.getReporter().handle(Event.warn(
- "Streamed test output requested. All tests will be run locally, without sharding, "
- + "one at a time"));
optionsParser.parse(OptionPriority.SOFTWARE_REQUIREMENT,
"streamed output requires locally run tests, without sharding",
ImmutableList.of("--test_sharding_strategy=disabled", "--test_strategy=exclusive"));
@@ -85,6 +81,13 @@ public class TestCommand implements BlazeCommand {
@Override
public ExitCode exec(CommandEnvironment env, OptionsProvider options) {
+ TestOutputFormat testOutput = options.getOptions(ExecutionOptions.class).testOutput;
+ if (testOutput == TestStrategy.TestOutputFormat.STREAMED) {
+ env.getReporter().handle(Event.warn(
+ "Streamed test output requested. All tests will be run locally, without sharding, "
+ + "one at a time"));
+ }
+
TestResultAnalyzer resultAnalyzer = new TestResultAnalyzer(
options.getOptions(TestSummaryOptions.class),
options.getOptions(ExecutionOptions.class),
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 97f3cc1358..eff8700248 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
@@ -35,7 +35,7 @@ import com.google.devtools.common.options.OptionsProvider;
shortDescription = "Prints version information for %{product}.")
public final class VersionCommand implements BlazeCommand {
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {}
+ public void editOptions(OptionsParser optionsParser) {}
@Override
public ExitCode exec(CommandEnvironment env, OptionsProvider options) {
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 f4cd3a39fc..15102ee80c 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
@@ -110,7 +110,7 @@ public class MobileInstallCommand implements BlazeCommand {
}
@Override
- public void editOptions(CommandEnvironment env, OptionsParser optionsParser) {
+ public void editOptions(OptionsParser optionsParser) {
try {
if (optionsParser.getOptions(Options.class).v2) {
optionsParser.parse(