aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/Builder.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-07-15 22:23:37 +0000
committerGravatar Yun Peng <pcloudy@google.com>2016-07-18 10:44:37 +0000
commitbfd4e2461556a67502c80c84c0228b8c91955623 (patch)
tree554c56e1e90f9c6b93bdec7a3b10ec5629c7693f /src/main/java/com/google/devtools/build/lib/skyframe/Builder.java
parenta66a56b108c04f05efcb9b965361d692435acc59 (diff)
Model the TopLevelArtifactContext as an argument to the CompletionFunction rather than a PRECOMPUTED value.
Having a stale TopLevelArtifactContext leads to invalidation of all the top level target nodes, causing time wasted due to a lot of cache hits for a null build. -- MOS_MIGRATED_REVID=127585059
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/Builder.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/Builder.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/Builder.java b/src/main/java/com/google/devtools/build/lib/skyframe/Builder.java
index e6f1c3dca9..d25341a4e7 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/Builder.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/Builder.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.BuildFailedException;
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.TestExecException;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
+import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadCompatible;
import com.google.devtools.build.lib.events.Reporter;
import com.google.devtools.build.lib.util.AbruptExitException;
@@ -64,6 +65,8 @@ public interface Builder {
* valid even if a future action throws ActionExecutionException
* @param lastExecutionTimeRange If not null, the start/finish time of the last build that
* run the execution phase.
+ * @param topLevelArtifactContext contains the the options which determine the artifacts to build
+ * for the top-level targets.
* @throws BuildFailedException if there were problems establishing the action execution
* environment, if the the metadata of any file during the build could not be obtained,
* if any input files are missing, or if an action fails during execution
@@ -81,6 +84,7 @@ public interface Builder {
Executor executor,
Set<ConfiguredTarget> builtTargets,
boolean explain,
- @Nullable Range<Long> lastExecutionTimeRange)
+ @Nullable Range<Long> lastExecutionTimeRange,
+ TopLevelArtifactContext topLevelArtifactContext)
throws BuildFailedException, AbruptExitException, InterruptedException, TestExecException;
}