aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar elenairina <elenairina@google.com>2017-09-12 10:36:55 +0200
committerGravatar Philipp Wollermann <philwo@google.com>2017-09-12 14:07:22 +0200
commitfc06a7568fa4b9e2e425652e6ff83b6662f602d2 (patch)
tree619a7942c41144c48278a5e70671fa40e6d19efa /src/main
parentb0fd49b198a0227549a6fd113ea00a96197c80dc (diff)
Expose output source jars to JavaInfo.
PiperOrigin-RevId: 168345699
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
index 787d460f82..1524016978 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
@@ -28,6 +28,7 @@ import com.google.devtools.build.lib.packages.NativeProvider;
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.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
import java.util.ArrayList;
import java.util.LinkedList;
@@ -222,6 +223,18 @@ public final class JavaInfo extends NativeInfo {
.getJavaCompilationArgs().getCompileTimeJars());
}
+ @SkylarkCallable(
+ name = "source_jars",
+ doc = "Returns a list of jar files containing all the uncompiled source files (including "
+ + "those generated by annotations) from the target itself, i.e. NOT including the sources of "
+ + "the transitive dependencies",
+ structField = true
+ )
+ public SkylarkList<Artifact> getSourceJars() {
+ return SkylarkList.createImmutable(
+ providers.getProvider(JavaSourceJarsProvider.class).getSourceJars());
+ }
+
@Override
public boolean equals(Object otherObject) {
if (this == otherObject) {