Fetch dependencies through the Bazel federation.

As a result of this commit, rules_java now contains the required bzl files to be tested as part of the Bazel federation.
diff --git a/WORKSPACE b/WORKSPACE
index 20ae0dc..5995929 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -1,18 +1,24 @@
 workspace(name = "rules_java")
 
-load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
-rules_java_dependencies()
-rules_java_toolchains()
+http_archive(
+    name = "bazel_federation",
+    url = "https://github.com/bazelbuild/bazel-federation/archive/d0bb2efce669b28b1bf3c6db98cea38704ced82d.zip",
+    sha256 = "0c8646a871d25b62a6f2cdd7c21a3dc617a37701adea2a4e678394a084966e8c",
+    strip_prefix = "bazel_federation-d0bb2efce669b28b1bf3c6db98cea38704ced82d",
+    type = "zip",
+)
 
+load("@bazel_federation//:repositories.bzl", "rules_java_deps")
+rules_java_deps()
+
+load("@bazel_federation//setup:rules_java.bzl", "rules_java_setup")
+rules_java_setup()
 
 #
 # Dependencies for development of rules_java itself.
 #
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-http_archive(
-    name = "rules_pkg",
-    url = "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.1/rules_pkg-0.2.1.tar.gz",
-    sha256 = "04c1eab736f508e94c297455915b6371432cbc4106765b5252b444d1656db051",
-)
-load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
-rules_pkg_dependencies()
+load("//:internal_deps.bzl", "rules_java_internal_deps")
+rules_java_internal_deps()
+
+load("//:internal_setup.bzl", "rules_java_internal_setup")
+rules_java_internal_setup()
diff --git a/internal_deps.bzl b/internal_deps.bzl
new file mode 100644
index 0000000..e7a509b
--- /dev/null
+++ b/internal_deps.bzl
@@ -0,0 +1,4 @@
+load("@bazel_federation//:repositories.bzl", "rules_pkg")
+
+def rules_java_internal_deps():
+    rules_pkg()
diff --git a/internal_setup.bzl b/internal_setup.bzl
new file mode 100644
index 0000000..d8cf052
--- /dev/null
+++ b/internal_setup.bzl
@@ -0,0 +1,2 @@
+def rules_java_internal_setup():
+    pass  # placeholder for the federation
diff --git a/java/repositories.bzl b/java/repositories.bzl
index 6147648..93a4b92 100644
--- a/java/repositories.bzl
+++ b/java/repositories.bzl
@@ -12,6 +12,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# WARNING: This file only exists for backwards-compatibility.
+# rules_java uses the Bazel federation, so please add any new dependencies to
+# rules_java_deps() in
+# https://github.com/bazelbuild/bazel-federation/blob/master/repositories.bzl
+# Java-only third party dependencies can be added to
+# https://github.com/bazelbuild/bazel-federation/blob/master/java_repositories.bzl
+# Ideally we'd remove anything in this file except for rules_java_toolchains(),
+# which is being invoked as part of the federation setup.
+
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")