diff options
author | 2018-06-18 08:09:03 -0700 | |
---|---|---|
committer | 2018-06-18 08:10:18 -0700 | |
commit | 200837c2368d6b3383eb9dbcd25e293f818637bd (patch) | |
tree | 281bfe30d202219beb1612161a54af4469f34bc6 /src/main/java/com/google/devtools | |
parent | f904ea997f7762081fdceec7582bdf2a39237421 (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/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainSkylarkApiProvider.java | 22 |
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()); + } } |