Skip to content

Commit b1d5a43

Browse files
committed
refactor: move the register_all_versions to python.override
1 parent 50fe484 commit b1d5a43

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

MODULE.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ dev_python = use_extension(
8181
"python",
8282
dev_dependency = True,
8383
)
84-
dev_python.rules_python_private_testing(
84+
dev_python.override(
8585
register_all_versions = True,
8686
)
8787

python/private/python.bzl

+16-12
Original file line numberDiff line numberDiff line change
@@ -285,19 +285,20 @@ def _process_tag_classes(mod):
285285
"url": tag.url,
286286
}
287287

288+
register_all = False
288289
for tag in mod.tags.override:
289290
base_url = tag.base_url
290-
available_versions = {
291-
v: available_versions[v]
292-
for v in tag.available_python_versions
293-
}
294-
break
295-
296-
register_all = False
297-
for tag in mod.tags.rules_python_private_testing:
298-
if tag.register_all_versions:
291+
if tag.available_python_versions:
292+
available_versions = {
293+
v: available_versions[v]
294+
for v in tag.available_python_versions
295+
}
296+
297+
if tag.register_all_versions and mod.name != "rules_python":
298+
fail("This override can only be used by 'rules_python'")
299+
elif tag.register_all_versions:
299300
register_all = True
300-
break
301+
break
301302

302303
if register_all:
303304
arg_structs.extend([
@@ -409,14 +410,17 @@ _override = tag_class(
409410
doc = """Tag class used to override defaults and behaviour of the module extension.""",
410411
attrs = {
411412
"available_python_versions": attr.string_list(
412-
mandatory = True,
413+
mandatory = False,
413414
doc = "The list of available python tool versions to use. Must be in `X.Y.Z` format.",
414415
),
415-
"base_url": attr.string_list(
416+
"base_url": attr.string(
416417
mandatory = False,
417418
doc = "The base URL to be used when downloading toolchains.",
418419
default = DEFAULT_RELEASE_BASE_URL,
419420
),
421+
422+
# Internal attributes that are only usable from `rules_python`
423+
"register_all_versions": attr.bool(default = False),
420424
},
421425
)
422426

0 commit comments

Comments
 (0)