|
| 1 | +commit 15e6efd2de5c8acc13b8da039204c0920a322cfd |
| 2 | +Author: Yun Peng <pcloudy@google.com> |
| 3 | +Date: Wed Dec 10 12:29:51 2025 +0000 |
| 4 | + |
| 5 | + Fix build with Bazel 9 |
| 6 | + |
| 7 | +diff --git a/MODULE.bazel b/MODULE.bazel |
| 8 | +index 4231d3e..834550b 100644 |
| 9 | +--- a/MODULE.bazel |
| 10 | ++++ b/MODULE.bazel |
| 11 | +@@ -10,6 +10,6 @@ bazel_dep(name = "rules_shell", version = "0.6.1") |
| 12 | + non_module_deps = use_extension("//internal:non_module_deps.bzl", "non_module_deps") |
| 13 | + use_repo( |
| 14 | + non_module_deps, |
| 15 | +- "jvm__jarjar_abrams_assembly", |
| 16 | + "jvm__com_twitter__scalding_args", |
| 17 | ++ "jvm__jarjar_abrams_assembly", |
| 18 | + ) |
| 19 | +diff --git a/internal/jar_jar.bzl b/internal/jar_jar.bzl |
| 20 | +index f06101f..18ff29e 100644 |
| 21 | +--- a/internal/jar_jar.bzl |
| 22 | ++++ b/internal/jar_jar.bzl |
| 23 | +@@ -1,5 +1,6 @@ |
| 24 | + load("@bazel_tools//tools/jdk:toolchain_utils.bzl", "find_java_toolchain") |
| 25 | + load("@rules_java//java/common:java_common.bzl", "java_common") |
| 26 | ++load("@rules_java//java/common:java_info.bzl", "JavaInfo") |
| 27 | + |
| 28 | + def _jar_jar_impl(ctx): |
| 29 | + rule_file = ctx.file.rules |
| 30 | +@@ -11,12 +12,12 @@ def _jar_jar_impl(ctx): |
| 31 | + rule_file = ctx.actions.declare_file("jar_jar-rules-" + ctx.label.name + ".tmp") |
| 32 | + ctx.actions.write( |
| 33 | + output = rule_file, |
| 34 | +- content = "\n".join(ctx.attr.inline_rules) |
| 35 | ++ content = "\n".join(ctx.attr.inline_rules), |
| 36 | + ) |
| 37 | + |
| 38 | + args = ctx.actions.args() |
| 39 | + if ctx.attr.jvm_flags: |
| 40 | +- args.add_joined(ctx.attr.jvm_flags, join_with=" ", format_joined="--jvm_flags=%s") |
| 41 | ++ args.add_joined(ctx.attr.jvm_flags, join_with = " ", format_joined = "--jvm_flags=%s") |
| 42 | + args.add("process") |
| 43 | + args.add(rule_file) |
| 44 | + args.add(ctx.file.input_jar) |
| 45 | +@@ -52,7 +53,7 @@ jar_jar = rule( |
| 46 | + "output_jar": attr.output(mandatory = True), |
| 47 | + "input_jar": attr.label(allow_single_file = True), |
| 48 | + "rules": attr.label(allow_single_file = True), |
| 49 | +- "inline_rules" : attr.string_list(), |
| 50 | ++ "inline_rules": attr.string_list(), |
| 51 | + "jvm_flags": attr.string_list(), |
| 52 | + "_jarjar_runner": attr.label(executable = True, cfg = "exec", default = "//src/main/java/com/github/johnynek/jarjar:app"), |
| 53 | + "_java_toolchain": attr.label( |
| 54 | +diff --git a/jar_jar_aspect.bzl b/jar_jar_aspect.bzl |
| 55 | +index abb10d0..5849d4e 100644 |
| 56 | +--- a/jar_jar_aspect.bzl |
| 57 | ++++ b/jar_jar_aspect.bzl |
| 58 | +@@ -1,3 +1,6 @@ |
| 59 | ++load("@rules_java//java/common:java_common.bzl", "java_common") |
| 60 | ++load("@rules_java//java/common:java_info.bzl", "JavaInfo") |
| 61 | ++ |
| 62 | + # This is the provider we pass up along to the outer thin_jar_jar rule. |
| 63 | + ShadedJars = provider(fields = [ |
| 64 | + "java_info", |
| 65 | +@@ -8,8 +11,8 @@ ShadedJars = provider(fields = [ |
| 66 | + |
| 67 | + ExtraDependencyInfo = provider( |
| 68 | + fields = { |
| 69 | +- "extra_java_deps": "Depset[JavaInfo] with extra java dependencies to include in the list of jars to be shaded" |
| 70 | +- } |
| 71 | ++ "extra_java_deps": "Depset[JavaInfo] with extra java dependencies to include in the list of jars to be shaded", |
| 72 | ++ }, |
| 73 | + ) |
| 74 | + |
| 75 | + def merge_shaded_jars_info(shaded_jars): |
| 76 | +@@ -83,7 +86,7 @@ def _jar_jar_aspect_impl(target, ctx): |
| 77 | + if len(current_jars) == 0: |
| 78 | + current_jars = [_build_nosrc_jar(ctx)] |
| 79 | + |
| 80 | +- transitive_shaded=[] |
| 81 | ++ transitive_shaded = [] |
| 82 | + if hasattr(ctx.rule.attr, "runtime_deps"): |
| 83 | + for d in ctx.rule.attr.runtime_deps: |
| 84 | + if ShadedJars in d: |
| 85 | +@@ -101,7 +104,6 @@ def _jar_jar_aspect_impl(target, ctx): |
| 86 | + transitive_shaded.append(shaded_jars.transitive_shaded) |
| 87 | + java_info_exports.append(shaded_jars.java_info) |
| 88 | + |
| 89 | +- |
| 90 | + java_info_deps = [] |
| 91 | + for d in ctx.rule.attr.deps: |
| 92 | + if ShadedJars in d: |
| 93 | +@@ -127,7 +129,7 @@ def _jar_jar_aspect_impl(target, ctx): |
| 94 | + ) |
| 95 | + flags = [] |
| 96 | + if duplicate_to_warn: |
| 97 | +- flags.append("-DduplicateClassToWarn={duplicate_to_warn}".format(duplicate_to_warn=duplicate_to_warn)) |
| 98 | ++ flags.append("-DduplicateClassToWarn={duplicate_to_warn}".format(duplicate_to_warn = duplicate_to_warn)) |
| 99 | + |
| 100 | + args = ctx.actions.args() |
| 101 | + for flag in flags: |
| 102 | +@@ -149,7 +151,7 @@ def _jar_jar_aspect_impl(target, ctx): |
| 103 | + java_info = java_common.make_non_strict(java_common.merge(java_outputs)), |
| 104 | + output_files = depset(output_files), |
| 105 | + tags = ctx.rule.attr.tags or [], |
| 106 | +- transitive_shaded = depset(transitive=transitive_shaded) |
| 107 | ++ transitive_shaded = depset(transitive = transitive_shaded), |
| 108 | + ), |
| 109 | + ] |
| 110 | + |
| 111 | +@@ -159,9 +161,7 @@ jar_jar_aspect = aspect( |
| 112 | + required_aspect_providers = [ |
| 113 | + [JavaInfo], |
| 114 | + [ShadedJars], |
| 115 | +- # Allows this to pass through java proto libraries |
| 116 | +- ['proto_java'], |
| 117 | +- [] |
| 118 | ++ [], |
| 119 | + ], |
| 120 | + attrs = { |
| 121 | + "_java_toolchain": attr.label( |
| 122 | +@@ -172,9 +172,8 @@ jar_jar_aspect = aspect( |
| 123 | + cfg = "exec", |
| 124 | + default = Label("@bazel_tools//tools/zip:zipper"), |
| 125 | + allow_files = True, |
| 126 | +- ) |
| 127 | ++ ), |
| 128 | + }, |
| 129 | +- |
| 130 | + toolchains = [ |
| 131 | + "//toolchains:toolchain_type", |
| 132 | + ], |
| 133 | +diff --git a/jar_jar_toolchain.bzl b/jar_jar_toolchain.bzl |
| 134 | +index 92826af..0e3eff2 100644 |
| 135 | +--- a/jar_jar_toolchain.bzl |
| 136 | ++++ b/jar_jar_toolchain.bzl |
| 137 | +@@ -13,6 +13,6 @@ jar_jar_toolchain = rule( |
| 138 | + "rules": attr.label(allow_single_file = True), |
| 139 | + "duplicate_class_to_warn": attr.bool(mandatory = False, default = False), |
| 140 | + "jar_jar_runner": attr.label(executable = True, cfg = "exec", default = "//src/main/java/com/github/johnynek/jarjar:app"), |
| 141 | +- "jar_jar_is_native_image": attr.bool(default = False) |
| 142 | ++ "jar_jar_is_native_image": attr.bool(default = False), |
| 143 | + }, |
| 144 | + ) |
| 145 | +diff --git a/src/main/java/com/github/johnynek/jarjar/BUILD.bazel b/src/main/java/com/github/johnynek/jarjar/BUILD.bazel |
| 146 | +index 7573b20..200ea8b 100644 |
| 147 | +--- a/src/main/java/com/github/johnynek/jarjar/BUILD.bazel |
| 148 | ++++ b/src/main/java/com/github/johnynek/jarjar/BUILD.bazel |
| 149 | +@@ -2,8 +2,8 @@ load("@rules_java//java:defs.bzl", "java_binary") |
| 150 | + |
| 151 | + java_binary( |
| 152 | + name = "app", |
| 153 | +- main_class = "com.github.johnynek.jarjar.Main", |
| 154 | + srcs = ["Main.java"], |
| 155 | ++ main_class = "com.github.johnynek.jarjar.Main", |
| 156 | + visibility = ["//visibility:public"], |
| 157 | + deps = ["@jvm__jarjar_abrams_assembly//jar"], |
| 158 | + ) |
| 159 | +diff --git a/src/test/bazel/BUILD.bazel b/src/test/bazel/BUILD.bazel |
| 160 | +index 6f5a9b6..4c2767c 100644 |
| 161 | +--- a/src/test/bazel/BUILD.bazel |
| 162 | ++++ b/src/test/bazel/BUILD.bazel |
| 163 | +@@ -7,8 +7,8 @@ load( |
| 164 | + jar_jar( |
| 165 | + name = "scalding_args__shaded", |
| 166 | + input_jar = "@jvm__com_twitter__scalding_args//jar", |
| 167 | +- rules = "shade_rule", |
| 168 | + output_jar = "scalding_args__shaded.jar", |
| 169 | ++ rules = "shade_rule", |
| 170 | + ) |
| 171 | + |
| 172 | + sh_test( |
| 173 | +diff --git a/test/jar_jar/example/BUILD b/test/jar_jar/example/BUILD |
| 174 | +index e12c07b..7f468dc 100644 |
| 175 | +--- a/test/jar_jar/example/BUILD |
| 176 | ++++ b/test/jar_jar/example/BUILD |
| 177 | +@@ -2,6 +2,8 @@ load( |
| 178 | + "@com_github_johnynek_bazel_jar_jar//:jar_jar.bzl", |
| 179 | + "jar_jar", |
| 180 | + ) |
| 181 | ++load("@rules_java//java:java_import.bzl", "java_import") |
| 182 | ++load("@rules_java//java:java_library.bzl", "java_library") |
| 183 | + |
| 184 | + alias( |
| 185 | + name = "file_output", |
| 186 | +@@ -16,18 +18,18 @@ alias( |
| 187 | + jar_jar( |
| 188 | + name = "shaded_args_custom_out", |
| 189 | + input_jar = "@com_twitter_scalding_args", |
| 190 | +- rules = "shade_rule", |
| 191 | + output_jar = "custom_name.jar", |
| 192 | ++ rules = "shade_rule", |
| 193 | + ) |
| 194 | + |
| 195 | + jar_jar( |
| 196 | + name = "shaded_args", |
| 197 | + input_jar = "@com_twitter_scalding_args", |
| 198 | +- rules = "shade_rule", |
| 199 | + jvm_flags = [ |
| 200 | +- "-Xmx2g", |
| 201 | ++ "-Xmx2g", |
| 202 | + "-Xms256m", |
| 203 | +- ] |
| 204 | ++ ], |
| 205 | ++ rules = "shade_rule", |
| 206 | + ) |
| 207 | + |
| 208 | + java_import( |
| 209 | +diff --git a/test/jar_jar/inline_example/BUILD b/test/jar_jar/inline_example/BUILD |
| 210 | +index 85ad918..c9fc661 100644 |
| 211 | +--- a/test/jar_jar/inline_example/BUILD |
| 212 | ++++ b/test/jar_jar/inline_example/BUILD |
| 213 | +@@ -2,11 +2,13 @@ load( |
| 214 | + "@com_github_johnynek_bazel_jar_jar//:jar_jar.bzl", |
| 215 | + "jar_jar", |
| 216 | + ) |
| 217 | ++load("@rules_java//java:java_import.bzl", "java_import") |
| 218 | ++load("@rules_java//java:java_library.bzl", "java_library") |
| 219 | + |
| 220 | + jar_jar( |
| 221 | + name = "shaded_args", |
| 222 | +- input_jar = "@com_twitter_scalding_args", |
| 223 | + inline_rules = ["rule com.twitter.scalding.** foo.@1"], |
| 224 | ++ input_jar = "@com_twitter_scalding_args", |
| 225 | + ) |
| 226 | + |
| 227 | + java_import( |
| 228 | +diff --git a/test/jar_jar_aspect/example/BUILD b/test/jar_jar_aspect/example/BUILD |
| 229 | +index 367344b..50649e4 100644 |
| 230 | +--- a/test/jar_jar_aspect/example/BUILD |
| 231 | ++++ b/test/jar_jar_aspect/example/BUILD |
| 232 | +@@ -2,6 +2,7 @@ load( |
| 233 | + "@com_github_johnynek_bazel_jar_jar//:thin_jar_jar.bzl", |
| 234 | + "thin_jar_jar", |
| 235 | + ) |
| 236 | ++load("@rules_java//java:java_library.bzl", "java_library") |
| 237 | + |
| 238 | + java_library( |
| 239 | + name = "using_unshaded", |
| 240 | +diff --git a/thin_jar_jar.bzl b/thin_jar_jar.bzl |
| 241 | +index 573e2f8..f6b9de8 100644 |
| 242 | +--- a/thin_jar_jar.bzl |
| 243 | ++++ b/thin_jar_jar.bzl |
| 244 | +@@ -1,3 +1,4 @@ |
| 245 | ++load("@rules_java//java/common:java_info.bzl", "JavaInfo") |
| 246 | + load("//:jar_jar_aspect.bzl", "ShadedJars", "jar_jar_aspect", "merge_shaded_jars_info") |
| 247 | + |
| 248 | + def _thin_jar_jar_impl(ctx): |
0 commit comments