Skip to content

Commit 3d2c94d

Browse files
committed
Move scala_toolchains to scala/toolchains.bzl
Removes this symbol from `scala/scala.bzl` as well as `setup_scala_testing_toolchain`, and deletes `scala/private/macros/toolchains.bzl`. Part of bazelbuild#1482 and bazelbuild#1652. This is required for Bazel 8 and `rules_java` 8 compatibility, but is also compatible with Bazel 6 and 7. In bazelbuild#1652, @hvadehra suggested partitioning the `.bzl` files such that `WORKSPACE` doesn't `load` a file that tries to `load` symbols from `rules_java`. I successfully did so in a separate branch, and along with other minor changes, got `rules_scala` to build with `rules_java` 8.5.1. The other changes will come in separate pull requests, but it makes sense to land this change now before adding any other toolchains to `scala_toolchains`. --- Arguably, we should remove all macros exported from `scala/scala.bzl` that only instantiate toolchain dependencies and define toolchains. That may be a breaking change for some users, but will ultimately be necessary for these macros to remain compatible with Bazel 8.
1 parent 1ec795e commit 3d2c94d

File tree

19 files changed

+167
-158
lines changed

19 files changed

+167
-158
lines changed

WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3939

4040
scala_config(enable_compiler_dependency_tracking = True)
4141

42-
load("//scala:scala.bzl", "scala_toolchains")
42+
load("//scala:toolchains.bzl", "scala_toolchains")
4343

