| module(name = "unified_pypi") |
| |
| bazel_dep(name = "rules_python", version = "0.0.0") |
| local_path_override( |
| module_name = "rules_python", |
| path = "../../..", |
| ) |
| |
| python = use_extension("@rules_python//python/extensions:python.bzl", "python") |
| python.toolchain(python_version = "3.11") |
| |
| pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") |
| pip.whl_mods( |
| additive_build_content = """\ |
| load("@rules_python//python:defs.bzl", "py_library") |
| |
| py_library( |
| name = "my_colorama", |
| deps = [":pkg"], |
| ) |
| """, |
| hub_name = "whl_mods_hub", |
| whl_name = "colorama", |
| ) |
| use_repo(pip, "whl_mods_hub") |
| |
| # pypi_a has colorama and an extra alias |
| pip.parse( |
| extra_hub_aliases = {"colorama": ["my_colorama"]}, |
| hub_name = "pypi_a", |
| python_version = "3.11", |
| requirements_lock = "//:requirements_a.txt", |
| whl_modifications = { |
| "@whl_mods_hub//:colorama.json": "colorama", |
| }, |
| ) |
| use_repo(pip, "pypi_a") |
| |
| # pypi_b has colorama and six, and acts as designated fallback |
| pip.parse( |
| hub_name = "pypi_b", |
| python_version = "3.11", |
| requirements_lock = "//:requirements_b.txt", |
| ) |
| use_repo(pip, "pypi_b") |
| |
| pip.default(default_hub = "pypi_b") |
| pip.dep( |
| name = "declared-only-pkg", |
| extra_targets = ["declared-only-alias"], |
| ) |
| use_repo(pip, "pypi") |