diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index e8c1773c99..97a10780fc 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java @@ -124,7 +124,6 @@ import com.google.devtools.build.lib.util.AbruptExitException; import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.util.ResourceUsage; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; -import com.google.devtools.build.lib.vfs.BatchStat; import com.google.devtools.build.lib.vfs.Dirent; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.ModifiedFileSet; @@ -187,8 +186,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { private final WorkspaceStatusAction.Factory workspaceStatusActionFactory; private final BlazeDirectories directories; protected final ExternalFilesHelper externalFilesHelper; - @Nullable - private OutputService outputService; + @Nullable protected OutputService outputService; // TODO(bazel-team): Figure out how to handle value builders that block internally. Blocking // operations may need to be handled in another (bigger?) thread pool. Also, we should detect @@ -1881,23 +1879,9 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { this.statusReporterRef.set(statusReporter); } - public void prepareExecution(ModifiedFileSet modifiedOutputFiles, - @Nullable Range<Long> lastExecutionTimeRange) - throws AbruptExitException, InterruptedException { - - // Detect external modifications in the output tree. - FilesystemValueChecker fsvc = - new FilesystemValueChecker(Preconditions.checkNotNull(tsgm.get()), lastExecutionTimeRange); - BatchStat batchStatter = outputService == null ? null : outputService.getBatchStatter(); - invalidateDirtyActions(fsvc.getDirtyActionValues(memoizingEvaluator.getValues(), - batchStatter, modifiedOutputFiles)); - modifiedFiles += fsvc.getNumberOfModifiedOutputFiles(); - outputDirtyFiles += fsvc.getNumberOfModifiedOutputFiles(); - modifiedFilesDuringPreviousBuild += fsvc.getNumberOfModifiedOutputFilesDuringPreviousBuild(); - informAboutNumberOfModifiedFiles(); - } - - protected abstract void invalidateDirtyActions(Iterable<SkyKey> dirtyActionValues); + public abstract void detectModifiedOutputFiles( + ModifiedFileSet modifiedOutputFiles, @Nullable Range<Long> lastExecutionTimeRange) + throws AbruptExitException, InterruptedException; /** * Mark dirty values for deletion if they've been dirty for longer than N versions. |