diff --git a/MODULE.bazel b/MODULE.bazel index fa8c7c5a6d..25038f8308 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( name = "protobuf", - version = "29.0-dev", # Automatically updated on release + version = "29.0-dev", # Automatically updated on release compatibility_level = 1, repo_name = "com_google_protobuf", ) @@ -12,20 +12,77 @@ module( # 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.7.0") -bazel_dep(name = "jsoncpp", version = "1.9.5") -bazel_dep(name = "rules_cc", version = "0.0.9") -bazel_dep(name = "rules_fuzzing", version = "0.5.2") -bazel_dep(name = "rules_java", version = "5.3.5") -bazel_dep(name = "rules_jvm_external", version = "6.0") -bazel_dep(name = "rules_kotlin", version = "1.9.0") -bazel_dep(name = "rules_pkg", version = "0.7.0") -bazel_dep(name = "rules_python", version = "0.28.0") -bazel_dep(name = "rules_rust", version = "0.45.1") -bazel_dep(name = "platforms", version = "0.0.8") -bazel_dep(name = "zlib", version = "1.3.1") -bazel_dep(name = "bazel_features", version = "1.13.0", repo_name = "proto_bazel_features") +bazel_dep( + name = "abseil-cpp", + version = "20230802.0.bcr.1", + repo_name = "com_google_absl", +) + +bazel_dep( + name = "bazel_skylib", + version = "1.7.0", +) + +bazel_dep( + name = "jsoncpp", + version = "1.9.5", +) + +bazel_dep( + name = "rules_cc", + version = "0.0.9", +) + +bazel_dep( + name = "rules_fuzzing", + version = "0.5.2", +) + +bazel_dep( + name = "rules_java", + version = "5.3.5", +) + +bazel_dep( + name = "rules_jvm_external", + version = "6.0", +) + +bazel_dep( + name = "rules_kotlin", + version = "1.9.0", +) + +bazel_dep( + name = "rules_pkg", + version = "0.7.0", +) + +bazel_dep( + name = "rules_python", + version = "0.28.0", +) + +bazel_dep( + name = "rules_rust", + version = "0.45.1", +) + +bazel_dep( + name = "platforms", + version = "0.0.8", +) + +bazel_dep( + name = "zlib", + version = "1.3.1", +) + +bazel_dep( + name = "bazel_features", + version = "1.13.0", + repo_name = "proto_bazel_features", +) SUPPORTED_PYTHON_VERSIONS = [ "3.8", @@ -34,7 +91,9 @@ SUPPORTED_PYTHON_VERSIONS = [ "3.11", "3.12", ] + python = use_extension("@rules_python//python/extensions:python.bzl", "python") + [ python.toolchain( is_default = python_version == SUPPORTED_PYTHON_VERSIONS[-1], @@ -42,8 +101,14 @@ python = use_extension("@rules_python//python/extensions:python.bzl", "python") ) for python_version in SUPPORTED_PYTHON_VERSIONS ] -use_repo(python, system_python = "python_{}".format(SUPPORTED_PYTHON_VERSIONS[-1].replace(".", "_"))) + +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", @@ -52,25 +117,38 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") ) for python_version in SUPPORTED_PYTHON_VERSIONS ] + use_repo(pip, "pip_deps") rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") + rust.toolchain(edition = "2021") + use_repo(rust, "rust_toolchains") + register_toolchains("@rust_toolchains//:all") + crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate") + crate.spec( package = "googletest", version = ">0.0.0", ) + crate.spec( package = "paste", version = ">=1", ) + crate.from_specs() -use_repo(crate, crate_index = "crates") + +use_repo( + crate, + crate_index = "crates", +) maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") + maven.install( artifacts = [ "com.google.caliper:caliper:1.0-beta-3", @@ -91,11 +169,32 @@ maven.install( "https://repo.maven.apache.org/maven2", ], ) + use_repo(maven, "maven") # Development dependencies -bazel_dep(name = "googletest", version = "1.14.0", repo_name = "com_google_googletest", dev_dependency = True) -bazel_dep(name = "rules_buf", version = "0.3.0", dev_dependency = True) -bazel_dep(name = "rules_testing", version = "0.6.0", dev_dependency = True) +bazel_dep( + name = "googletest", + version = "1.14.0", + dev_dependency = True, + repo_name = "com_google_googletest", +) + +bazel_dep( + name = "rules_buf", + version = "0.3.0", + dev_dependency = True, +) + +bazel_dep( + name = "rules_testing", + version = "0.6.0", + dev_dependency = True, +) + # rules_proto are needed for @com_google_protobuf_v25.0 used in //compatibility/... tests -bazel_dep(name = "rules_proto", version = "4.0.0", dev_dependency = True) +bazel_dep( + name = "rules_proto", + version = "4.0.0", + dev_dependency = True, +)