3
3
#
4
4
# DOCUMENT THIS
5
5
#
6
+ load ("@bazel_features//:features.bzl" , "bazel_features" )
6
7
load (
7
8
"@io_bazel_rules_scala//scala/private:paths.bzl" ,
8
9
_get_files_with_extension = "get_files_with_extension" ,
@@ -298,7 +299,7 @@ def _create_scala_compilation_provider(ctx, ijar, source_jar, deps_providers):
298
299
runtime_deps = []
299
300
if hasattr (ctx .attr , "runtime_deps" ):
300
301
runtime_deps = [dep [JavaInfo ] for dep in ctx .attr .runtime_deps ]
301
- return JavaInfo (
302
+ kwargs = dict (
302
303
output_jar = ctx .outputs .jar ,
303
304
compile_jar = ijar ,
304
305
source_jar = source_jar ,
@@ -308,6 +309,13 @@ def _create_scala_compilation_provider(ctx, ijar, source_jar, deps_providers):
308
309
neverlink = ctx .attr .neverlink ,
309
310
)
310
311
312
+ # The JavaInfo constructor's add_exports and add_opens flags were added in Bazel 7:
313
+ # https://github.com/bazelbuild/bazel/issues/20033
314
+ if bazel_features .java .java_info_constructor_module_flags :
315
+ kwargs ["add_exports" ] = getattr (ctx .attr , "add_exports" , [])
316
+ kwargs ["add_opens" ] = getattr (ctx .attr , "add_opens" , [])
317
+ return JavaInfo (** kwargs )
318
+
311
319
def _pack_source_jar (ctx , scala_srcs , input_srcjars ):
312
320
# https://github.com/bazelbuild/bazel/blob/ff6c0333e4f957bb9f7ab5401b01dbf3e9b515b1/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java#L180-L183
313
321
# java_common.pack_sources checks for no srcs and only a single input jar
0 commit comments