4444
scala_toolchains(
4545
fetch_sources = True,

docs/testing.md

+17-5
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ Test framework dependencies are configured via testing toolchain. For convenienc
3131
`setup_scala_testing_toolchain` can be used to define such toolchains.
3232

3333
```starlark
34-
load("@io_bazel_rules_scala//scala:scala.bzl", "setup_scala_testing_toolchain")
34+
load(
35+
"@io_bazel_rules_scala//testing:testing.bzl",
36+
"setup_scala_testing_toolchain",
37+
)
3538
```
3639

3740
Attributes
@@ -53,7 +56,10 @@ Examples (assumes maven deps are managed with rules_jvm_external):
5356

5457
```starlark
5558
# BUILD
56-
load("@io_bazel_rules_scala//scala:scala.bzl", "setup_scala_testing_toolchain")
59+
load(
60+
"@io_bazel_rules_scala//testing:testing.bzl",
61+
"setup_scala_testing_toolchain",
62+
)
5763

5864
setup_scala_testing_toolchain(
5965
name = "scalatest_toolchain",
@@ -77,7 +83,10 @@ register_toolchains('//:scalatest_toolchain')
7783
#### JUnit 4
7884
```starlark
7985
# BUILD
80-
load("@io_bazel_rules_scala//scala:scala.bzl", "setup_scala_testing_toolchain")
86+
load(
87+
"@io_bazel_rules_scala//testing:testing.bzl",
88+
"setup_scala_testing_toolchain",
89+
)
8190

8291
setup_scala_testing_toolchain(
8392
name = "junit_toolchain",
@@ -98,7 +107,10 @@ For Specs2 rules to work, `junit_classpath`, `specs2_junit_classpath` and `specs
98107
be configured.
99108
```starlark
100109
# BUILD
101-
load("@io_bazel_rules_scala//scala:scala.bzl", "setup_scala_testing_toolchain")
110+
load(
111+
"@io_bazel_rules_scala//testing:testing.bzl",
112+
"setup_scala_testing_toolchain",
113+
)
102114

103115
setup_scala_testing_toolchain(
104116
name = "specs2_toolchain",
@@ -122,4 +134,4 @@ Register the toolchain
122134
```starlark
123135
# WORKSPACE
124136
register_toolchains('//:specs2_toolchain')
125-
```
137+
```

dt_patches/test_dt_patches/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3131

3232
scala_config(enable_compiler_dependency_tracking = True)
3333

34-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
34+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
3535
load(
3636
"@io_bazel_rules_scala//scala:scala_cross_version.bzl",
3737
"default_maven_server_urls",

dt_patches/test_dt_patches_user_srcjar/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3131

3232
scala_config(enable_compiler_dependency_tracking = True)
3333

34-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
34+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
3535
load(
3636
"@io_bazel_rules_scala//scala:scala_cross_version.bzl",
3737
"default_maven_server_urls",

examples/crossbuild/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ scala_config(
3838
],
3939
)
4040

41-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
41+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
4242

4343
scala_toolchains(scalatest = True)
4444

examples/scala3/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3131

3232
scala_config(scala_version = "3.5.2")
3333

34-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
34+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
3535

3636
scala_toolchains(fetch_sources = True)
3737

examples/semanticdb/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3434

3535
scala_config(scala_version = "2.13.15")
3636

37-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
37+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
3838

3939
scala_toolchains(fetch_sources = True)
4040

examples/testing/multi_frameworks_toolchain/BUILD

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
load("@io_bazel_rules_scala//scala:scala.bzl", "setup_scala_testing_toolchain")
1+
load(
2+
"@io_bazel_rules_scala//testing:testing.bzl",
3+
"setup_scala_testing_toolchain",
4+
)
25

36
setup_scala_testing_toolchain(
47
name = "testing_toolchain",

examples/testing/multi_frameworks_toolchain/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3131

3232
scala_config()
3333

34-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
34+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
3535

3636
scala_toolchains(
3737
fetch_sources = True,

examples/testing/scalatest_repositories/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3131

3232
scala_config()
3333

34-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
34+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
3535

3636
scala_toolchains(
3737
fetch_sources = True,

examples/testing/specs2_junit_repositories/WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
3131

3232
scala_config()
3333

34-
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_toolchains")
34+
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_toolchains")
3535

3636
scala_toolchains(
3737
fetch_sources = True,

scala/private/macros/toolchains.bzl

-128
This file was deleted.

scala/private/macros/toolchains_repo.bzl

+4-1
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,15 @@ load(
120120
"""
121121

122122
_TESTING_TOOLCHAIN_BUILD = """
123-
load("@@{rules_scala_repo}//scala:scala.bzl", "setup_scala_testing_toolchain")
124123
load("@@{rules_scala_repo}//scala:scala_cross_version.bzl", "version_suffix")
125124
load(
126125
"@@{rules_scala_repo}//testing:deps.bzl",
127126
"{deps_symbols}",
128127
)
128+
load(
129+
"@@{rules_scala_repo}//testing:testing.bzl",
130+
"setup_scala_testing_toolchain",
131+
)
129132
load("@io_bazel_rules_scala_config//:config.bzl", "SCALA_VERSIONS")
130133
131134
[

scala/scala.bzl

-10
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ load(
22
"//specs2:specs2_junit.bzl",
33
_specs2_junit_dependencies = "specs2_junit_dependencies",
44
)
5-
load(
6-
"//scala/private:macros/toolchains.bzl",
7-
_scala_toolchains = "scala_toolchains",
8-
)
95
load(
106
"//scala/private:macros/toolchains_repo.bzl",
117
_scala_toolchains_repo = "scala_toolchains_repo",
@@ -50,10 +46,6 @@ load(
5046
_scala_test = "scala_test",
5147
_scala_test_suite = "scala_test_suite",
5248
)
53-
load(
54-
"//testing:testing.bzl",
55-
_setup_scala_testing_toolchain = "setup_scala_testing_toolchain",
56-
)
5749

5850
def scala_specs2_junit_test(name, **kwargs):
5951
_scala_junit_test(
@@ -87,7 +79,5 @@ rules_scala_setup = _rules_scala_setup
8779
rules_scala_toolchain_deps_repositories = _rules_scala_toolchain_deps_repositories
8880
scala_test = _scala_test
8981
scala_test_suite = _scala_test_suite
90-
setup_scala_testing_toolchain = _setup_scala_testing_toolchain
9182
setup_scala_toolchain = _setup_scala_toolchain
92-
scala_toolchains = _scala_toolchains
9383
scala_toolchains_repo = _scala_toolchains_repo

0 commit comments

Comments
 (0)