aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
index eed73aef66..8f1754d933 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.skyframe;
import com.google.common.base.Preconditions;
+import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@@ -493,13 +494,16 @@ public final class SkyframeBuildView {
public void enqueueing(SkyKey skyKey) {}
@Override
- public void evaluated(SkyKey skyKey, SkyValue value, EvaluationState state) {
- if (skyKey.functionName().equals(SkyFunctions.CONFIGURED_TARGET) && value != null) {
+ public void evaluated(SkyKey skyKey, Supplier<SkyValue> skyValueSupplier,
+ EvaluationState state) {
+ if (skyKey.functionName().equals(SkyFunctions.CONFIGURED_TARGET)) {
switch (state) {
case BUILT:
- evaluatedConfiguredTargets.add(skyKey);
- // During multithreaded operation, this is only set to true, so no concurrency issues.
- someConfiguredTargetEvaluated = true;
+ if (skyValueSupplier.get() != null) {
+ evaluatedConfiguredTargets.add(skyKey);
+ // During multithreaded operation, this is only set to true, so no concurrency issues.
+ someConfiguredTargetEvaluated = true;
+ }
break;
case CLEAN:
// If the configured target value did not need to be rebuilt, then it wasn't truly