Fix #7715.
The flag bep_publish_used_heap_size_post_build is not meant to be
exposed to other commands than build since it has no effect there.
RELNOTES: None
Closes #7790.
PiperOrigin-RevId: 239586196
diff --git a/src/main/java/com/google/devtools/build/lib/metrics/MetricsCollector.java b/src/main/java/com/google/devtools/build/lib/metrics/MetricsCollector.java
index 6f098fb..0604397 100644
--- a/src/main/java/com/google/devtools/build/lib/metrics/MetricsCollector.java
+++ b/src/main/java/com/google/devtools/build/lib/metrics/MetricsCollector.java
@@ -42,8 +42,9 @@
MetricsCollector(CommandEnvironment env) {
this.env = env;
+ Options options = env.getOptions().getOptions(Options.class);
this.bepPublishUsedHeapSizePostBuild =
- env.getOptions().getOptions(Options.class).bepPublishUsedHeapSizePostBuild;
+ options != null && options.bepPublishUsedHeapSizePostBuild;
env.getEventBus().register(this);
}
diff --git a/src/main/java/com/google/devtools/build/lib/metrics/MetricsModule.java b/src/main/java/com/google/devtools/build/lib/metrics/MetricsModule.java
index ae4e86e..46a161d 100644
--- a/src/main/java/com/google/devtools/build/lib/metrics/MetricsModule.java
+++ b/src/main/java/com/google/devtools/build/lib/metrics/MetricsModule.java
@@ -43,7 +43,7 @@
@Override
public Iterable<Class<? extends OptionsBase>> getCommandOptions(Command command) {
- return ImmutableList.of(Options.class);
+ return "build".equals(command.name()) ? ImmutableList.of(Options.class) : ImmutableList.of();
}
@Override