diff options
author | 2017-03-04 00:58:14 +0000 | |
---|---|---|
committer | 2017-03-06 09:47:03 +0000 | |
commit | 8ff5a87323240625ea5d9efe95f4033d29b6a8f9 (patch) | |
tree | bb413ef618501783ca48fce72906ab83e195e221 /src/main/java/com/google/devtools/build/lib/packages | |
parent | 04c71be192739eae9197e0fe3b054e4278fe16d1 (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.java | 4 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/SkylarkAspect.java | 8 |
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); |