@@ -28,7 +28,11 @@ def _store_config(repository_ctx):
28
28
)
29
29
30
30
# All versions supported
31
- scala_versions = [scala_version ]
31
+ scala_versions = repository_ctx .attr .scala_versions
32
+ if not scala_versions :
33
+ scala_versions = [scala_version ]
34
+ elif scala_version not in scala_versions :
35
+ fail ("You have to include the default Scala version (%s) in the `scala_versions` list." % scala_version )
32
36
33
37
enable_compiler_dependency_tracking = repository_ctx .os .environ .get (
34
38
"ENABLE_COMPILER_DEPENDENCY_TRACKING" ,
@@ -67,6 +71,11 @@ _config_repository = repository_rule(
67
71
attrs = {
68
72
"scala_version" : attr .string (
69
73
mandatory = True ,
74
+ doc = "Default Scala version" ,
75
+ ),
76
+ "scala_versions" : attr .string_list (
77
+ mandatory = True ,
78
+ doc = "List of all Scala versions to configure. Must include the default one." ,
70
79
),
71
80
"enable_compiler_dependency_tracking" : attr .bool (
72
81
mandatory = True ,
@@ -77,9 +86,11 @@ _config_repository = repository_rule(
77
86
78
87
def scala_config (
79
88
scala_version = _default_scala_version (),
89
+ scala_versions = [],
80
90
enable_compiler_dependency_tracking = False ):
81
91
_config_repository (
82
92
name = "io_bazel_rules_scala_config" ,
83
93
scala_version = scala_version ,
94
+ scala_versions = scala_versions ,
84
95
enable_compiler_dependency_tracking = enable_compiler_dependency_tracking ,
85
96
)
0 commit comments