feat(singlejar): Add Log4j plugins cache combiner #22581
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In singlejar, add support for combining Log4j2 plugins cache file.
Log4j2 plugins are Java annotations collected by a compiler plugin into .dat files for Log4j2 runtime to find them fast. With correct dependency on a
java_plugin
, Bazel already runs the java plugin compiler correctly. The behavior is correct onbazel run
JAR, but not on_deploy.jar
fat jars.The silent clobbering of files in general, and the example of these Log4j2 .dat files in particular, is discussed in #7330.
I tested this fix in my project using Bazel 7.0.2, compiling
//src:java_tools_prebuilt.zip
, and overriding@remote_java_tools_darwin_arm64
and@remote_java_tools_linux
.