From 71448e621da028946e5d2fc3f931e9fd12ba8b00 Mon Sep 17 00:00:00 2001 From: Yun Peng Date: Wed, 20 Nov 2024 12:19:46 -0800 Subject: [PATCH 1/3] Make bazel bootstrap tests more cacheable - Embedded some test dependencies in MODULE.bazel with use_repo_rule, this avoids loading some .bzl files under src/test when building Bazel (and reduced some boilerplate). - Use pkg_files from rules_pkg to exclude some sources that are not needed in the bazel distfile (e.g test sources and documentation). With this change, touching only tests and documentation code should no longer trigger the expensive bootstrap tests. PiperOrigin-RevId: 698478000 Change-Id: I7fdf49123b6954bab7e5b31795ea657e559bffbe --- BUILD | 23 ++++++++++++++++++----- MODULE.bazel | 25 ++++++++++++++++--------- extensions.bzl | 17 ----------------- rbe_extension.bzl | 28 ---------------------------- src/BUILD | 23 +++++++++++++++++++++++ 5 files changed, 57 insertions(+), 59 deletions(-) delete mode 100644 rbe_extension.bzl diff --git a/BUILD b/BUILD index bd5db63f84561d..21477a32f575b5 100644 --- a/BUILD +++ b/BUILD @@ -2,6 +2,7 @@ load("@bazel_skylib//rules:write_file.bzl", "write_file") load("@rules_license//rules:license.bzl", "license") +load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") load("@rules_pkg//pkg:tar.bzl", "pkg_tar") load("@rules_python//python:defs.bzl", "py_binary") load("//src/tools/bzlmod:utils.bzl", "get_canonical_repo_name") @@ -155,16 +156,28 @@ filegroup( ], ) +# Bazel sources excluding files that are not needed in the distfile. +pkg_files( + name = "dist-srcs", + srcs = ["//:srcs"], + attributes = pkg_attributes(mode = "0755"), + excludes = [ + "//examples:srcs", + "//site:srcs", + "//src:srcs-to-exclude-in-distfile", + ], + renames = { + "MODULE.bazel.lock.dist": "MODULE.bazel.lock", + }, + strip_prefix = "/", # Ensure paths are relative to the workspace root. +) + pkg_tar( name = "bazel-srcs", srcs = [ + ":dist-srcs", ":generated_resources", - ":srcs", ], - # TODO(aiuto): Replace with pkg_filegroup when that is available. - remap_paths = { - "MODULE.bazel.lock.dist": "MODULE.bazel.lock", - }, strip_prefix = ".", # Public but bazel-only visibility. visibility = ["//:__subpackages__"], diff --git a/MODULE.bazel b/MODULE.bazel index cff405e5f9ef31..59a3ef607bacea 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -360,17 +360,24 @@ http_file( # ========================================= bazel_dep(name = "bazel_ci_rules", version = "1.0.0") - -bazel_test_deps = use_extension("//:extensions.bzl", "bazel_test_deps") -use_repo( - bazel_test_deps, - "kythe_release", - "local_bazel_source_list", - "local_config_winsdk", +rbe_preconfig = use_repo_rule("@bazel_ci_rules//:rbe_repo.bzl", "rbe_preconfig") +rbe_preconfig( + name = "rbe_ubuntu2004", + toolchain = "ubuntu2004", ) -bazel_rbe_deps = use_extension("//:rbe_extension.bzl", "bazel_rbe_deps") -use_repo(bazel_rbe_deps, "rbe_ubuntu2004") +list_source_repository = use_repo_rule("//src/test/shell/bazel:list_source_repository.bzl", "list_source_repository") +list_source_repository(name = "local_bazel_source_list") + +winsdk_configure = use_repo_rule("//src/main/res:winsdk_configure.bzl", "winsdk_configure") +winsdk_configure(name = "local_config_winsdk") + +# /usr/local/kythe is setup on Bazel CI machines +local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository") +local_repository( + name = "kythe_release", + path = "/usr/local/kythe", +) remote_coverage_tools_extension = use_extension("//tools/test:extensions.bzl", "remote_coverage_tools_extension") use_repo(remote_coverage_tools_extension, "remote_coverage_tools") diff --git a/extensions.bzl b/extensions.bzl index d84047d9bdc761..9d7797eb5803bd 100644 --- a/extensions.bzl +++ b/extensions.bzl @@ -16,12 +16,9 @@ """ -load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository") load("//:distdir.bzl", "distdir_tar", "repo_cache_tar") load("//:repositories.bzl", "DIST_ARCHIVE_REPOS", "embedded_jdk_repositories") load("//:workspace_deps.bzl", "WORKSPACE_REPOS") -load("//src/main/res:winsdk_configure.bzl", "winsdk_configure") -load("//src/test/shell/bazel:list_source_repository.bzl", "list_source_repository") load("//src/tools/bzlmod:utils.bzl", "parse_bazel_module_repos") load("//tools/distributions/debian:deps.bzl", "debian_deps") @@ -46,17 +43,3 @@ def _bazel_build_deps(ctx): return ctx.extension_metadata(reproducible = True) bazel_build_deps = module_extension(implementation = _bazel_build_deps) - -### Dependencies for testing Bazel -def _bazel_test_deps(ctx): - list_source_repository(name = "local_bazel_source_list") - winsdk_configure(name = "local_config_winsdk") - - # /usr/local/kythe is setup on Bazel CI machines - local_repository( - name = "kythe_release", - path = "/usr/local/kythe", - ) - return ctx.extension_metadata(reproducible = True) - -bazel_test_deps = module_extension(implementation = _bazel_test_deps) diff --git a/rbe_extension.bzl b/rbe_extension.bzl deleted file mode 100644 index 7f24eb0aa538e4..00000000000000 --- a/rbe_extension.bzl +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2023 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Module extensions for loading RBE toolchains. - -""" - -load("@bazel_ci_rules//:rbe_repo.bzl", "rbe_preconfig") - -def _bazel_rbe_deps(ctx): - rbe_preconfig( - name = "rbe_ubuntu2004", - toolchain = "ubuntu2004", - ) - return ctx.extension_metadata(reproducible = True) - -bazel_rbe_deps = module_extension(implementation = _bazel_rbe_deps) diff --git a/src/BUILD b/src/BUILD index c3b96f00db1b3b..329f22c24d031f 100644 --- a/src/BUILD +++ b/src/BUILD @@ -413,6 +413,29 @@ filegroup( visibility = ["//:__pkg__"], ) +# Source files that can be excluded from //:bazel-distfile to avoid triggering the bootstrap test. +filegroup( + name = "srcs-to-exclude-in-distfile", + srcs = [ + "//src/test/cpp:srcs", + "//src/test/gen:srcs", + "//src/test/java/com/google/devtools/build/docgen:srcs", + "//src/test/java/com/google/devtools/build/lib:srcs", + "//src/test/java/com/google/devtools/build/lib/shell:srcs", + "//src/test/java/com/google/devtools/build/skyframe:srcs", + "//src/test/java/com/google/devtools/common/options:srcs", + "//src/test/java/net/starlark/java/eval:srcs", + "//src/test/java/net/starlark/java/spelling:srcs", + "//src/test/native/windows:srcs", + "//src/test/py/bazel:srcs", + "//src/test/res:srcs", + "//src/test/shell:srcs", + "//src/test/testdata/test_tls_certificate", + "//src/test/tools:srcs", + ], + visibility = ["//:__pkg__"], +) + genrule( name = "derived_java_srcs", srcs = [ From 3cca7ddc753b73dfd45dd2373335ac5d77b9b73c Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 25 Nov 2024 07:08:44 -0800 Subject: [PATCH 2/3] Enforce a minimal required version of bazel_features in MODULE.tools Addressing https://github.com/bazel-contrib/bazel_features/issues/82 PiperOrigin-RevId: 699970013 Change-Id: Ia9b6952c4836437b4f74e4e498c5d5839185c496 --- MODULE.bazel | 6 ++++++ MODULE.bazel.lock | 8 ++++++-- src/MODULE.tools | 3 +++ src/test/tools/bzlmod/MODULE.bazel.lock | 6 +++++- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 59a3ef607bacea..a2055597f60b94 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -76,6 +76,7 @@ local_path_override( # The following Bazel modules are not direct dependencies for building Bazel, # but are required for visibility from DIST_ARCHIVE_REPOS in repositories.bzl bazel_dep(name = "apple_support", version = "1.15.1") +bazel_dep(name = "bazel_features", version = "1.21.0") bazel_dep(name = "c-ares", version = "1.15.0") bazel_dep(name = "rules_go", version = "0.48.0") bazel_dep(name = "rules_kotlin", version = "1.9.6") @@ -360,20 +361,25 @@ http_file( # ========================================= bazel_dep(name = "bazel_ci_rules", version = "1.0.0") + rbe_preconfig = use_repo_rule("@bazel_ci_rules//:rbe_repo.bzl", "rbe_preconfig") + rbe_preconfig( name = "rbe_ubuntu2004", toolchain = "ubuntu2004", ) list_source_repository = use_repo_rule("//src/test/shell/bazel:list_source_repository.bzl", "list_source_repository") + list_source_repository(name = "local_bazel_source_list") winsdk_configure = use_repo_rule("//src/main/res:winsdk_configure.bzl", "winsdk_configure") + winsdk_configure(name = "local_config_winsdk") # /usr/local/kythe is setup on Bazel CI machines local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository") + local_repository( name = "kythe_release", path = "/usr/local/kythe", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 37670ac9eb7bd5..ec89d2ac8af718 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -28,6 +28,8 @@ "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.19.0/source.json": "d7bf14517c1b25b9d9c580b0f8795fceeae08a7590f507b76aace528e941375d", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", @@ -131,6 +133,8 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", "https://bcr.bazel.build/modules/rules_cc/0.0.16/source.json": "227e83737046aa4f50015da48e98e0d8ab42fd0ec74d8d653b6cc9f9a357f200", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/source.json": "4db99b3f55c90ab28d14552aa0632533e3e8e5e9aea0f5c24ac0014282c2a7c5", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "https://bcr.bazel.build/modules/rules_cc/0.0.5/MODULE.bazel": "be41f87587998fe8890cd82ea4e848ed8eb799e053c224f78f3ff7fe1a1d9b74", "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", @@ -710,7 +714,7 @@ }, "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": { "general": { - "bzlTransitiveDigest": "csKlPWUWnllWTbqKd25aCDlEM+HC1Vwkco0G+nQkx2A=", + "bzlTransitiveDigest": "q9xjvYjuEInch+xBf39T5fOMbcAKM8yOF3oBTeL7Ojw=", "usagesDigest": "lkQku2fyVfziUrJ74C6SyS/ntzJOwa6ZF8hyCIWhsDw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -5306,7 +5310,7 @@ }, "@@rules_python+//python/private/pypi:pip.bzl%pip_internal": { "general": { - "bzlTransitiveDigest": "Ia+WlCPeYdZM39vUMNpEI4N0sQyzLK3j231Xqd6nSHs=", + "bzlTransitiveDigest": "Tkx3CGKY3kzE5ObWsQX2OIv9IOF7ycNkOH50c1Wnxso=", "usagesDigest": "OLoIStnzNObNalKEMRq99FqenhPGLFZ5utVLV4sz7OI=", "recordedFileInputs": { "@@rules_python+//tools/publish/requirements_windows.txt": "7673adc71dc1a81d3661b90924d7a7c0fc998cd508b3cb4174337cef3f2de556", diff --git a/src/MODULE.tools b/src/MODULE.tools index 915a2a9f18252f..d61647f79c97aa 100644 --- a/src/MODULE.tools +++ b/src/MODULE.tools @@ -11,6 +11,9 @@ bazel_dep(name = "platforms", version = "0.0.10") bazel_dep(name = "zlib", version = "1.3.1.bcr.3") bazel_dep(name = "rules_proto", version = "7.0.2") +# Enforce a minimal required version +bazel_dep(name = "bazel_features", version = "1.21.0") + xcode_configure = use_extension("//tools/osx:xcode_configure.bzl", "xcode_configure_extension") use_repo(xcode_configure, "local_config_xcode") diff --git a/src/test/tools/bzlmod/MODULE.bazel.lock b/src/test/tools/bzlmod/MODULE.bazel.lock index 434815e7c2b9cf..8ca51a7c855ae6 100644 --- a/src/test/tools/bzlmod/MODULE.bazel.lock +++ b/src/test/tools/bzlmod/MODULE.bazel.lock @@ -17,6 +17,8 @@ "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.19.0/source.json": "d7bf14517c1b25b9d9c580b0f8795fceeae08a7590f507b76aace528e941375d", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", @@ -68,6 +70,8 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", "https://bcr.bazel.build/modules/rules_cc/0.0.16/source.json": "227e83737046aa4f50015da48e98e0d8ab42fd0ec74d8d653b6cc9f9a357f200", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/source.json": "4db99b3f55c90ab28d14552aa0632533e3e8e5e9aea0f5c24ac0014282c2a7c5", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", @@ -355,7 +359,7 @@ }, "@@rules_python+//python/private/pypi:pip.bzl%pip_internal": { "general": { - "bzlTransitiveDigest": "nMxNfech6e0MDgkciI/sKryYD99ePLF8e4C6ySTOksg=", + "bzlTransitiveDigest": "6j7OeER97/sUx3f8grT22jx9XEhLfoBOWPtfkHNYcm4=", "usagesDigest": "OLoIStnzNObNalKEMRq99FqenhPGLFZ5utVLV4sz7OI=", "recordedFileInputs": { "@@rules_python+//tools/publish/requirements_darwin.txt": "2994136eab7e57b083c3de76faf46f70fad130bc8e7360a7fed2b288b69e79dc", From 140b39dba4f649d4ade83e05993fb6f3f003adff Mon Sep 17 00:00:00 2001 From: Yun Peng Date: Mon, 25 Nov 2024 16:44:40 +0100 Subject: [PATCH 3/3] Update lockfiles --- MODULE.bazel.lock | 3 --- src/test/tools/bzlmod/MODULE.bazel.lock | 3 --- 2 files changed, 6 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index ec89d2ac8af718..aef4a962c73f48 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -27,7 +27,6 @@ "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", - "https://bcr.bazel.build/modules/bazel_features/1.19.0/source.json": "d7bf14517c1b25b9d9c580b0f8795fceeae08a7590f507b76aace528e941375d", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", @@ -133,8 +132,6 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", "https://bcr.bazel.build/modules/rules_cc/0.0.16/source.json": "227e83737046aa4f50015da48e98e0d8ab42fd0ec74d8d653b6cc9f9a357f200", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/source.json": "4db99b3f55c90ab28d14552aa0632533e3e8e5e9aea0f5c24ac0014282c2a7c5", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "https://bcr.bazel.build/modules/rules_cc/0.0.5/MODULE.bazel": "be41f87587998fe8890cd82ea4e848ed8eb799e053c224f78f3ff7fe1a1d9b74", "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", diff --git a/src/test/tools/bzlmod/MODULE.bazel.lock b/src/test/tools/bzlmod/MODULE.bazel.lock index 8ca51a7c855ae6..cf4d1b63304987 100644 --- a/src/test/tools/bzlmod/MODULE.bazel.lock +++ b/src/test/tools/bzlmod/MODULE.bazel.lock @@ -16,7 +16,6 @@ "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", - "https://bcr.bazel.build/modules/bazel_features/1.19.0/source.json": "d7bf14517c1b25b9d9c580b0f8795fceeae08a7590f507b76aace528e941375d", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", @@ -70,8 +69,6 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", "https://bcr.bazel.build/modules/rules_cc/0.0.16/source.json": "227e83737046aa4f50015da48e98e0d8ab42fd0ec74d8d653b6cc9f9a357f200", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/source.json": "4db99b3f55c90ab28d14552aa0632533e3e8e5e9aea0f5c24ac0014282c2a7c5", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e",