Migrate the `JavaInfoStarlarkApiTest.buildHelperCreateJavaInfoWithNativeHeaders_javaRuleOutputJarsProvider` test to Starlark
The test is removed from Bazel and added in rules_java
PiperOrigin-RevId: 734657671
Change-Id: I4b106fca127a48ced816d57c5c9c5ca25f523677
diff --git a/java/test/common/java_info_tests.bzl b/java/test/common/java_info_tests.bzl
index 9e4d1a3..4c26af5 100644
--- a/java/test/common/java_info_tests.bzl
+++ b/java/test/common/java_info_tests.bzl
@@ -822,6 +822,26 @@
"{package}/compile.deps",
])
+def _with_native_headers_test(name):
+ target_name = name + "/my_starlark_rule"
+ util.helper_target(
+ custom_java_info_rule,
+ name = target_name,
+ native_headers_jar = "native_headers.jar",
+ output_jar = target_name + "/my_starlark_rule_lib.jar",
+ )
+
+ analysis_test(
+ name = name,
+ impl = _with_native_headers_test_impl,
+ target = target_name,
+ )
+
+def _with_native_headers_test_impl(env, target):
+ java_info_subject.from_target(env, target).outputs().native_headers().contains_exactly([
+ "{package}/native_headers.jar",
+ ])
+
def java_info_tests(name):
test_suite(
name = name,
@@ -851,5 +871,6 @@
_with_generated_jars_outputs_test,
_with_generated_jars_annotation_processing_test,
_with_compile_jdeps_test,
+ _with_native_headers_test,
],
)
diff --git a/java/test/testutil/java_info_subject.bzl b/java/test/testutil/java_info_subject.bzl
index a3db4ba..aea927b 100644
--- a/java/test/testutil/java_info_subject.bzl
+++ b/java/test/testutil/java_info_subject.bzl
@@ -47,6 +47,7 @@
generated_source_jars = lambda: subjects.depset_file(depset([o.generated_source_jar for o in actual.jars]), self.meta.derive("generated_source_jars")),
jdeps = lambda: subjects.depset_file(depset([o.jdeps for o in actual.jars]), self.meta.derive("jdeps")),
compile_jdeps = lambda: subjects.depset_file(depset([o.compile_jdeps for o in actual.jars]), self.meta.derive("compile_jdeps")),
+ native_headers = lambda: subjects.depset_file(depset([o.native_headers_jar for o in actual.jars]), self.meta.derive("native_headers")),
)
return public
diff --git a/java/test/testutil/rules/custom_java_info_rule.bzl b/java/test/testutil/rules/custom_java_info_rule.bzl
index a74f9c3..ad1bb65 100644
--- a/java/test/testutil/rules/custom_java_info_rule.bzl
+++ b/java/test/testutil/rules/custom_java_info_rule.bzl
@@ -52,6 +52,7 @@
compile_jdeps = ctx.file.compile_jdeps,
generated_class_jar = ctx.file.generated_class_jar,
generated_source_jar = ctx.file.generated_source_jar,
+ native_headers_jar = ctx.file.native_headers_jar,
),
]
@@ -70,6 +71,7 @@
"compile_jdeps": attr.label(allow_single_file = True),
"generated_class_jar": attr.label(allow_single_file = True),
"generated_source_jar": attr.label(allow_single_file = True),
+ "native_headers_jar": attr.label(allow_single_file = True),
"use_ijar": attr.bool(default = False),
"neverlink": attr.bool(default = False),
"pack_sources": attr.bool(default = False),