8000 use the `one_version_allowlist_for_tests` instead of the `one_version… · coderabbit-test/bazel@37268de · GitHub
[go: up one dir, main page]

Skip to content

Commit 37268de

Browse files
Googlercopybara-github
authored andcommitted
use the one_version_allowlist_for_tests instead of the one_version_allowlist for test targets
PiperOrigin-RevId: 555263433 Change-Id: I67322f53da7c6bc71df3c82036d0c38ff8857fac
1 parent c279c7b commit 37268de

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/main/java/com/google/devtools/build/lib/rules/java/OneVersionCheckActionBuilder.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,12 @@ public Artifact build(RuleContext ruleContext) throws InterruptedException {
7777
Preconditions.checkNotNull(jarsToCheck);
7878

7979
FilesToRunProvider oneVersionTool = javaToolchain.getOneVersionBinary();
80-
Artifact oneVersionAllowlist = javaToolchain.getOneVersionAllowlist();
80+
Artifact oneVersionAllowlist;
81+
if (ruleContext.isTestTarget()) {
82+
oneVersionAllowlist = javaToolchain.oneVersionAllowlistForTests();
83+
} else {
84+
oneVersionAllowlist = javaToolchain.getOneVersionAllowlist();
85+
}
8186
if (oneVersionTool == null || oneVersionAllowlist == null) {
8287
return null;
8388
}

src/main/starlark/builtins_bzl/common/java/java_binary.bzl

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def basic_java_binary(
210210
transitive = [output_groups["_source_jars"]],
211211
)
212212

213-
one_version_output = _create_one_version_check(ctx, java_attrs.runtime_classpath) if (
213+
one_version_output = _create_one_version_check(ctx, java_attrs.runtime_classpath, is_test_rule_class) if (
214214
ctx.fragments.java.one_version_enforcement_on_java_tests or not is_test_rule_class
215215
) else None
216216
validation_outputs = [one_version_output] if one_version_output else []
@@ -383,12 +383,18 @@ def _create_shared_archive(ctx, java_attrs):
383383
)
384384
return jsa
385385

386-
def _create_one_version_check(ctx, inputs):
386+
def _create_one_version_check(ctx, inputs, is_test_rule_class):
387387
one_version_level = ctx.fragments.java.one_version_enforcement_level
388388
if one_version_level == "OFF":
389389
return None
390390
tool = helper.check_and_get_one_version_attribute(ctx, "one_version_tool")
391-
allowlist = helper.check_and_get_one_version_attribute(ctx, "one_version_allowlist")
391+
392+
if is_test_rule_class:
393+
toolchain = semantics.find_java_toolchain(ctx)
394+
allowlist = toolchain.one_version_allowlist_for_tests()
395+
else:
396+
allowlist = helper.check_and_get_one_version_attribute(ctx, "one_version_allowlist")
397+
392398
if not tool or not allowlist: # On Mac oneversion tool is not available
393399
return None
394400

0 commit comments

Comments
 (0)
0