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
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 2893706..7ed711b 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.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 @@
     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());
+  }
 }