diff options
author | 2016-05-19 16:26:09 +0000 | |
---|---|---|
committer | 2016-05-19 18:05:17 +0000 | |
commit | 53e03915813b537564b77b8051d78aa9bbb6cdf1 (patch) | |
tree | 51b20bf21a9b71f85e4fb2fc2c2d28698a713db8 /src/main/java/com/google | |
parent | ab63a1224c9b7c1e85ab50f8ecf0a543519371fe (diff) |
Make ide_build_info work again with targets that have configurable attributes.
This fixed some fallout from commit 7894c18dbaf237a1c02d76beabe6ca54faf5039a. I also audited all the sites that change introduced ImmutableMap.Builder at.
--
MOS_MIGRATED_REVID=122738945
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/BuildView.java | 5 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java index 5afda9f349..ddefe52425 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java @@ -83,6 +83,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -800,7 +801,7 @@ public class BuildView { return ImmutableMap.of(); } Rule rule = (Rule) ctg.getTarget(); - ImmutableMap.Builder<Label, ConfigMatchingProvider> keys = ImmutableMap.builder(); + Map<Label, ConfigMatchingProvider> keys = new LinkedHashMap<>(); RawAttributeMapper mapper = RawAttributeMapper.of(rule); for (Attribute attribute : rule.getAttributes()) { for (Label label : mapper.getConfigurabilityKeys(attribute.getName(), attribute.getType())) { @@ -812,7 +813,7 @@ public class BuildView { keys.put(label, Preconditions.checkNotNull(ct.getProvider(ConfigMatchingProvider.class))); } } - return keys.build(); + return ImmutableMap.copyOf(keys); } private ListMultimap<Attribute, ConfiguredTarget> getPrerequisiteMapForTesting( 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 3289d173a6..d342bb66a4 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 @@ -38,6 +38,7 @@ import com.google.devtools.build.skyframe.SkyFunctionException; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; @@ -149,14 +150,14 @@ public class PostConfiguredTargetFunction implements SkyFunction { if (env.valuesMissing()) { return null; } - ImmutableMap.Builder<Label, ConfigMatchingProvider> conditions = ImmutableMap.builder(); + Map<Label, ConfigMatchingProvider> conditions = new LinkedHashMap<>(); for (Map.Entry<SkyKey, SkyValue> 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(); + return ImmutableMap.copyOf(conditions); } @Nullable |