aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2017-03-04 00:58:14 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-06 09:47:03 +0000
commit8ff5a87323240625ea5d9efe95f4033d29b6a8f9 (patch)
treebb413ef618501783ca48fce72906ab83e195e221 /src/main/java/com/google/devtools/build/lib/packages
parent04c71be192739eae9197e0fe3b054e4278fe16d1 (diff)
Allow declared providers in attribute and aspect defintions.
-- PiperOrigin-RevId: 149169656 MOS_MIGRATED_REVID=149169656
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/SkylarkAspect.java8
2 files changed, 5 insertions, 7 deletions
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 8cc374f212..8e2ae52fcb 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
@@ -300,9 +300,7 @@ public final class AspectDefinition {
*/
public Builder advertiseProvider(ImmutableList<SkylarkProviderIdentifier> providers) {
for (SkylarkProviderIdentifier provider : providers) {
- // todo(dslomov,vladmos): support declared providers
- Preconditions.checkState(provider.isLegacy());
- advertisedProviders.addSkylark(provider.getLegacyId());
+ advertisedProviders.addSkylark(provider);
}
return this;
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkAspect.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkAspect.java
index 21deb7b842..58a58015c0 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkAspect.java
@@ -43,7 +43,7 @@ public class SkylarkAspect implements SkylarkExportable {
private final ImmutableList<String> attributeAspects;
private final ImmutableList<Attribute> attributes;
private final ImmutableList<ImmutableSet<SkylarkProviderIdentifier>> requiredAspectProviders;
- private final ImmutableList<String> provides;
+ private final ImmutableSet<SkylarkProviderIdentifier> provides;
private final ImmutableSet<String> paramAttributes;
private final ImmutableSet<String> fragments;
private final ImmutableSet<String> hostFragments;
@@ -55,7 +55,7 @@ public class SkylarkAspect implements SkylarkExportable {
ImmutableList<String> attributeAspects,
ImmutableList<Attribute> attributes,
ImmutableList<ImmutableSet<SkylarkProviderIdentifier>> requiredAspectProviders,
- ImmutableList<String> provides,
+ ImmutableSet<SkylarkProviderIdentifier> provides,
ImmutableSet<String> paramAttributes,
ImmutableSet<String> fragments,
ImmutableSet<String> hostFragments,
@@ -147,8 +147,8 @@ public class SkylarkAspect implements SkylarkExportable {
builder.requireAspectsWithProviders(requiredAspectProviders);
ImmutableList.Builder<SkylarkProviderIdentifier> advertisedSkylarkProviders =
ImmutableList.builder();
- for (String provider : provides) {
- advertisedSkylarkProviders.add(SkylarkProviderIdentifier.forLegacy(provider));
+ for (SkylarkProviderIdentifier provider : provides) {
+ advertisedSkylarkProviders.add(provider);
}
builder.advertiseProvider(advertisedSkylarkProviders.build());
builder.requiresConfigurationFragmentsBySkylarkModuleName(fragments);