Migrate a few trivial uses of @SkylarkSignature to use @SkylarkCallable instead
RELNOTES: None.
PiperOrigin-RevId: 187531006
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
index 5cb79fd..e557cc2 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
@@ -14,12 +14,19 @@
package com.google.devtools.build.lib.analysis;
+import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.collect.nestedset.NestedSet;
+import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
+import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.packages.RequiredProviders;
+import com.google.devtools.build.lib.skylarkinterface.Param;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
import com.google.devtools.build.lib.syntax.SkylarkIndexable;
+import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
import javax.annotation.Nullable;
/**
@@ -62,6 +69,20 @@
)
public interface TransitiveInfoCollection extends SkylarkIndexable, SkylarkProviderCollection {
+ @SkylarkCallable(name = "output_group",
+ documented = false, // TODO(dslomov): document.
+ parameters = {
+ @Param(name = "group_name", type = String.class, doc = "Output group name")
+ }
+ )
+ default SkylarkNestedSet outputGroup(String group) {
+ OutputGroupInfo provider = OutputGroupInfo.get(this);
+ NestedSet<Artifact> result = provider != null
+ ? provider.getOutputGroup(group)
+ : NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER);
+ return SkylarkNestedSet.of(Artifact.class, result);
+ }
+
/**
* Returns the transitive information provider requested, or null if the provider is not found.
* The provider has to be a TransitiveInfoProvider Java class.