diff options
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.java | 12 |
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 = |