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