Migrate the `JavaInfoStarlarkApiTest.buildHelperCreateJavaInfoWithGeneratedJars_javaRuleOutputJarsProvider` test to Starlark The test is removed from Bazel and added in rules_java PiperOrigin-RevId: 734637737 Change-Id: I0150bf630b23876b7dc1a2a66cd63ac6c86fdb7e
diff --git a/java/test/common/java_info_tests.bzl b/java/test/common/java_info_tests.bzl index d29bda4..e99a436 100644 --- a/java/test/common/java_info_tests.bzl +++ b/java/test/common/java_info_tests.bzl
@@ -758,6 +758,28 @@ assert_outputs.source_output_jars().contains_exactly(["{package}/my_starlark_rule_src.jar"]) assert_outputs.jdeps().contains_exactly(["{package}/my_jdeps.pb"]) +def _with_generated_jars_outputs_test(name): + target_name = name + "/my_starlark_rule" + util.helper_target( + custom_java_info_rule, + name = target_name, + generated_class_jar = "generated_class.jar", + generated_source_jar = "generated_srcs.jar", + output_jar = target_name + "/my_starlark_rule_lib.jar", + ) + + analysis_test( + name = name, + impl = _with_generated_jars_outputs_test_impl, + target = target_name, + ) + +def _with_generated_jars_outputs_test_impl(env, target): + assert_outputs = java_info_subject.from_target(env, target).outputs() + + assert_outputs.generated_class_jars().contains_exactly(["{package}/generated_class.jar"]) + assert_outputs.generated_source_jars().contains_exactly(["{package}/generated_srcs.jar"]) + def java_info_tests(name): test_suite( name = name, @@ -784,5 +806,6 @@ _with_plugins_test, _with_stamped_jar_test, _with_jdeps_test, + _with_generated_jars_outputs_test, ], )
diff --git a/java/test/testutil/java_info_subject.bzl b/java/test/testutil/java_info_subject.bzl index f111999..9ff3631 100644 --- a/java/test/testutil/java_info_subject.bzl +++ b/java/test/testutil/java_info_subject.bzl
@@ -43,6 +43,8 @@ jars = lambda: _new_java_outputs_collection_subject(actual.jars, self.meta.derive("jars")), class_output_jars = lambda: subjects.depset_file(depset([o.class_jar for o in actual.jars]), self.meta.derive("class_output_jars")), source_output_jars = lambda: subjects.depset_file(source_jars_depset, self.meta.derive("source_output_jars")), + generated_class_jars = lambda: subjects.depset_file(depset([o.generated_class_jar for o in actual.jars]), self.meta.derive("generated_class_jars")), + 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")), ) 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 547693a..cb198ae 100644 --- a/java/test/testutil/rules/custom_java_info_rule.bzl +++ b/java/test/testutil/rules/custom_java_info_rule.bzl
@@ -49,6 +49,8 @@ native_libraries = dp_libs, neverlink = ctx.attr.neverlink, jdeps = ctx.file.jdeps, + generated_class_jar = ctx.file.generated_class_jar, + generated_source_jar = ctx.file.generated_source_jar, ), ] @@ -64,6 +66,8 @@ "dep_exported_plugins": attr.label_list(), "cc_dep": attr.label_list(), "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), "use_ijar": attr.bool(default = False), "neverlink": attr.bool(default = False), "pack_sources": attr.bool(default = False),