From 7894c18dbaf237a1c02d76beabe6ca54faf5039a Mon Sep 17 00:00:00 2001 From: Lukacs Berki Date: Tue, 10 May 2016 12:07:01 +0000 Subject: Add an "alias" rule. This will be used to replace RedirectChaser so that we don't need to load packages during configuration creation anymore. -- MOS_MIGRATED_REVID=121935989 --- .../lib/skyframe/PostConfiguredTargetFunction.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java') diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java index c33e599412..3289d173a6 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java @@ -15,7 +15,6 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.base.Function; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.ListMultimap; import com.google.devtools.build.lib.actions.ActionAnalysisMetadata; @@ -90,7 +89,7 @@ public class PostConfiguredTargetFunction implements SkyFunction { TargetAndConfiguration ctgValue = new TargetAndConfiguration(ct.getTarget(), ct.getConfiguration()); - Set configConditions = + ImmutableMap configConditions = getConfigurableAttributeConditions(ctgValue, env); if (configConditions == null) { return null; @@ -131,10 +130,10 @@ public class PostConfiguredTargetFunction implements SkyFunction { * target, or null if not all dependencies have yet been SkyFrame-evaluated. */ @Nullable - private Set getConfigurableAttributeConditions( + private ImmutableMap getConfigurableAttributeConditions( TargetAndConfiguration ctg, Environment env) { if (!(ctg.getTarget() instanceof Rule)) { - return ImmutableSet.of(); + return ImmutableMap.of(); } Rule rule = (Rule) ctg.getTarget(); RawAttributeMapper mapper = RawAttributeMapper.of(rule); @@ -150,10 +149,12 @@ public class PostConfiguredTargetFunction implements SkyFunction { if (env.valuesMissing()) { return null; } - ImmutableSet.Builder conditions = ImmutableSet.builder(); - for (SkyValue ctValue : cts.values()) { - ConfiguredTarget ct = ((ConfiguredTargetValue) ctValue).getConfiguredTarget(); - conditions.add(Preconditions.checkNotNull(ct.getProvider(ConfigMatchingProvider.class))); + ImmutableMap.Builder conditions = ImmutableMap.builder(); + for (Map.Entry entry : cts.entrySet()) { + Label label = ((ConfiguredTargetKey) entry.getKey().argument()).getLabel(); + ConfiguredTarget ct = ((ConfiguredTargetValue) entry.getValue()).getConfiguredTarget(); + conditions.put(label, Preconditions.checkNotNull( + ct.getProvider(ConfigMatchingProvider.class))); } return conditions.build(); } -- cgit v1.2.3