@@ -21,6 +21,10 @@ def _generate_testing_toolchain_build_file_args(repo_attr):
21
21
22
22
if len (framework_deps ) == 0 :
23
23
return None
24
+
25
+ # The _TESTING_TOOLCHAIN_BUILD template expects that all framework keys are
26
+ # present in the dictionary, so it can set unset framework classpath
27
+ # parameters to `None`.
24
28
return {
25
29
"deps_symbols" : "\" ,\n \" " .join (
26
30
[s for s in framework_deps .values ()],
@@ -41,12 +45,12 @@ def _scala_toolchains_repo_impl(repository_ctx):
41
45
42
46
if repo_attr .scala :
43
47
toolchains ["scala" ] = _SCALA_TOOLCHAIN_BUILD
44
- if repo_attr .twitter_scrooge :
45
- toolchains ["twitter_scrooge" ] = _TWITTER_SCROOGE_TOOLCHAIN_BUILD
46
- if repo_attr .jmh :
47
- toolchains ["jmh" ] = _JMH_TOOLCHAIN_BUILD
48
48
if repo_attr .scala_proto :
49
49
toolchains ["scala_proto" ] = _SCALA_PROTO_TOOLCHAIN_BUILD
50
+ if repo_attr .jmh :
51
+ toolchains ["jmh" ] = _JMH_TOOLCHAIN_BUILD
52
+ if repo_attr .twitter_scrooge :
53
+ toolchains ["twitter_scrooge" ] = _TWITTER_SCROOGE_TOOLCHAIN_BUILD
50
54
51
55
testing_build_args = _generate_testing_toolchain_build_file_args (repo_attr )
52
56
if testing_build_args != None :
@@ -74,12 +78,12 @@ _scala_toolchains_repo = repository_rule(
74
78
"scalatest" : attr .bool (),
75
79
"junit" : attr .bool (),
76
80
"specs2" : attr .bool (),
77
- "twitter_scrooge" : attr .bool (),
78
- "jmh" : attr .bool (),
79
- "scala_proto" : attr .bool (),
80
- "scala_proto_enable_all_options" : attr .bool (),
81
81
"testing" : attr .bool (),
82
82
"scalafmt" : attr .bool (),
83
+ "scala_proto" : attr .bool (),
84
+ "scala_proto_enable_all_options" : attr .bool (),
85
+ "jmh" : attr .bool (),
86
+ "twitter_scrooge" : attr .bool (),
83
87
},
84
88
)
85
89
@@ -130,19 +134,35 @@ load(
130
134
]
131
135
"""
132
136
133
- _TWITTER_SCROOGE_TOOLCHAIN_BUILD = """
137
+ _TESTING_TOOLCHAIN_BUILD = """
138
+ load("@@{rules_scala_repo}//scala:scala.bzl", "setup_scala_testing_toolchain")
139
+ load("@@{rules_scala_repo}//scala:scala_cross_version.bzl", "version_suffix")
134
140
load(
135
- "@@{rules_scala_repo}//twitter_scrooge/toolchain:toolchain .bzl",
136
- "setup_scrooge_toolchain ",
141
+ "@@{rules_scala_repo}//testing:deps .bzl",
142
+ "{deps_symbols} ",
137
143
)
144
+ load("@io_bazel_rules_scala_config//:config.bzl", "SCALA_VERSIONS")
138
145
139
- setup_scrooge_toolchain(name = "scrooge_toolchain")
146
+ [
147
+ setup_scala_testing_toolchain(
148
+ name = "testing_toolchain" + version_suffix(scala_version),
149
+ scala_version = scala_version,
150
+ scalatest_classpath = {scalatest},
151
+ junit_classpath = {junit},
152
+ specs2_classpath = {specs2},
153
+ specs2_junit_classpath = {specs2_junit},
154
+ )
155
+ for scala_version in SCALA_VERSIONS
156
+ ]
140
157
"""
141
158
142
- _JMH_TOOLCHAIN_BUILD = """
143
- load("@@{rules_scala_repo}//jmh/toolchain:toolchain.bzl", "setup_jmh_toolchain")
159
+ _SCALAFMT_TOOLCHAIN_BUILD = """
160
+ load(
161
+ "@@{rules_scala_repo}//scala/scalafmt/toolchain:setup_scalafmt_toolchain.bzl",
162
+ "setup_scalafmt_toolchains",
163
+ )
144
164
145
- setup_jmh_toolchain(name = "jmh_toolchain" )
165
+ setup_scalafmt_toolchains( )
146
166
"""
147
167
148
168
_SCALA_PROTO_TOOLCHAIN_BUILD = """
@@ -184,33 +204,17 @@ declare_deps_provider(
184
204
)
185
205
"""
186
206
187
- _TESTING_TOOLCHAIN_BUILD = """
188
- load("@@{rules_scala_repo}//scala:scala.bzl", "setup_scala_testing_toolchain")
189
- load("@@{rules_scala_repo}//scala:scala_cross_version.bzl", "version_suffix")
190
- load(
191
- "@@{rules_scala_repo}//testing:deps.bzl",
192
- "{deps_symbols}",
193
- )
194
- load("@io_bazel_rules_scala_config//:config.bzl", "SCALA_VERSIONS")
207
+ _JMH_TOOLCHAIN_BUILD = """
208
+ load("@@{rules_scala_repo}//jmh/toolchain:toolchain.bzl", "setup_jmh_toolchain")
195
209
196
- [
197
- setup_scala_testing_toolchain(
198
- name = "testing_toolchain" + version_suffix(scala_version),
199
- scala_version = scala_version,
200
- scalatest_classpath = {scalatest},
201
- junit_classpath = {junit},
202
- specs2_classpath = {specs2},
203
- specs2_junit_classpath = {specs2_junit},
204
- )
205
- for scala_version in SCALA_VERSIONS
206
- ]
210
+ setup_jmh_toolchain(name = "jmh_toolchain")
207
211
"""
208
212
209
- _SCALAFMT_TOOLCHAIN_BUILD = """
213
+ _TWITTER_SCROOGE_TOOLCHAIN_BUILD = """
210
214
load(
211
- "@@{rules_scala_repo}//scala/scalafmt/ toolchain:setup_scalafmt_toolchain .bzl",
212
- "setup_scalafmt_toolchains ",
215
+ "@@{rules_scala_repo}//twitter_scrooge/ toolchain:toolchain .bzl",
216
+ "setup_scrooge_toolchain ",
213
217
)
214
218
215
- setup_scalafmt_toolchains( )
219
+ setup_scrooge_toolchain(name = "scrooge_toolchain" )
216
220
"""
0 commit comments