Require the ActionExecutionMetadata to be passed to IncludeScanner

Also add an execution requirement that allows disabling reporting to the CLI;
this will be used in a future change.

PiperOrigin-RevId: 205216096
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java b/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java
index f9e549f..2be9e27 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java
@@ -184,4 +184,7 @@
    * effect otherwise.
    */
   public static final String REQUIRES_FAKEROOT = "requires-fakeroot";
+
+  /** Suppress CLI reporting for this spawn - it's part of another action. */
+  public static final String DO_NOT_REPORT = "internal-do-not-report";
 }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanner.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanner.java
index 5ceb0a5..18f4684 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanner.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanner.java
@@ -17,6 +17,7 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Sets;
 import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionExecutionMetadata;
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.actions.EnvironmentalExecException;
 import com.google.devtools.build.lib.actions.ExecException;
@@ -70,6 +71,7 @@
       IncludeScanningHeaderData includeScanningHeaderData,
       List<String> cmdlineIncludes,
       Set<Artifact> includes,
+      ActionExecutionMetadata actionExecutionMetadata,
       ActionExecutionContext actionExecutionContext,
       Artifact grepIncludes)
       throws IOException, ExecException, InterruptedException;
@@ -104,6 +106,7 @@
         IncludeScannable action,
         IncludeScannerSupplier includeScannerSupplier,
         IncludeScanningHeaderData includeScanningHeaderData,
+        ActionExecutionMetadata actionExecutionMetadata,
         ActionExecutionContext actionExecutionContext,
         String profilerTaskName)
         throws ExecException, InterruptedException {
@@ -144,6 +147,7 @@
             includeScanningHeaderData,
             cmdlineIncludes,
             includes,
+            actionExecutionMetadata,
             actionExecutionContext,
             action.getGrepIncludes());