Java, runfiles: move runfiles library sources

Move the Java runfiles library's sources from
//src/tools/runfiles/j/c/g/devtools/build/runfiles:*
to //tools/java/runfiles.

Fixes https://github.com/bazelbuild/bazel/issues/5803

RELNOTES[NEW]: Java, runfiles: the Java runfiles library is now in @bazel_tools//tools/java/runfiles. The old target (@bazel_tools//tools/runfiles:java-runfiles) is deprecated and will be removed in Bazel 0.18.0.

PiperOrigin-RevId: 208191521
diff --git a/src/BUILD b/src/BUILD
index e092209..618d670 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -131,7 +131,6 @@
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs",
         "//src/tools/android/java/com/google/devtools/build/android:embedded_tools",
         "//src/tools/launcher:srcs",
-        "//src/tools/runfiles:embedded_tools",
         "//src/tools/singlejar:embedded_tools",
         "//src/main/cpp/util:embedded_tools",
         "//src/main/native:embedded_tools",
@@ -352,7 +351,6 @@
         "//src/tools/android/java/com/google/devtools/build/android:srcs",
         "//src/tools/execlog:srcs",
         "//src/tools/launcher:srcs",
-        "//src/tools/runfiles:srcs",
         "//src/tools/package_printer/java/com/google/devtools/build/packageprinter:srcs",
         "//src/tools/skylark/java/com/google/devtools/skylark/skylint:srcs",
         "//src/tools/skylark/javatests/com/google/devtools/skylark/skylint:srcs",
@@ -408,7 +406,6 @@
         "//src/test/py/bazel:all_windows_tests",
         "//src/test/shell:all_windows_tests",
         "//src/tools/launcher:all_windows_tests",
-        "//src/tools/runfiles:all_windows_tests",
         "//third_party/def_parser:all_windows_tests",
         "//tools:all_windows_tests",
     ],
