diff options
author | 2016-09-20 14:46:06 +0000 | |
---|---|---|
committer | 2016-09-21 07:06:00 +0000 | |
commit | 63010255876a81cf2b0bc4fc5d95a0e1a99df58d (patch) | |
tree | 1a78efb227c11c524936c2bdf589d1ec8be0be1f /src/main/java/com/google/devtools/build/lib/rules | |
parent | 96d46280bc5a4803ba2242a4ad16939f85a3b212 (diff) |
Expose processor classpath and classnames to Skylark.
--
MOS_MIGRATED_REVID=133704700
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java | 2 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java | 28 |
2 files changed, 30 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 10a3ce704a..9fe251e6f9 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 @@ -399,6 +399,8 @@ public class JavaCommon { usesAnnotationProcessing, genClassJar, genSourceJar, + getProcessorClasspathJars(), + getProcessorClassNames(), classJarsBuilder.build(), sourceJarsBuilder.build() ); diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java index dbcd487d0e..817b14a97c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaGenJarsProvider.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.rules.java; +import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.TransitiveInfoProvider; import com.google.devtools.build.lib.collect.nestedset.NestedSet; @@ -38,6 +39,10 @@ public final class JavaGenJarsProvider implements TransitiveInfoProvider { private final Artifact genClassJar; @Nullable private final Artifact genSourceJar; + + private final ImmutableList<Artifact> processorClasspath; + private final ImmutableList<String> processorClassNames; + private final NestedSet<Artifact> transitiveGenClassJars; private final NestedSet<Artifact> transitiveGenSourceJars; @@ -45,11 +50,14 @@ public final class JavaGenJarsProvider implements TransitiveInfoProvider { boolean usesAnnotationProcessing, @Nullable Artifact genClassJar, @Nullable Artifact genSourceJar, + ImmutableList<Artifact> processorClasspath, ImmutableList<String> processorClassNames, NestedSet<Artifact> transitiveGenClassJars, NestedSet<Artifact> transitiveGenSourceJars) { this.usesAnnotationProcessing = usesAnnotationProcessing; this.genClassJar = genClassJar; this.genSourceJar = genSourceJar; + this.processorClasspath = processorClasspath; + this.processorClassNames = processorClassNames; this.transitiveGenClassJars = transitiveGenClassJars; this.transitiveGenSourceJars = transitiveGenSourceJars; } @@ -106,4 +114,24 @@ public final class JavaGenJarsProvider implements TransitiveInfoProvider { public NestedSet<Artifact> getTransitiveGenSourceJars() { return transitiveGenSourceJars; } + + @SkylarkCallable( + name = "processor_classpath", + structField = true, + doc = + "Returns a classpath of annotation processors applied to this rule." + ) + public ImmutableList<Artifact> getProcessorClasspath() { + return processorClasspath; + } + + @SkylarkCallable( + name = "processor_classnames", + structField = true, + doc = + "Returns class names of annotation processors applied to this rule." + ) + public ImmutableList<String> getProcessorClassNames() { + return processorClassNames; + } } |