Migrate the `JavaStarlarkApiTest.testJavaCommonCompileExposesOutputJarProvider` test to Starlark
The test is removed from Bazel and added in rules_java
PiperOrigin-RevId: 735290781
Change-Id: Ifd457722d746da45bbb503d100af48a0d2af0c0e
diff --git a/java/test/common/java_common_tests.bzl b/java/test/common/java_common_tests.bzl
index 9555ecd..1fb9b44 100644
--- a/java/test/common/java_common_tests.bzl
+++ b/java/test/common/java_common_tests.bzl
@@ -277,6 +277,29 @@
assert_output.jdeps().short_path_equals("{package}/lib{name}.jdeps")
assert_output.compile_jdeps().short_path_equals("{package}/lib{name}-hjar.jdeps")
+def _test_compile_exposes_outputs_provider(name):
+ util.helper_target(
+ custom_library,
+ name = name + "/dep",
+ srcs = ["Main.java"],
+ )
+
+ analysis_test(
+ name = name,
+ impl = _test_compile_exposes_outputs_provider_impl,
+ target = name + "/dep",
+ )
+
+def _test_compile_exposes_outputs_provider_impl(env, target):
+ assert_output = java_info_subject.from_target(env, target).outputs().jars().singleton()
+
+ assert_output.class_jar().short_path_equals("{package}/lib{name}.jar")
+ assert_output.compile_jar().short_path_equals("{package}/lib{name}-hjar.jar")
+ assert_output.source_jars().contains_exactly(["{package}/lib{name}-src.jar"])
+ assert_output.jdeps().short_path_equals("{package}/lib{name}.jdeps")
+ assert_output.native_headers_jar().short_path_equals("{package}/lib{name}-native-header.jar")
+ assert_output.compile_jdeps().short_path_equals("{package}/lib{name}-hjar.jdeps")
+
def java_common_tests(name):
test_suite(
name = name,
@@ -290,5 +313,6 @@
_test_compile_bootclasspath,
_test_compile_override_with_empty_bootclasspath,
_test_exposes_java_info_as_provider,
+ _test_compile_exposes_outputs_provider,
],
)
diff --git a/java/test/testutil/java_info_subject.bzl b/java/test/testutil/java_info_subject.bzl
index de2d218..246b56e 100644
--- a/java/test/testutil/java_info_subject.bzl
+++ b/java/test/testutil/java_info_subject.bzl
@@ -66,6 +66,7 @@
source_jars = lambda: subjects.depset_file(java_output.source_jars if hasattr(java_output.source_jars, "to_list") else depset(java_output.source_jars), meta.derive("source_jars")),
jdeps = lambda: subjects.file(java_output.jdeps, meta.derive("jdeps")),
compile_jdeps = lambda: subjects.file(java_output.compile_jdeps, meta.derive("compile_jdeps")),
+ native_headers_jar = lambda: subjects.file(java_output.native_headers_jar, meta.derive("native_headers_jar")),
)
return public