diff --git a/src/tools/runfiles/BUILD b/src/tools/runfiles/BUILD
deleted file mode 100644
index 9dd99e6..0000000
--- a/src/tools/runfiles/BUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# This package contains sources for language-specific runfiles libraries.
-#
-# Do not depend on these rules. Depend on the ones in @bazel_tools//tools/runfiles instead, that way
-# your binary won't require the Bazel source tree to work correctly.
-
-package(default_visibility = ["//visibility:private"])
-
-filegroup(
-    name = "srcs",
-    srcs = glob(
-        ["**"],
-        exclude = [".*"],  # .swp files and such
-    ) + [
-        "//src/tools/runfiles/java/com/google/devtools/build/runfiles:srcs",
-    ],
-    visibility = ["//src:__pkg__"],
-)
-
-filegroup(
-    name = "embedded_tools",
-    srcs = [
-        "BUILD.tools",
-        "//src/tools/runfiles/java/com/google/devtools/build/runfiles:embedded_tools",
-    ],
-    visibility = ["//src:__pkg__"],
-)
-
-test_suite(
-    name = "windows_tests",
-    tags = [
-        "-no_windows",
-        "-slow",
-    ],
-)
-
-test_suite(
-    name = "all_windows_tests",
-    tests = [
-        ":windows_tests",
-        "//src/tools/runfiles/java/com/google/devtools/build/runfiles:all_windows_tests",
-    ],
-    visibility = ["//src:__pkg__"],
-)
diff --git a/src/tools/runfiles/BUILD.tools b/src/tools/runfiles/BUILD.tools
deleted file mode 100644
index d3244d9..0000000
--- a/src/tools/runfiles/BUILD.tools
+++ /dev/null
@@ -1,4 +0,0 @@
-# This package is intentionally not exporting anything.
-# This BUILD file's sole purpose is to declare a Bazel package.
-#
-# Use the targets in the @bazel_tools//tools/runfiles package instead.
diff --git a/src/tools/runfiles/java/com/google/devtools/build/runfiles/BUILD b/src/tools/runfiles/java/com/google/devtools/build/runfiles/BUILD
deleted file mode 100644
index c988e82..0000000
--- a/src/tools/runfiles/java/com/google/devtools/build/runfiles/BUILD
+++ /dev/null
@@ -1,81 +0,0 @@
-package(default_visibility = ["//visibility:private"])
-
-filegroup(
-    name = "srcs",
-    srcs = glob(
-        ["**"],
-        exclude = [".*"],  # .swp files and such
-    ),
-    visibility = ["//src/tools/runfiles:__pkg__"],
-)
-
-filegroup(
-    name = "java-srcs",
-    srcs = [
-        "Runfiles.java",
-        "Util.java",
-    ],
-)
-
-filegroup(
-    name = "embedded_tools",
-    srcs = [
-        "BUILD.tools",
-        ":java-srcs",
-    ],
-    visibility = ["//src/tools/runfiles:__pkg__"],
-)
-
-java_library(
-    name = "runfiles",
-    srcs = [":java-srcs"],
-)
-
-java_test(
-    name = "RunfilesTest",
-    srcs = ["RunfilesTest.java"],
-    deps = [":test_deps"],
-)
-
-java_test(
-    name = "UtilTest",
-    srcs = ["UtilTest.java"],
-    deps = [":test_deps"],
-)
-
-java_library(
-    name = "test_deps",
-    testonly = 1,
-    exports = [
-        ":mock-file",
-        ":runfiles",
-        "//third_party:guava",
-        "//third_party:guava-testlib",
-        "//third_party:junit4",
-        "//third_party:truth",
-    ],
-)
-
-java_library(
-    name = "mock-file",
-    testonly = 1,
-    srcs = ["MockFile.java"],
-    exports = ["//third_party:guava"],
-    deps = ["//third_party:guava"],
-)
-
-test_suite(
-    name = "windows_tests",
-    tags = [
-        "-no_windows",
-        "-slow",
-    ],
-)
-
-test_suite(
-    name = "all_windows_tests",
-    tests = [
-        ":windows_tests",
-    ],
-    visibility = ["//src/tools/runfiles:__pkg__"],
-)
diff --git a/src/tools/runfiles/java/com/google/devtools/build/runfiles/BUILD.tools b/src/tools/runfiles/java/com/google/devtools/build/runfiles/BUILD.tools
deleted file mode 100644
index 2f90f25..0000000
--- a/src/tools/runfiles/java/com/google/devtools/build/runfiles/BUILD.tools
+++ /dev/null
@@ -1,23 +0,0 @@
-package(default_visibility = ["//visibility:private"])
-
-# TODO(laszlocsomor): move the sources to //tools/java/runfiles
-filegroup(
-    name = "java-srcs",
-    srcs = [
-        "Runfiles.java",
-        "Util.java",
-    ],
-)
-
-# TODO(laszlocsomor): after https://github.com/bazelbuild/bazel/issues/5802 is fixed, add a
-# `deprecation` attribute to @bazel_tools//tools/runfiles:java-runfiles, advising users to depend on
-# @bazel_tools//tools/java/runfiles instead. After a reasonable time (1-2 Bazel releases containing
-# the deprecation warning) remove @bazel_tools//tools/runfiles:java-runfiles.
-java_library(
-    name = "runfiles",
-    srcs = [":java-srcs"],
-    visibility = [
-        "//tools/runfiles:__pkg__",
-        "//tools/java/runfiles:__pkg__",
-    ],
-)
diff --git a/tools/java/runfiles/BUILD b/tools/java/runfiles/BUILD
index f81acb3..b69fe34 100644
--- a/tools/java/runfiles/BUILD
+++ b/tools/java/runfiles/BUILD
@@ -2,19 +2,70 @@
 
 filegroup(
     name = "srcs",
-    srcs = [
-        "BUILD",
-        "BUILD.tools",
-    ],
+    srcs = glob(
+        ["**"],
+        exclude = [".*"],  # .swp files and such
+    ),
     visibility = ["//tools/java:__pkg__"],
 )
 
 filegroup(
     name = "embedded_tools",
-    srcs = ["BUILD.tools"],
+    srcs = [
+        "BUILD.tools",
+        ":java-srcs",
+    ],
     visibility = ["//tools/java:__pkg__"],
 )
 
