aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-05-22 14:00:22 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-22 14:01:24 -0700
commit28cc833b50d55051ac087a5362b8c14cb67893e8 (patch)
tree5dc6629d2b4d629723e90195a5c7d50ada252597 /src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
parent055d6c619ab572debddb3518616c75f64462c145 (diff)
Migrate JavaInfo's provider to use the new provider pattern.
This dramatically improves documentation generation for JavaInfo and it makes it far more maintainable and extensible going forward. RELNOTES: None. PiperOrigin-RevId: 197619040
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
index 26ba4441ea..a7d80cc300 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
@@ -44,6 +44,7 @@ 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.BuildType;
+import com.google.devtools.build.lib.packages.BuiltinProvider;
import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.packages.Target;
@@ -919,6 +920,10 @@ public class JavaCommon {
return AnalysisUtils.getProviders(getDependencies(), provider);
}
+ /** Gets all the deps that implement a particular provider. */
+ public final <P extends Info> Iterable<P> getDependencies(BuiltinProvider<P> provider) {
+ return AnalysisUtils.getProviders(getDependencies(), provider);
+ }
/**
* Returns true if and only if this target has the neverlink attribute set to