Mark `toolchains` extension as reproducible

Copybara Import from https://github.com/bazelbuild/rules_java/pull/187

Needed a manual import with a copybara fix (top-level targets for transformed repositories need special casing)

BEGIN_PUBLIC
Mark `toolchains` extension as reproducible (#187)

This avoids an unnecessary and verbose lockfile entry for rules_java users. Uses `bazel_skylib`'s `modules.as_extension` to automatically detect the availability of the `reproducible` feature.

Closes #187
END_PUBLIC

PiperOrigin-RevId: 633475117
Change-Id: I05f1578e767f2148ef59a041c1b505c30976c779
diff --git a/MODULE.bazel b/MODULE.bazel
index 9562fe7..3ec2b66 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -8,7 +8,7 @@
 
 bazel_dep(name = "platforms", version = "0.0.4")
 bazel_dep(name = "rules_cc", version = "0.0.2")
-bazel_dep(name = "bazel_skylib", version = "1.2.0")
+bazel_dep(name = "bazel_skylib", version = "1.6.1")
 
 # Required by @remote_java_tools, which is loaded via module extension.
 bazel_dep(name = "rules_proto", version = "4.0.0")
diff --git a/WORKSPACE b/WORKSPACE
index b00be3e..6e4b3c0 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -4,10 +4,10 @@
 
 http_archive(
     name = "bazel_skylib",
-    sha256 = "af87959afe497dc8dfd4c6cb66e1279cb98ccc84284619ebfec27d9c09a903de",
+    sha256 = "9f38886a40548c6e96c106b752f242130ee11aaa068a56ba7e56f4511f33e4f2",
     urls = [
-        "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz",
-        "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz",
+        "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz",
+        "https://github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz",
     ],
 )
 
diff --git a/java/extensions.bzl b/java/extensions.bzl
index 3699aca..d79d810 100644
--- a/java/extensions.bzl
+++ b/java/extensions.bzl
@@ -13,6 +13,7 @@
 # limitations under the License.
 """Module extensions for rules_java."""
 
+load("@bazel_skylib//lib:modules.bzl", "modules")
 load(
     "//java:repositories.bzl",
     "java_tools_repos",
@@ -23,7 +24,7 @@
     "remote_jdk8_repos",
 )
 
-def _toolchains_impl(_ctx):
+def _toolchains_impl():
     java_tools_repos()
     local_jdk_repo()
     remote_jdk8_repos()
@@ -31,4 +32,4 @@
     remote_jdk17_repos()
     remote_jdk21_repos()
 
-toolchains = module_extension(implementation = _toolchains_impl)
+toolchains = modules.as_extension(_toolchains_impl)