Add a test for `java_binary` without `/java/` in the package path PiperOrigin-RevId: 934781490 Change-Id: Ia341dbbcfb6a15b41f3888d9877f08e83f0b82c6
diff --git a/test/java/common/rules/java_binary_tests.bzl b/test/java/common/rules/java_binary_tests.bzl index d4699fa..05e7e8a 100644 --- a/test/java/common/rules/java_binary_tests.bzl +++ b/test/java/common/rules/java_binary_tests.bzl
@@ -428,6 +428,20 @@ }, ) +# regression test for #887069 +def _test_java_binary_java_package(name): + analysis_test( + name = name, + impl = _test_java_binary_java_package_impl, + target = "//test/testdata:non_java", + expect_failure = True, + ) + +def _test_java_binary_java_package_impl(env, target): + env.expect.that_target(target).failures().contains_predicate(matching.str_matches( + "main_class was not provided and cannot be inferred", + )) + def java_binary_tests(name): test_suite( name = name, @@ -442,5 +456,6 @@ _test_one_version_check_violations_allowed, _test_one_version_check_disabled, _test_java_binary_no_launcher_dep_if_not_executable, + _test_java_binary_java_package, ], )
diff --git a/test/testdata/BUILD b/test/testdata/BUILD new file mode 100644 index 0000000..2de4a35 --- /dev/null +++ b/test/testdata/BUILD
@@ -0,0 +1,21 @@ +load("@rules_testing//lib:util.bzl", "util") +load("//java:java_binary.bzl", "java_binary") +load("//java:java_library.bzl", "java_library") + +package(default_applicable_licenses = ["@rules_java//:license"]) + +# Make a sample jar for the http_jar test. +java_library( + name = "my_jar", + srcs = ["MyLib.java"], +) + +# Used by //test/java/common/rules/java_binary_tests.bzl%_test_java_binary_java_package +util.helper_target( + java_binary, + name = "non_java", + srcs = ["Foo.java"], + visibility = [ + "//test/java/common/rules:__pkg__", + ], +)
diff --git a/test/testdata/BUILD.bazel b/test/testdata/BUILD.bazel deleted file mode 100644 index 7a0c758..0000000 --- a/test/testdata/BUILD.bazel +++ /dev/null
@@ -1,9 +0,0 @@ -load("//java:java_library.bzl", "java_library") - -package(default_applicable_licenses = ["@rules_java//:license"]) - -# Make a sample jar for the http_jar test. -java_library( - name = "my_jar", - srcs = ["MyLib.java"], -)