Add required/advertised Skylark providers.
This is needed to advertise and request JavaInfo (a native declared provider) instead of JavaCompilationArgsProvider.
RELNOTES: None.
PiperOrigin-RevId: 170205997
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 5570c3f..a028e71 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
@@ -291,6 +291,15 @@
requiredProviders.addNativeSet(ImmutableSet.copyOf(providers));
return this;
}
+
+ /**
+ * Asserts that this aspect can only be evaluated for rules that supply all of the specified
+ * Skylark providers.
+ */
+ public Builder requireSkylarkProviders(SkylarkProviderIdentifier... skylarkProviders) {
+ requiredProviders.addSkylarkSet(ImmutableSet.copyOf(skylarkProviders));
+ return this;
+ }
public Builder requireAspectsWithProviders(
Iterable<ImmutableSet<SkylarkProviderIdentifier>> providerSets) {