Add runfiles library to release archive

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

BEGIN_PUBLIC
Add runfiles library to release archive (#242)

Closes #242
END_PUBLIC

COPYBARA_INTEGRATE_REVIEW=https://github.com/bazelbuild/rules_java/pull/242 from fmeum:fix-runfiles dcc8004733fe5a6257f5ef2fdec5b04cdb62564a
PiperOrigin-RevId: 698035007
Change-Id: I069b7f289a40550ac1c8024d013863e3d384d5a6
diff --git a/java/BUILD b/java/BUILD
index 1710129..caacb07 100644
--- a/java/BUILD
+++ b/java/BUILD
@@ -13,6 +13,7 @@
         "//java/common:srcs",
         "//java/private:srcs",
         "//java/proto:srcs",
+        "//java/runfiles:srcs",
         "//java/toolchains:srcs",
     ],
     visibility = ["//:__pkg__"],
diff --git a/java/runfiles/BUILD.bazel b/java/runfiles/BUILD.bazel
index 792e45f..05a8104 100644
--- a/java/runfiles/BUILD.bazel
+++ b/java/runfiles/BUILD.bazel
@@ -3,3 +3,11 @@
     actual = "//java/runfiles/src/main/java/com/google/devtools/build/runfiles",
     visibility = ["//visibility:public"],
 )
+
+filegroup(
+    name = "srcs",
+    srcs = glob(["**"]) + [
+        "//java/runfiles/src/main/java/com/google/devtools/build/runfiles:srcs",
+    ],
+    visibility = ["//java:__pkg__"],
+)
diff --git a/java/runfiles/src/main/java/com/google/devtools/build/runfiles/BUILD.bazel b/java/runfiles/src/main/java/com/google/devtools/build/runfiles/BUILD.bazel
index fd351b7..a2563d9 100644
--- a/java/runfiles/src/main/java/com/google/devtools/build/runfiles/BUILD.bazel
+++ b/java/runfiles/src/main/java/com/google/devtools/build/runfiles/BUILD.bazel
@@ -21,3 +21,9 @@
     srcs = ["AutoBazelRepositoryProcessor.java"],
     processor_class = "com.google.devtools.build.runfiles.AutoBazelRepositoryProcessor",
 )
+
+filegroup(
+    name = "srcs",
+    srcs = glob(["**"]),
+    visibility = ["//java/runfiles:__pkg__"],
+)
diff --git a/test/repo/BUILD.bazel b/test/repo/BUILD.bazel
index 20deeae..c1482da 100644
--- a/test/repo/BUILD.bazel
+++ b/test/repo/BUILD.bazel
@@ -15,7 +15,13 @@
 java_test(
     name = "MyTest",
     srcs = ["src/MyTest.java"],
-    deps = ["@my_jar//jar"],
+    data = [
+        "src/data.txt",
+    ],
+    deps = [
+        "@my_jar//jar",
+        "@rules_java//java/runfiles",
+    ],
 )
 
 default_java_toolchain(
diff --git a/test/repo/MODULE.bazel b/test/repo/MODULE.bazel
index 5a4d611..c582bf4 100644
--- a/test/repo/MODULE.bazel
+++ b/test/repo/MODULE.bazel
@@ -1,4 +1,4 @@
-module(name = "fake_repo_for_testing")
+module(name = "integration_test_repo")
 
 bazel_dep(name = "rules_java", version = "7.5.0")
 archive_override(
diff --git a/test/repo/setup.sh b/test/repo/setup.sh
old mode 100644
new mode 100755
diff --git a/test/repo/src/MyTest.java b/test/repo/src/MyTest.java
index 2de08a0..d2c2108 100644
--- a/test/repo/src/MyTest.java
+++ b/test/repo/src/MyTest.java
@@ -1,15 +1,29 @@
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
+import com.google.devtools.build.runfiles.AutoBazelRepository;
+import com.google.devtools.build.runfiles.Runfiles;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import mypackage.MyLib;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 @RunWith(JUnit4.class)
+@AutoBazelRepository
 public class MyTest {
   @Test
   public void main() {
     assertEquals(MyLib.myStr(), "my_string");
   }
-}
 
+  @Test
+  public void runfiles() throws IOException {
+    Runfiles runfiles = Runfiles.preload().withSourceRepository(AutoBazelRepository_MyTest.NAME);
+    Path path = Paths.get(runfiles.rlocation("integration_test_repo/src/data.txt"));
+    assertTrue(Files.exists(path));
+  }
+}
diff --git a/test/repo/src/data.txt b/test/repo/src/data.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/repo/src/data.txt