Fix `bzl_library` graph for `java_single_jar`

Also add a `starlark_doc_extract` target as a regression test

PiperOrigin-RevId: 868067494
Change-Id: I1d373d9f40a49bb3affea1eb1ec4ce263b610662
diff --git a/java/BUILD b/java/BUILD
index 7888dab..b613191 100644
--- a/java/BUILD
+++ b/java/BUILD
@@ -66,7 +66,7 @@
     srcs = ["java_single_jar.bzl"],
     visibility = ["//visibility:public"],
     deps = [
-        "//java/bazel/rules",  # copybara-use-repo-external-label
+        "//java/bazel/rules:java_single_jar_bzl",  # copybara-use-repo-external-label
     ],
 )
 
diff --git a/java/bazel/rules/BUILD.bazel b/java/bazel/rules/BUILD.bazel
index e0d7958..108a3f9 100644
--- a/java/bazel/rules/BUILD.bazel
+++ b/java/bazel/rules/BUILD.bazel
@@ -23,7 +23,10 @@
 
 bzl_library(
     name = "rules",
-    srcs = glob(["*.bzl"]),
+    srcs = glob(
+        ["*.bzl"],
+        exclude = ["bazel_java_single_jar.bzl"],
+    ),
     visibility = ["//visibility:public"],  # for Bazel docgen
     deps = [
         "//java/common:semantics_bzl",
@@ -36,6 +39,17 @@
     ],
 )
 
+bzl_library(
+    name = "java_single_jar_bzl",
+    srcs = ["bazel_java_single_jar.bzl"],
+    visibility = [
+        "//java:__pkg__",
+    ],
+    deps = [
+        "//java/common/rules:java_single_jar_bzl",
+    ],
+)
+
 filegroup(
     name = "for_bazel_tests",
     testonly = 1,
diff --git a/test/BUILD.bazel b/test/BUILD.bazel
index 964c77c..951280d 100644
--- a/test/BUILD.bazel
+++ b/test/BUILD.bazel
@@ -81,3 +81,9 @@
     src = "@compatibility_proxy//:proxy.bzl",
     deps = ["@compatibility_proxy//:proxy_bzl"],
 )
+
+starlark_doc_extract(
+    name = "java_single_jar_bzl_graph",
+    src = "//java:java_single_jar.bzl",
+    deps = ["//java:java_single_jar"],
+)