aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-06-18 08:09:03 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-18 08:10:18 -0700
commit200837c2368d6b3383eb9dbcd25e293f818637bd (patch)
tree281bfe30d202219beb1612161a54af4469f34bc6 /src/main/java/com
parentf904ea997f7762081fdceec7582bdf2a39237421 (diff)
Expose single_jar and bootclasspath in the java toolchain to skylark.
This would allow pulling these from the toolchain in kotlin rules. PiperOrigin-RevId: 200996334
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainSkylarkApiProvider.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainSkylarkApiProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainSkylarkApiProvider.java
index 28937063ca..7ed711b2ad 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainSkylarkApiProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainSkylarkApiProvider.java
@@ -18,6 +18,8 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.skylark.SkylarkApiProvider;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkbuildapi.java.JavaToolchainSkylarkApiProviderApi;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
+import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
import java.util.Iterator;
/**
@@ -68,4 +70,24 @@ public final class JavaToolchainSkylarkApiProvider extends SkylarkApiProvider
return javaToolchainProvider.getJavac();
}
+ /** @return The {@link Artifact} of the SingleJar deploy jar */
+ @SkylarkCallable(
+ name = "single_jar",
+ doc = "The SingleJar deploy jar.",
+ structField = true
+ )
+ public Artifact getSingleJar() {
+ return JavaToolchainProvider.from(getInfo()).getSingleJar();
+ }
+
+ /** @return The bootclass path entries */
+ @SkylarkCallable(
+ name = "bootclasspath",
+ doc = "The Java target bootclasspath entries. Corresponds to javac's -bootclasspath flag.",
+ structField = true
+ )
+ public SkylarkNestedSet getBootclasspath() {
+ return SkylarkNestedSet.of(
+ Artifact.class, JavaToolchainProvider.from(getInfo()).getBootclasspath());
+ }
}