@@ -119,7 +119,7 @@ go_deps.from_file(go_mod = "//:go.mod")
119119
120120use_repo (go_deps , "com_github_google_go_cmp" )
121121
122- bazel_dep (name = "rules_java" , version = "7.6.5 " )
122+ bazel_dep (name = "rules_java" , version = "7.9.1 " )
123123
124124# https://github.com/bazelbuild/rules_jvm_external/blob/master/docs/bzlmod.md
125125bazel_dep (name = "rules_jvm_external" , version = "6.2" )
@@ -203,11 +203,12 @@ use_repo(rules_ts_ext, "npm_typescript")
203203#
204204# - MODULE.bazel loads the rules_scala archive as @io_bazel_rules_scala.
205205#
206- # - The //scala:config.bzl extension defines @io_bazel_rules_scala_config, which
207- # depends on @io_bazel_rules_scala.
206+ # - The //scala/extensions :config.bzl extension defines
207+ # @io_bazel_rules_scala_config, which depends on @io_bazel_rules_scala.
208208#
209- # - The //scala:deps.bzl extension defines the repos needed by the Scala rules,
210- # which depend on @io_bazel_rules_scala and @io_bazel_rules_scala_config.
209+ # - The //scala/extensions:deps.bzl extension defines the repos needed by the
210+ # Scala rules, which depend on @io_bazel_rules_scala and
211+ # @io_bazel_rules_scala_config.
211212#
212213# The following problems occur when trying to import everything directly in
213214# MODULE.bazel, or in fewer extension files.
@@ -266,22 +267,28 @@ use_repo(rules_ts_ext, "npm_typescript")
266267
267268http_archive (
268269 name = "io_bazel_rules_scala" ,
269- sha256 = "3b00fa0b243b04565abb17d3839a5f4fa6cc2cac571f6db9f83c1982ba1e19e5 " ,
270- strip_prefix = "rules_scala-6.5 .0" ,
271- url = "https://github.com/bazelbuild/rules_scala/releases/download/v6.5 .0/rules_scala-v6.5 .0.tar.gz" ,
272- patches = ["//scala:rules_scala-6.5 .0.patch" ],
270+ sha256 = "e734eef95cf26c0171566bdc24d83bd82bdaf8ca7873bec6ce9b0d524bdaf05d " ,
271+ strip_prefix = "rules_scala-6.6 .0" ,
272+ url = "https://github.com/bazelbuild/rules_scala/releases/download/v6.6 .0/rules_scala-v6.6 .0.tar.gz" ,
273+ patches = ["//scala:rules_scala-6.6 .0.patch" ],
273274 patch_args = ["-p1" ],
274275)
275276
276- scala_config = use_extension ("//scala:config.bzl" , "scala_config" )
277+ # This constant matches the default Scala version from rules_scala for now.
278+ SCALA_VERSION = "2.13.12"
279+ SCALA_VERSIONS = [SCALA_VERSION ]
280+
281+ scala_config = use_extension ("//scala/extensions:config.bzl" , "scala_config" )
282+ scala_config .settings (
283+ scala_version = SCALA_VERSION ,
284+ scala_versions = SCALA_VERSIONS ,
285+ )
277286use_repo (
278287 scala_config ,
279288 "io_bazel_rules_scala_config" ,
280289)
281290
282- scala_deps = use_extension ("//scala:deps.bzl" , "scala_deps" )
283- use_repo (
284- scala_deps ,
291+ repos = [
285292 "io_bazel_rules_scala_scala_compiler" ,
286293 "io_bazel_rules_scala_scala_library" ,
287294 "io_bazel_rules_scala_scala_parser_combinators" ,
@@ -299,11 +306,20 @@ use_repo(
299306 "io_bazel_rules_scala_scalatest_matchers_core" ,
300307 "io_bazel_rules_scala_scalatest_mustmatchers" ,
301308 "io_bazel_rules_scala_scalatest_shouldmatchers" ,
302- )
303-
304- # Extracted from scala_register_toolchains() and scalatest_toolchain(), since
305- # other bazel rules modules suggest similar usage.
306- register_toolchains (
307- "@io_bazel_rules_scala//scala:default_toolchain" ,
308- "@io_bazel_rules_scala//testing:scalatest_toolchain"
309- )
309+ ]
310+
311+ toolchains = [
312+ "@io_bazel_rules_scala//scala:toolchain" ,
313+ "@io_bazel_rules_scala//testing:scalatest_toolchain" ,
314+ ]
315+
316+ scala_deps = use_extension ("//scala/extensions:deps.bzl" , "scala_deps" )
317+ [
318+ (
319+ [use_repo (scala_deps , repo + suffix ) for repo in repos ],
320+ [register_toolchains (toolchain + suffix ) for toolchain in toolchains ],
321+ )
322+ # The v.replace() expression mimics the logic to generate version specific
323+ # repo suffixes from rules_scala.
324+ for suffix in ["_" + v .replace ("." , "_" ) for v in SCALA_VERSIONS ]
325+ ]
0 commit comments