blob: 80fdf44294821199219540bc31bb13664776e04c [file] [log] [blame]
"""Bazel tests for java_common APIs"""
load("@rules_testing//lib:analysis_test.bzl", "analysis_test", "test_suite")
load("@rules_testing//lib:util.bzl", "util")
load("//test/java/testutil:rules/custom_java_info_rule.bzl", "custom_java_info_rule")
def _test_java_common_pack_sources_with_external_resource(name):
util.helper_target(
custom_java_info_rule,
name = name + "/custom",
output_jar = name + "/custom.jar",
sources = [
":InternalLib.java",
"@other_repo//:ExternalLib.java",
],
pack_sources = True,
)
analysis_test(
name = name,
impl = _test_java_common_pack_sources_with_external_resource_impl,
target = name + "/custom",
# Bazel 7 names external repos differently
attr_values = {"tags": ["min_bazel_8"]},
)
def _test_java_common_pack_sources_with_external_resource_impl(env, target):
assert_that_action = env.expect.that_target(target).action_generating("{package}/{name}-src.jar")
assert_that_action.argv().contains_at_least([
"--resources",
"{package}/InternalLib.java:bazel/common/InternalLib.java",
"external/+test_repositories_ext+other_repo/ExternalLib.java:ExternalLib.java",
]).in_order()
def java_common_tests(name):
test_suite(
name = name,
tests = [
_test_java_common_pack_sources_with_external_resource,
],
)