Skip to content

Commit f82fc81

Browse files
committed
further cleanup
1 parent f63d453 commit f82fc81

File tree

5 files changed

+42
-48
lines changed

5 files changed

+42
-48
lines changed

python/uv/private/uv_toolchains_repo_def.bzl renamed to python/uv/private/toolchains_hub.bzl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
load(":toolchain_types.bzl", "UV_TOOLCHAIN_TYPE")
1818

19-
def uv_toolchains_repo_def(
19+
def toolchains_hub(
2020
*,
2121
name = None,
2222
names,
@@ -36,10 +36,11 @@ def uv_toolchains_repo_def(
3636
if len(names) != len(implementations):
3737
fail("Each name must have an implementation")
3838

39-
for i, name in enumerate(names):
39+
padding = len(str(len(names))) # get the number of digits
40+
for i, name in sorted(enumerate(names), key = lambda x: -x[0]):
4041
# poor mans implementation leading 0
41-
number_prefix = "000{}".format(i)
42-
number_prefix = number_prefix[-3:]
42+
number_prefix = ("0" * padding) + "{}".format(i)
43+
number_prefix = number_prefix[-padding:]
4344

4445
native.toolchain(
4546
name = "{}_{}".format(number_prefix, name),

python/uv/private/uv.bzl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,10 +323,11 @@ def process_modules(
323323
str(label)
324324
for label in platform.compatible_with
325325
]
326-
toolchain_target_settings[toolchain_name] = [
327-
str(label)
328-
for label in platform.target_settings
329-
]
326+
if platform.target_settings:
327+
toolchain_target_settings[toolchain_name] = [
328+
str(label)
329+
for label in platform.target_settings
330+
]
330331

331332
return hub_repo(
332333
name = hub_name,

python/uv/private/uv_toolchains_repo.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
load("//python/private:text_util.bzl", "render")
1818

1919
_TEMPLATE = """\
20-
load("@rules_python//python/uv/private:uv_toolchains_repo_def.bzl", "uv_toolchains_repo_def")
20+
load("@rules_python//python/uv/private:toolchains_hub.bzl", "toolchains_hub")
2121
2222
{}
2323
"""
@@ -28,7 +28,7 @@ def _non_empty(d):
2828
def _toolchains_repo_impl(repository_ctx):
2929
contents = _TEMPLATE.format(
3030
render.call(
31-
"uv_toolchains_repo_def",
31+
"toolchains_hub",
3232
names = render.list(repository_ctx.attr.toolchain_names),
3333
implementations = render.dict(
3434
repository_ctx.attr.toolchain_implementations,

tests/uv/uv/uv_tests.bzl

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -208,17 +208,15 @@ def _test_manual_url_spec(env):
208208
)
209209

210210
uv.names().contains_exactly([
211-
"uv_1_0_0_linux_toolchain",
211+
"1_0_0_linux",
212212
])
213213
uv.implementations().contains_exactly({
214-
"uv_1_0_0_linux_toolchain": "@uv_1_0_0_linux//:uv_toolchain",
214+
"1_0_0_linux": "@uv_1_0_0_linux//:uv_toolchain",
215215
})
216216
uv.compatible_with().contains_exactly({
217-
"uv_1_0_0_linux_toolchain": ["@platforms//os:linux"],
218-
})
219-
uv.target_settings().contains_exactly({
220-
"uv_1_0_0_linux_toolchain": [],
217+
"1_0_0_linux": ["@platforms//os:linux"],
221218
})
219+
uv.target_settings().contains_exactly({})
222220
env.expect.that_collection(calls).contains_exactly([
223221
{
224222
"name": "uv_1_0_0_linux",
@@ -256,16 +254,16 @@ def _test_defaults(env):
256254
)
257255

258256
uv.names().contains_exactly([
259-
"uv_1_0_0_linux_toolchain",
257+
"1_0_0_linux",
260258
])
261259
uv.implementations().contains_exactly({
262-
"uv_1_0_0_linux_toolchain": "@uv_1_0_0_linux//:uv_toolchain",
260+
"1_0_0_linux": "@uv_1_0_0_linux//:uv_toolchain",
263261
})
264262
uv.compatible_with().contains_exactly({
265-
"uv_1_0_0_linux_toolchain": ["@platforms//os:linux"],
263+
"1_0_0_linux": ["@platforms//os:linux"],
266264
})
267265
uv.target_settings().contains_exactly({
268-
"uv_1_0_0_linux_toolchain": ["//:my_flag"],
266+
"1_0_0_linux": ["//:my_flag"],
269267
})
270268
env.expect.that_collection(calls).contains_exactly([
271269
{
@@ -310,20 +308,19 @@ def _test_default_building(env):
310308
)
311309

312310
uv.names().contains_exactly([
313-
"uv_1_0_0_linux_toolchain",
314-
"uv_1_0_0_osx_toolchain",
311+
"1_0_0_linux",
312+
"1_0_0_osx",
315313
])
316314
uv.implementations().contains_exactly({
317-
"uv_1_0_0_linux_toolchain": "@uv_1_0_0_linux//:uv_toolchain",
318-
"uv_1_0_0_osx_toolchain": "@uv_1_0_0_osx//:uv_toolchain",
315+
"1_0_0_linux": "@uv_1_0_0_linux//:uv_toolchain",
316+
"1_0_0_osx": "@uv_1_0_0_osx//:uv_toolchain",
319317
})
320318
uv.compatible_with().contains_exactly({
321-
"uv_1_0_0_linux_toolchain": ["@platforms//os:linux"],
322-
"uv_1_0_0_osx_toolchain": ["@platforms//os:osx"],
319+
"1_0_0_linux": ["@platforms//os:linux"],
320+
"1_0_0_osx": ["@platforms//os:osx"],
323321
})
324322
uv.target_settings().contains_exactly({
325-
"uv_1_0_0_linux_toolchain": ["//:my_flag"],
326-
"uv_1_0_0_osx_toolchain": [],
323+
"1_0_0_linux": ["//:my_flag"],
327324
})
328325
env.expect.that_collection(calls).contains_exactly([
329326
{
@@ -388,29 +385,24 @@ def _test_complex_configuring(env):
388385
)
389386

390387
uv.names().contains_exactly([
391-
"uv_1_0_0_osx_toolchain",
392-
"uv_1_0_1_osx_toolchain",
393-
"uv_1_0_2_osx_toolchain",
394-
"uv_1_0_3_linux_toolchain",
388+
"1_0_0_osx",
389+
"1_0_1_osx",
390+
"1_0_2_osx",
391+
"1_0_3_linux",
395392
])
396393
uv.implementations().contains_exactly({
397-
"uv_1_0_0_osx_toolchain": "@uv_1_0_0_osx//:uv_toolchain",
398-
"uv_1_0_1_osx_toolchain": "@uv_1_0_1_osx//:uv_toolchain",
399-
"uv_1_0_2_osx_toolchain": "@uv_1_0_2_osx//:uv_toolchain",
400-
"uv_1_0_3_linux_toolchain": "@uv_1_0_3_linux//:uv_toolchain",
394+
"1_0_0_osx": "@uv_1_0_0_osx//:uv_toolchain",
395+
"1_0_1_osx": "@uv_1_0_1_osx//:uv_toolchain",
396+
"1_0_2_osx": "@uv_1_0_2_osx//:uv_toolchain",
397+
"1_0_3_linux": "@uv_1_0_3_linux//:uv_toolchain",
401398
})
402399
uv.compatible_with().contains_exactly({
403-
"uv_1_0_0_osx_toolchain": ["@platforms//os:os"],
404-
"uv_1_0_1_osx_toolchain": ["@platforms//os:os"],
405-
"uv_1_0_2_osx_toolchain": ["@platforms//os:different"],
406-
"uv_1_0_3_linux_toolchain": ["@platforms//os:linux"],
407-
})
408-
uv.target_settings().contains_exactly({
409-
"uv_1_0_0_osx_toolchain": [],
410-
"uv_1_0_1_osx_toolchain": [],
411-
"uv_1_0_2_osx_toolchain": [],
412-
"uv_1_0_3_linux_toolchain": [],
400+
"1_0_0_osx": ["@platforms//os:os"],
401+
"1_0_1_osx": ["@platforms//os:os"],
402+
"1_0_2_osx": ["@platforms//os:different"],
403+
"1_0_3_linux": ["@platforms//os:linux"],
413404
})
405+
uv.target_settings().contains_exactly({})
414406
env.expect.that_collection(calls).contains_exactly([
415407
{
416408
"name": "uv_1_0_0_osx",

tests/uv/uv_toolchains/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
load("//python/uv/private:uv_toolchains_repo_def.bzl", "uv_toolchains_repo_def") # buildifier: disable=bzl-visibility
1+
load("//python/uv/private:toolchains_hub.bzl", "toolchains_hub") # buildifier: disable=bzl-visibility
22

3-
uv_toolchains_repo_def(
3+
toolchains_hub(
44
implementations = {
55
"bar": "//tests/uv/uv:fake_bar",
66
"foo": "//tests/uv/uv:fake_foof",

0 commit comments

Comments
 (0)