Remove stamp attribute from deploy jar rule
Since this rule may be invoked by users directly for java_test, we need to ensure we use the same `stamp` value for both the binary and the deploy jar.
Unfortunately, the bazel implementation uses `java_common.get_build_info()` which looks up stamping on the rulecontext attribute. This means we need to perform this lookup during analysis of the java_binary/java_test.
So we do that and pass the resolved build info files in java_binary/java_test to the deploy jar rule via the internal provider
PiperOrigin-RevId: 510432399
Change-Id: I035858c7ee865cde851b4c67821d69bcbbb7d164
diff --git a/src/main/starlark/builtins_bzl/bazel/java/bazel_java_binary_deploy_jar.bzl b/src/main/starlark/builtins_bzl/bazel/java/bazel_java_binary_deploy_jar.bzl
index 1bc772a..59ea539 100644
--- a/src/main/starlark/builtins_bzl/bazel/java/bazel_java_binary_deploy_jar.bzl
+++ b/src/main/starlark/builtins_bzl/bazel/java/bazel_java_binary_deploy_jar.bzl
@@ -41,6 +41,7 @@
info.main_class,
info.coverage_main_class,
info.strip_as_default,
+ info.build_info_files,
ctx.attr.binary.label.name,
)
diff --git a/src/main/starlark/builtins_bzl/common/java/java_binary.bzl b/src/main/starlark/builtins_bzl/common/java/java_binary.bzl
index f5d9694..819c3b6 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_binary.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_binary.bzl
@@ -38,6 +38,7 @@
"main_class",
"coverage_main_class",
"strip_as_default",
+ "build_info_files",
"hermetic",
"add_exports",
"add_opens",
@@ -290,6 +291,7 @@
main_class = main_class,
coverage_main_class = coverage_main_class,
strip_as_default = strip_as_default,
+ build_info_files = semantics.get_build_info(ctx, ctx.attr.stamp),
hermetic = hasattr(ctx.attr, "hermetic") and ctx.attr.hermetic,
add_exports = add_exports,
add_opens = add_opens,
diff --git a/src/main/starlark/builtins_bzl/common/java/java_binary_deploy_jar.bzl b/src/main/starlark/builtins_bzl/common/java/java_binary_deploy_jar.bzl
index 6751616..2370bb2 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_binary_deploy_jar.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_binary_deploy_jar.bzl
@@ -34,6 +34,7 @@
main_class,
coverage_main_class,
strip_as_default,
+ build_info_files,
build_target,
hermetic = False,
add_exports = depset(),
@@ -73,7 +74,6 @@
],
order = "preorder",
)
- build_info_files = semantics.get_build_info(ctx, getattr(ctx.attr, "stamp", 0))
multi_release = ctx.fragments.java.multi_release_deploy_jars
_create_deploy_archive(
@@ -244,7 +244,6 @@
attrs = {
"binary": attr.label(mandatory = True),
"deploy_manifest_lines": attr.string_list(),
- "stamp": attr.int(default = -1, values = [-1, 0, 1]),
# TODO(b/245144242): Used by IDE integration, remove when toolchains are used
"_java_toolchain": attr.label(
default = semantics.JAVA_TOOLCHAIN_LABEL,
@@ -253,9 +252,6 @@
"_cc_toolchain": attr.label(default = "@" + cc_semantics.get_repo() + "//tools/cpp:current_cc_toolchain"),
"_java_toolchain_type": attr.label(default = semantics.JAVA_TOOLCHAIN_TYPE),
"_java_runtime_toolchain_type": attr.label(default = semantics.JAVA_RUNTIME_TOOLCHAIN_TYPE),
- "_build_info_translator": attr.label(
- default = semantics.BUILD_INFO_TRANSLATOR,
- ),
},
outputs = _implicit_outputs,
fragments = ["java"],
diff --git a/src/main/starlark/builtins_bzl/common/java/java_binary_wrapper.bzl b/src/main/starlark/builtins_bzl/common/java/java_binary_wrapper.bzl
index 20d2ff0..8b44fab 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_binary_wrapper.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_binary_wrapper.bzl
@@ -67,7 +67,6 @@
)
_DEPLOY_JAR_RULE_ATTRS = {key: None for key in [
- "stamp",
"deploy_manifest_lines",
"visibility",
"testonly",
diff --git a/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl b/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
index 77887a5..10ca044 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
@@ -78,5 +78,4 @@
get_coverage_runner = _get_coverage_runner,
add_constraints = _add_constraints,
JAVA_STUB_TEMPLATE_LABEL = "@bazel_tools//tools/jdk:java_stub_template.txt",
- BUILD_INFO_TRANSLATOR = None,
)