Skip to content

Commit 4f79f23

Browse files
authored
[bazel] Align rules_python versions (#9)
Align the rules_python python versions between workspace and bzlmod mode, in particular update the version for workspace mode to 1.4.1. With the update a breaking change on how the python interpreter is referenced got introduced in rules_python and required changes.
1 parent a1e9d6c commit 4f79f23

4 files changed

Lines changed: 8 additions & 37 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ It's important to note that this repository does not supply python toolchains bu
3737
Additionaly, one must have the following bazel repositories already in place:
3838

3939
- bazel_skylib >= 1.7.1
40-
- rules_python >= 0.40.0
40+
- rules_python >= 1.4.1
4141

4242
### Select python pip hub version
4343

test/WORKSPACE

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -47,29 +47,15 @@ load("@rules_python//python:repositories.bzl", "python_register_toolchains") #
4747
]
4848

4949
load("@rules_python//python:pip.bzl", "pip_parse")
50-
load("@test_python_3_10//:defs.bzl", python_3_10_interpreter = "interpreter") # buildifier: disable=out-of-order-load
51-
load("@test_python_3_11//:defs.bzl", python_3_11_interpreter = "interpreter") # buildifier: disable=out-of-order-load
52-
load("@test_python_3_12//:defs.bzl", python_3_12_interpreter = "interpreter") # buildifier: disable=out-of-order-load
53-
load("@test_python_3_8//:defs.bzl", python_3_8_interpreter = "interpreter") # buildifier: disable=out-of-order-load
54-
load("@test_python_3_9//:defs.bzl", python_3_9_interpreter = "interpreter") # buildifier: disable=out-of-order-load
55-
56-
# buildifier: disable=unsorted-dict-items
57-
python_interpreter_versions = {
58-
"3.8": python_3_8_interpreter,
59-
"3.9": python_3_9_interpreter,
60-
"3.10": python_3_10_interpreter,
61-
"3.11": python_3_11_interpreter,
62-
"3.12": python_3_12_interpreter,
63-
}
6450

6551
[
6652
pip_parse(
6753
name = "test_pip_{}".format(version.replace(".", "_")),
6854
extra_pip_args = ["--no-cache-dir"],
69-
python_interpreter_target = python_interpreter_versions[version],
55+
python_interpreter_target = "@test_python_{}_host//:python".format(version.replace(".", "_")),
7056
requirements_lock = "@bazel_tools_python_test//pip:requirements_lock_{}.txt".format(version.replace(".", "_")),
7157
)
72-
for version in python_interpreter_versions
58+
for version in PYTHON_VERSIONS
7359
]
7460

7561
load("@test_pip_3_10//:requirements.bzl", pip_install_deps_py_3_10 = "install_deps") # buildifier: disable=out-of-order-load

third_party/python_pip_parse.bzl

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,16 @@
1313

1414
"""Parse pip requirements files for supported python version."""
1515

16-
load("@bazel_tools_python_python_3_10//:defs.bzl", python_3_10_interpreter = "interpreter")
17-
load("@bazel_tools_python_python_3_11//:defs.bzl", python_3_11_interpreter = "interpreter")
18-
load("@bazel_tools_python_python_3_12//:defs.bzl", python_3_12_interpreter = "interpreter")
19-
load("@bazel_tools_python_python_3_8//:defs.bzl", python_3_8_interpreter = "interpreter")
20-
load("@bazel_tools_python_python_3_9//:defs.bzl", python_3_9_interpreter = "interpreter")
16+
load("@bazel_tools_python//bazel/toolchains/python:versions.bzl", "PYTHON_VERSIONS")
2117
load("@rules_python//python:pip.bzl", "pip_parse")
2218

2319
def python_pip_parse():
2420
"""Parse pip requirements files for supported python version."""
2521

26-
# We can't dynamically load the interpreters so the following dict versions need to match
27-
# "@bazel_tools_python//bazel/toolchains/python:versions.bzl%PYTHON_VERSIONS"
28-
# buildifier: disable=unsorted-dict-items
29-
python_versions = {
30-
"3.8": python_3_8_interpreter,
31-
"3.9": python_3_9_interpreter,
32-
"3.10": python_3_10_interpreter,
33-
"3.11": python_3_11_interpreter,
34-
"3.12": python_3_12_interpreter,
35-
}
36-
37-
for version in python_versions:
22+
for version in PYTHON_VERSIONS:
3823
pip_parse(
3924
name = "bazel_tools_python_pip_{}".format(version.replace(".", "_")),
4025
requirements_lock = "@bazel_tools_python//third_party/pip:requirements_lock_{}.txt".format(version.replace(".", "_")),
41-
python_interpreter_target = python_versions[version],
26+
python_interpreter_target = "@bazel_tools_python_python_{}_host//:python".format(version.replace(".", "_")),
4227
extra_pip_args = ["--no-cache-dir"],
4328
)

third_party/rules_python/rules_python.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
1616
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
1717

18-
_VERSION = "0.40.0" # Update `README.md` if you change this.
18+
_VERSION = "1.4.1" # Update `README.md` if you change this.
1919

2020
def rules_python():
2121
maybe(
2222
http_archive,
2323
name = "rules_python",
24-
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
24+
sha256 = "9f9f3b300a9264e4c77999312ce663be5dee9a56e361a1f6fe7ec60e1beef9a3",
2525
strip_prefix = "rules_python-{version}".format(version = _VERSION),
2626
urls = ["https://github.com/bazel-contrib/rules_python/releases/download/{version}/rules_python-{version}.tar.gz".format(version = _VERSION)],
2727
patches = ["@bazel_tools_python//third_party/rules_python:rules_python.patch"],

0 commit comments

Comments
 (0)