33#
44# DOCUMENT THIS
55#
6+ load ("@bazel_features//:features.bzl" , "bazel_features" )
67load (
78 "@io_bazel_rules_scala//scala/private:paths.bzl" ,
89 _get_files_with_extension = "get_files_with_extension" ,
@@ -298,7 +299,7 @@ def _create_scala_compilation_provider(ctx, ijar, source_jar, deps_providers):
298299 runtime_deps = []
299300 if hasattr (ctx .attr , "runtime_deps" ):
300301 runtime_deps = [dep [JavaInfo ] for dep in ctx .attr .runtime_deps ]
301- return JavaInfo (
302+ kwargs = dict (
302303 output_jar = ctx .outputs .jar ,
303304 compile_jar = ijar ,
304305 source_jar = source_jar ,
@@ -308,6 +309,13 @@ def _create_scala_compilation_provider(ctx, ijar, source_jar, deps_providers):
308309 neverlink = ctx .attr .neverlink ,
309310 )
310311
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+
311319def _pack_source_jar (ctx , scala_srcs , input_srcjars ):
312320 # https://github.com/bazelbuild/bazel/blob/ff6c0333e4f957bb9f7ab5401b01dbf3e9b515b1/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java#L180-L183
313321 # java_common.pack_sources checks for no srcs and only a single input jar
0 commit comments