aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index d50c6c80f3..bad9ec038b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -568,8 +568,13 @@ public final class ConfiguredTargetFunction implements SkyFunction {
// conditions evaluate over the current target's configuration).
ImmutableList.Builder<Dependency> depsBuilder = ImmutableList.builder();
try {
- for (Dependency dep : resolver.resolveRuleLabels(
- ctgValue, configLabelMap, transitiveRootCauses, trimmingTransitionFactory)) {
+ Iterable<Dependency> dependencies =
+ resolver.resolveRuleLabels(
+ ctgValue, configLabelMap, transitiveRootCauses, trimmingTransitionFactory);
+ if (env.valuesMissing()) {
+ return null;
+ }
+ for (Dependency dep : dependencies) {
if (dep.hasExplicitConfiguration() && dep.getConfiguration() == null) {
// Bazel assumes non-existent labels are source files, which have a null configuration.
// Keep those as is. Otherwise ConfiguredTargetAndData throws an exception about a
@@ -584,9 +589,6 @@ public final class ConfiguredTargetFunction implements SkyFunction {
} catch (InconsistentAspectOrderException e) {
throw new DependencyEvaluationException(e);
}
- if (env.valuesMissing()) {
- return null;
- }
ImmutableList<Dependency> configConditionDeps = depsBuilder.build();
Map<SkyKey, ConfiguredTargetAndData> configValues =