Skip to content

Commit 50fe484

Browse files
committed
add base_url override as well
1 parent bc23825 commit 50fe484

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

python/private/python.bzl

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"Python toolchain module extensions for use with bzlmod"
1616

1717
load("@bazel_features//:features.bzl", "bazel_features")
18-
load("//python:versions.bzl", "PLATFORMS", "TOOL_VERSIONS")
18+
load("//python:versions.bzl", "DEFAULT_RELEASE_BASE_URL", "PLATFORMS", "TOOL_VERSIONS")
1919
load(":python_repositories.bzl", "python_register_toolchains")
2020
load(":pythons_hub.bzl", "hub_repo")
2121
load(":repo_utils.bzl", "repo_utils")
@@ -143,11 +143,12 @@ def _python_impl(module_ctx):
143143
toolchain_name,
144144
toolchain_attr,
145145
module = mod,
146+
# Extra kwargs to the underlying python_register_toolchains methods
147+
base_url = python_tools.base_url,
146148
ignore_root_user_error = ignore_root_user_error,
149+
tool_versions = python_tools.available_versions,
147150
# TODO @aignas 2024-08-08: allow to modify these values via the bzlmod extension
148151
# distutils_content = None,
149-
# register_toolchains = True,
150-
tool_versions = python_tools.available_versions,
151152
)
152153
global_toolchain_versions[toolchain_version] = toolchain_info
153154
if debug_info:
@@ -260,6 +261,7 @@ def _process_tag_classes(mod):
260261
arg_structs = []
261262
seen_versions = {}
262263
available_versions = TOOL_VERSIONS
264+
base_url = DEFAULT_RELEASE_BASE_URL
263265

264266
for tag in mod.tags.toolchain:
265267
arg_structs.append(_create_toolchain_attrs_struct(tag = tag, toolchain_tag_count = len(mod.tags.toolchain)))
@@ -284,10 +286,12 @@ def _process_tag_classes(mod):
284286
}
285287

286288
for tag in mod.tags.override:
289+
base_url = tag.base_url
287290
available_versions = {
288291
v: available_versions[v]
289292
for v in tag.available_python_versions
290293
}
294+
break
291295

292296
register_all = False
293297
for tag in mod.tags.rules_python_private_testing:
@@ -303,8 +307,9 @@ def _process_tag_classes(mod):
303307
])
304308

305309
return struct(
306-
registrations = arg_structs,
307310
available_versions = available_versions,
311+
base_url = base_url,
312+
registrations = arg_structs,
308313
)
309314

310315
def _create_toolchain_attrs_struct(*, tag = None, python_version = None, toolchain_tag_count = None):
@@ -407,6 +412,11 @@ _override = tag_class(
407412
mandatory = True,
408413
doc = "The list of available python tool versions to use. Must be in `X.Y.Z` format.",
409414
),
415+
"base_url": attr.string_list(
416+
mandatory = False,
417+
doc = "The base URL to be used when downloading toolchains.",
418+
default = DEFAULT_RELEASE_BASE_URL,
419+
),
410420
},
411421
)
412422

0 commit comments

Comments
 (0)