Track the entire OutputService instead of just the BatchStatter.
--
MOS_MIGRATED_REVID=107800790
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
index 3a95cbd..26feb53 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
@@ -84,6 +84,7 @@
import com.google.devtools.build.lib.util.LoggingUtil;
import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
+import com.google.devtools.build.lib.vfs.ModifiedFileSet;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -357,15 +358,17 @@
}
OutputService outputService = env.getOutputService();
+ ModifiedFileSet modifiedOutputFiles = ModifiedFileSet.EVERYTHING_MODIFIED;
if (outputService != null) {
- outputService.startBuild(buildId);
+ modifiedOutputFiles = outputService.startBuild(buildId);
} else {
startLocalOutputBuild(); // TODO(bazel-team): this could be just another OutputService
}
ActionCache actionCache = getActionCache();
SkyframeExecutor skyframeExecutor = env.getSkyframeExecutor();
- Builder builder = createBuilder(request, executor, actionCache, skyframeExecutor);
+ Builder builder =
+ createBuilder(request, executor, actionCache, skyframeExecutor, modifiedOutputFiles);
//
// Execution proper. All statements below are logically nested in
@@ -662,7 +665,8 @@
private Builder createBuilder(BuildRequest request,
Executor executor,
ActionCache actionCache,
- SkyframeExecutor skyframeExecutor) {
+ SkyframeExecutor skyframeExecutor,
+ ModifiedFileSet modifiedOutputFiles) {
BuildRequest.BuildRequestOptions options = request.getBuildOptions();
boolean verboseExplanations = options.verboseExplanations;
boolean keepGoing = request.getViewOptions().keepGoing;
@@ -682,8 +686,9 @@
return new SkyframeBuilder(skyframeExecutor,
new ActionCacheChecker(actionCache, env.getView().getArtifactFactory(), executionFilter,
verboseExplanations),
- keepGoing, actualJobs, options.checkOutputFiles, fileCache,
- request.getBuildOptions().progressReportInterval);
+ keepGoing, actualJobs,
+ options.checkOutputFiles ? modifiedOutputFiles : ModifiedFileSet.NOTHING_MODIFIED,
+ options.finalizeActions, fileCache, request.getBuildOptions().progressReportInterval);
}
private void configureResourceManager(BuildRequest request) {