Add a test for `java_binary` runtime_deps with transitive data (ignore-relnotes) PiperOrigin-RevId: 979233322 Change-Id: I2b72c1dd3f1ab0af20b7cb25bf90b6aa7b0c4966
diff --git a/test/java/common/rules/common_launcher_java_binary_tests.bzl b/test/java/common/rules/common_launcher_java_binary_tests.bzl index 2fbac4e..5096894 100644 --- a/test/java/common/rules/common_launcher_java_binary_tests.bzl +++ b/test/java/common/rules/common_launcher_java_binary_tests.bzl
@@ -473,6 +473,53 @@ "{package}/{test_name}/b2.jar", ]) +def _test_java_binary_runtime_deps_with_transitive_data(name): + util.helper_target( + java_binary, + name = name + "/bin", + srcs = ["Bin.java"], + runtime_deps = [name + "/lib"], + ) + util.helper_target( + java_library, + name = name + "/lib", + srcs = ["Lib.java"], + deps = [name + "/bundle"], + ) + util.helper_target( + java_library, + name = name + "/bundle", + data = [name + "/fava"], + exports = [name + "/bundle2"], + ) + util.helper_target( + java_library, + name = name + "/bundle2", + data = [name + "/extra"], + ) + util.helper_target( + native.filegroup, + name = name + "/fava", + srcs = ["some.js"], + ) + util.helper_target( + native.filegroup, + name = name + "/extra", + srcs = ["some.gss"], + ) + + analysis_test( + name = name, + impl = _test_java_binary_runtime_deps_with_transitive_data_impl, + target = name + "/bin", + ) + +def _test_java_binary_runtime_deps_with_transitive_data_impl(env, target): + env.expect.that_target(target).runfiles().contains_at_least([ + "{workspace}/{package}/some.js", + "{workspace}/{package}/some.gss", + ]) + def java_binary_launcher_tests(name): test_suite( name = name, @@ -491,5 +538,6 @@ _test_java_test_inner_class, _test_java_binary_strict_java_deps_flag, _test_java_binary_runtime_deps_transitivity, + _test_java_binary_runtime_deps_with_transitive_data, ], )