| module( | |
| name = "protobuf", | |
| version = "27.0.bcr.1", | |
| compatibility_level = 1, | |
| repo_name = "com_google_protobuf", | |
| ) | |
| # LOWER BOUND dependency versions. | |
| # Bzlmod follows MVS: | |
| # https://bazel.build/versions/6.0.0/build/bzlmod#version-resolution | |
| # Thus the highest version in their module graph is resolved. | |
| bazel_dep(name = "abseil-cpp", version = "20230802.0.bcr.1", repo_name = "com_google_absl") | |
| bazel_dep(name = "bazel_skylib", version = "1.4.1") | |
| bazel_dep(name = "jsoncpp", version = "1.9.5") | |
| bazel_dep(name = "rules_cc", version = "0.0.9") | |
| bazel_dep(name = "rules_java", version = "5.3.5") | |
| bazel_dep(name = "rules_jvm_external", version = "5.1") | |
| bazel_dep(name = "rules_pkg", version = "0.7.0") | |
| bazel_dep(name = "rules_python", version = "0.28.0") | |
| bazel_dep(name = "platforms", version = "0.0.8") | |
| bazel_dep(name = "zlib", version = "1.2.11") | |
| # TODO: remove after toolchain types are moved to protobuf | |
| bazel_dep(name = "rules_proto", version = "4.0.0") | |
| SUPPORTED_PYTHON_VERSIONS = [ | |
| "3.8", | |
| "3.9", | |
| "3.10", | |
| "3.11", | |
| "3.12", | |
| ] | |
| python = use_extension("@rules_python//python/extensions:python.bzl", "python") | |
| [ | |
| python.toolchain( | |
| is_default = python_version == SUPPORTED_PYTHON_VERSIONS[-1], | |
| python_version = python_version, | |
| ) | |
| for python_version in SUPPORTED_PYTHON_VERSIONS | |
| ] | |
| use_repo(python, system_python = "python_{}".format(SUPPORTED_PYTHON_VERSIONS[-1].replace(".", "_"))) | |
| pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") | |
| [ | |
| pip.parse( | |
| hub_name = "pip_deps", | |
| python_version = python_version, | |
| requirements_lock = "//python:requirements.txt", | |
| ) | |
| for python_version in SUPPORTED_PYTHON_VERSIONS | |
| ] | |
| use_repo(pip, "pip_deps") |