Rule classes cannot request duplicate toolchains.
PiperOrigin-RevId: 167861778
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
index 7fcd60f..5570c3f 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
@@ -60,7 +60,7 @@
private final RequiredProviders requiredProviders;
private final RequiredProviders requiredProvidersForAspects;
private final ImmutableMap<String, Attribute> attributes;
- private final ImmutableList<Label> requiredToolchains;
+ private final ImmutableSet<Label> requiredToolchains;
/**
* Which attributes aspect should propagate along:
@@ -83,7 +83,7 @@
RequiredProviders requiredProviders,
RequiredProviders requiredAspectProviders,
ImmutableMap<String, Attribute> attributes,
- ImmutableList<Label> requiredToolchains,
+ ImmutableSet<Label> requiredToolchains,
@Nullable ImmutableSet<String> restrictToAttributes,
@Nullable ConfigurationFragmentPolicy configurationFragmentPolicy,
boolean applyToFiles) {
@@ -117,7 +117,7 @@
}
/** Returns the required toolchains declared by this aspect. */
- public ImmutableList<Label> getRequiredToolchains() {
+ public ImmutableSet<Label> getRequiredToolchains() {
return requiredToolchains;
}
@@ -485,7 +485,7 @@
requiredProviders.build(),
requiredAspectProviders.build(),
ImmutableMap.copyOf(attributes),
- ImmutableList.copyOf(requiredToolchains),
+ ImmutableSet.copyOf(requiredToolchains),
propagateAlongAttributes == null ? null : ImmutableSet.copyOf(propagateAlongAttributes),
configurationFragmentPolicy.build(),
applyToFiles);