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