Migrate the `JavaImportConfiguredTargetTest.testExportsRunfilesCollection` test to Starlark
The test is removed from Bazel and added to rules_java
(ignore-relnotes)
PiperOrigin-RevId: 756329625
Change-Id: I58dd7eb9a43140442960fa270e7fc86d431b2cbf
diff --git a/test/java/common/rules/java_import_tests.bzl b/test/java/common/rules/java_import_tests.bzl
index 83b28ac..8aee393 100644
--- a/test/java/common/rules/java_import_tests.bzl
+++ b/test/java/common/rules/java_import_tests.bzl
@@ -4,6 +4,7 @@
load("@rules_testing//lib:analysis_test.bzl", "analysis_test", "test_suite")
load("@rules_testing//lib:truth.bzl", "matching")
load("@rules_testing//lib:util.bzl", "util")
+load("//java:java_binary.bzl", "java_binary")
load("//java:java_import.bzl", "java_import")
load("//java:java_library.bzl", "java_library")
load("//java/common:java_info.bzl", "JavaInfo")
@@ -691,6 +692,41 @@
"{bin_path}/{package}/lib{name}/library_dep-hjar.jar",
])
+def _test_exports_runfile_collection(name):
+ target_name = name + "/tool"
+ util.helper_target(
+ java_import,
+ name = target_name + "/other_lib",
+ data = ["foo.txt"],
+ jars = ["other.jar"],
+ )
+ util.helper_target(
+ java_import,
+ name = target_name + "/lib",
+ jars = ["lib.jar"],
+ exports = [target_name + "/other_lib"],
+ )
+ util.helper_target(
+ java_binary,
+ name = target_name,
+ data = [target_name + "/lib"],
+ main_class = "com.google.exports.Launcher",
+ )
+
+ analysis_test(
+ name = name,
+ impl = _test_exports_runfile_collection_impl,
+ target = target_name,
+ )
+
+def _test_exports_runfile_collection_impl(env, target):
+ assert_runfiles = env.expect.that_target(target).runfiles()
+ assert_runfiles.contains_at_least_predicates([
+ matching.str_matches("/lib.jar"),
+ matching.str_matches("/other.jar"),
+ matching.str_matches("/foo.txt"),
+ ])
+
def java_import_tests(name):
test_suite(
name = name,
@@ -717,5 +753,6 @@
_test_ijar_can_be_disabled,
_test_duplicate_jars_through_filegroup,
_test_runtime_deps_are_not_on_classpath,
+ _test_exports_runfile_collection,
],
)