blob: 959501abc28a355d8448af61569b1d0f37973708 [file] [log] [blame]
module(
name = "other_module",
)
# This module is using the same version of rules_python
# that the parent module uses.
bazel_dep(name = "rules_python", version = "")
# The story behind this commented out override:
# This override is necessary to generate/update the requirements file
# for this module. This is because running it via the outer
# module doesn't work -- the `requirements.update` target can't find
# the correct file to update.
# Running in the submodule itself works, but submodules using overrides
# is considered an error until Bazel 6.3, which prevents the outer module
# from depending on this module.
# So until 6.3 and higher is the minimum, we leave this commented out.
# local_path_override(
# module_name = "rules_python",
# path = "../../..",
# )
PYTHON_NAME_39 = "python_3_9"
PYTHON_NAME_311 = "python_3_11"
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
configure_coverage_tool = True,
python_version = "3.9",
)
python.toolchain(
configure_coverage_tool = True,
# In a submodule this is ignored
is_default = True,
python_version = "3.11",
)
# created by the above python.toolchain calls.
use_repo(
python,
"python_versions",
PYTHON_NAME_39,
PYTHON_NAME_311,
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "other_module_pip",
# NOTE: This version must be different than the root module's
# default python version.
# This is testing that a sub-module can use pip.parse() and only specify
# Python versions that DON'T include whatever the root-module's default
# Python version is.
python_version = "3.11",
requirements_lock = ":requirements_lock_3_11.txt",
)
use_repo(pip, "other_module_pip")