+filegroup(
+    name = "java-srcs",
+    srcs = [
+        "Runfiles.java",
+        "Util.java",
+    ],
+)
+
+java_library(
+    name = "runfiles",
+    srcs = [":java-srcs"],
+)
+
+java_test(
+    name = "RunfilesTest",
+    srcs = ["RunfilesTest.java"],
+    test_class = "com.google.devtools.build.runfiles.RunfilesTest",
+    deps = [":test_deps"],
+)
+
+java_test(
+    name = "UtilTest",
+    srcs = ["UtilTest.java"],
+    test_class = "com.google.devtools.build.runfiles.UtilTest",
+    deps = [":test_deps"],
+)
+
+java_library(
+    name = "test_deps",
+    testonly = 1,
+    exports = [
+        ":mock-file",
+        ":runfiles",
+        "//third_party:guava",
+        "//third_party:guava-testlib",
+        "//third_party:junit4",
+        "//third_party:truth",
+    ],
+)
+
+java_library(
+    name = "mock-file",
+    testonly = 1,
+    srcs = ["MockFile.java"],
+    exports = ["//third_party:guava"],
+    deps = ["//third_party:guava"],
+)
+
 test_suite(
     name = "windows_tests",
     tags = [
diff --git a/tools/java/runfiles/BUILD.tools b/tools/java/runfiles/BUILD.tools
index 011a549..a2ac4f5 100644
--- a/tools/java/runfiles/BUILD.tools
+++ b/tools/java/runfiles/BUILD.tools
@@ -1,6 +1,8 @@
-alias(
+java_library(
     name = "runfiles",
-    # TODO(laszlocsomor): move the sources to this package.
-    actual = "//src/tools/runfiles/java/com/google/devtools/build/runfiles",
+    srcs = [
+        "Runfiles.java",
+        "Util.java",
+    ],
     visibility = ["//visibility:public"],
 )
diff --git a/src/tools/runfiles/java/com/google/devtools/build/runfiles/MockFile.java b/tools/java/runfiles/MockFile.java
similarity index 100%
rename from src/tools/runfiles/java/com/google/devtools/build/runfiles/MockFile.java
rename to tools/java/runfiles/MockFile.java
diff --git a/src/tools/runfiles/java/com/google/devtools/build/runfiles/Runfiles.java b/tools/java/runfiles/Runfiles.java
similarity index 100%
rename from src/tools/runfiles/java/com/google/devtools/build/runfiles/Runfiles.java
rename to tools/java/runfiles/Runfiles.java
diff --git a/src/tools/runfiles/java/com/google/devtools/build/runfiles/RunfilesTest.java b/tools/java/runfiles/RunfilesTest.java
similarity index 100%
rename from src/tools/runfiles/java/com/google/devtools/build/runfiles/RunfilesTest.java
rename to tools/java/runfiles/RunfilesTest.java
diff --git a/src/tools/runfiles/java/com/google/devtools/build/runfiles/Util.java b/tools/java/runfiles/Util.java
similarity index 100%
rename from src/tools/runfiles/java/com/google/devtools/build/runfiles/Util.java
rename to tools/java/runfiles/Util.java
diff --git a/src/tools/runfiles/java/com/google/devtools/build/runfiles/UtilTest.java b/tools/java/runfiles/UtilTest.java
similarity index 100%
rename from src/tools/runfiles/java/com/google/devtools/build/runfiles/UtilTest.java
rename to tools/java/runfiles/UtilTest.java
diff --git a/tools/runfiles/BUILD.tools b/tools/runfiles/BUILD.tools
index 6f107ea..04c8e6f 100644
--- a/tools/runfiles/BUILD.tools
+++ b/tools/runfiles/BUILD.tools
@@ -1,7 +1,6 @@
-package(default_visibility = ["//visibility:public"])
-
 java_library(
     name = "java-runfiles",
-    exports = ["//src/tools/runfiles/java/com/google/devtools/build/runfiles"],
-    deprecation = "Depend on @bazel_tools//tools/java/runfiles instead. This target goes away in Bazel release 0.18.0",
+    exports = ["//tools/java/runfiles"],
+    visibility = ["//visibility:public"],
+    deprecation = "Depend on @bazel_tools//tools/java/runfiles instead. This target will be deleted in Bazel 0.18.0",
 )