Track the entire OutputService instead of just the BatchStatter.
--
MOS_MIGRATED_REVID=107800790
diff --git a/src/main/java/com/google/devtools/build/lib/exec/OutputService.java b/src/main/java/com/google/devtools/build/lib/exec/OutputService.java
index 2e3d883..2a48b5c 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/OutputService.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/OutputService.java
@@ -14,11 +14,15 @@
package com.google.devtools.build.lib.exec;
+import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.BuildFailedException;
+import com.google.devtools.build.lib.actions.EnvironmentalExecException;
import com.google.devtools.build.lib.actions.ExecException;
+import com.google.devtools.build.lib.actions.cache.MetadataHandler;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.util.AbruptExitException;
import com.google.devtools.build.lib.vfs.BatchStat;
+import com.google.devtools.build.lib.vfs.ModifiedFileSet;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -53,10 +57,11 @@
* Start the build.
*
* @param buildId the UUID build identifier
+ * @return a ModifiedFileSet of changed output files.
* @throws BuildFailedException if build preparation failed
* @throws InterruptedException
*/
- void startBuild(UUID buildId)
+ ModifiedFileSet startBuild(UUID buildId)
throws BuildFailedException, AbruptExitException, InterruptedException;
/**
@@ -67,6 +72,10 @@
*/
void finalizeBuild(boolean buildSuccessful) throws BuildFailedException, AbruptExitException;
+ /** Notify the output service of a completed action. */
+ void finalizeAction(Action action, MetadataHandler metadataHandler)
+ throws IOException, EnvironmentalExecException;
+
/**
* Stages the given tool from the package path, possibly copying it to local disk.
*