aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/BazelStartupOptionsModule.java25
-rwxr-xr-xsrc/test/shell/integration/client_test.sh9
2 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/BazelStartupOptionsModule.java b/src/main/java/com/google/devtools/build/lib/bazel/BazelStartupOptionsModule.java
index 07fdfe37a8..fa0d66ee5f 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/BazelStartupOptionsModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/BazelStartupOptionsModule.java
@@ -13,8 +13,13 @@
// limitations under the License.
package com.google.devtools.build.lib.bazel;
+import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.runtime.BlazeModule;
+import com.google.devtools.build.lib.runtime.BlazeServerStartupOptions;
+import com.google.devtools.build.lib.runtime.CommandEnvironment;
+import com.google.devtools.build.lib.util.AbruptExitException;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionEffectTag;
@@ -55,4 +60,24 @@ public class BazelStartupOptionsModule extends BlazeModule {
public Iterable<Class<? extends OptionsBase>> getStartupOptions() {
return ImmutableList.of(Options.class);
}
+
+ /**
+ * Post a deprecation warning about batch mode. This is in beforeCommand, and not earlier, so that
+ * we can post the warning event to the correctly set up channels.
+ */
+ @Override
+ public void beforeCommand(CommandEnvironment env) throws AbruptExitException {
+ BlazeServerStartupOptions startupOptions =
+ Preconditions.checkNotNull(
+ env.getRuntime()
+ .getStartupOptionsProvider()
+ .getOptions(BlazeServerStartupOptions.class));
+ if (startupOptions.batch) {
+ env.getReporter()
+ .handle(
+ Event.warn(
+ "--batch mode is deprecated. Please instead explicitly shut down your Bazel "
+ + "server using the command \"bazel shutdown\"."));
+ }
+ }
}
diff --git a/src/test/shell/integration/client_test.sh b/src/test/shell/integration/client_test.sh
index da0708e86d..1a9bb7af91 100755
--- a/src/test/shell/integration/client_test.sh
+++ b/src/test/shell/integration/client_test.sh
@@ -136,6 +136,7 @@ function test_nobatch() {
local pid2=$(bazel --batch --nobatch info server_pid 2> $TEST_log)
assert_equals "$pid1" "$pid2"
expect_not_log "WARNING: Running B\\(azel\\|laze\\) server needs to be killed"
+ expect_not_log "WARNING: --batch mode is deprecated."
}
# Regression test for #1875189, "bazel client should pass through '--help' like
@@ -161,6 +162,14 @@ function test_bazel_dash_s_is_not_parsed() {
expect_log "Unknown startup option: '-s'."
}
+function test_batch() {
+ local pid1=$(bazel info server_pid 2> $TEST_log)
+ local pid2=$(bazel --batch info server_pid 2> $TEST_log)
+ assert_not_equals "$pid1" "$pid2"
+ expect_log "WARNING: Running B\\(azel\\|laze\\) server needs to be killed"
+ expect_log "WARNING: --batch mode is deprecated."
+}
+
function test_cmdline_not_written_in_batch_mode() {
OUTPUT_BASE=$(bazel --batch info output_base 2> $TEST_log)
rm -f $OUTPUT_BASE/server/cmdline