Pipe options through to SkyframeActionExecutor instead of passing as individual parameters.
Because we don't have dependency injection it is pretty painful to shuttle individual options all the way through to the action executor. It also makes the code harder to read, since options are often boolean, and boolean parameters don't read well.
RELNOTES: None
PiperOrigin-RevId: 210915235
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 9a31023..5b916ff 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
@@ -349,7 +349,7 @@
executor,
builtTargets,
builtAspects,
- request.getBuildOptions().explanationPath != null,
+ request,
env.getBlazeWorkspace().getLastExecutionTimeRange(),
topLevelArtifactContext);
buildCompleted = true;
@@ -589,7 +589,6 @@
SkyframeExecutor skyframeExecutor,
ModifiedFileSet modifiedOutputFiles) {
BuildRequestOptions options = request.getBuildOptions();
- boolean keepGoing = request.getKeepGoing();
Path actionOutputRoot = env.getActionConsoleOutputDirectory();
Predicate<Action> executionFilter = CheckUpToDateFilter.fromOptions(
@@ -597,7 +596,6 @@
// jobs should have been verified in BuildRequest#validateOptions().
Preconditions.checkState(options.jobs >= -1);
- int actualJobs = options.jobs == 0 ? 1 : options.jobs; // Treat 0 jobs as a single task.
skyframeExecutor.setActionOutputRoot(actionOutputRoot);
ArtifactFactory artifactFactory = env.getSkyframeBuildView().getArtifactFactory();
@@ -612,15 +610,11 @@
.setEnabled(options.useActionCache)
.setVerboseExplanations(options.verboseExplanations)
.build()),
- keepGoing,
- actualJobs,
request.getPackageCacheOptions().checkOutputFiles
? modifiedOutputFiles
: ModifiedFileSet.NOTHING_MODIFIED,
- options.finalizeActions,
fileCache,
- prefetcher,
- request.getBuildOptions().progressReportInterval);
+ prefetcher);
}
private void configureResourceManager(BuildRequest request) {