From 2f8220fbbc0345fb2cfad8db757cec052610c6c0 Mon Sep 17 00:00:00 2001 From: James Sharpe Date: Fri, 10 Jan 2025 23:05:31 +0000 Subject: [PATCH 1/2] Upgrade to rules_python 1.1.0-rc0 --- .github/workflows/release_prep.sh | 20 +++++++++++++-- MODULE.bazel | 17 +++++------- WORKSPACE.bazel | 12 ++++++--- docs/MODULE.bazel.lock | 3 ++- examples/MODULE.bazel | 4 +-- examples/WORKSPACE.bazel | 27 ++++++++++---------- foreign_cc/BUILD.bazel | 13 ++++++---- foreign_cc/boost_build.bzl | 1 + foreign_cc/built_tools/meson_build.bzl | 4 +++ foreign_cc/cmake.bzl | 1 + foreign_cc/configure.bzl | 1 + foreign_cc/make.bzl | 1 + foreign_cc/meson.bzl | 1 + foreign_cc/ninja.bzl | 1 + foreign_cc/private/BUILD.bazel | 7 +++++ foreign_cc/private/cc_toolchain_util.bzl | 1 + foreign_cc/private/framework.bzl | 1 + foreign_cc/private/transitions.bzl | 1 + foreign_cc/repositories.bzl | 20 ++++++++++----- test/standard_cxx_flags_test/WORKSPACE.bazel | 13 ++++++++++ 20 files changed, 106 insertions(+), 43 deletions(-) diff --git a/.github/workflows/release_prep.sh b/.github/workflows/release_prep.sh index dd2277b0e..134a63d13 100755 --- a/.github/workflows/release_prep.sh +++ b/.github/workflows/release_prep.sh @@ -12,7 +12,7 @@ git archive --format=tar --prefix="${PREFIX}"/ "${TAG}" | gzip > "$ARCHIVE" SHA="$(shasum -a 256 "$ARCHIVE" | awk '{print $1}')" cat << EOF -## Using Bzlmod with Bazel 6 +## Using Bzlmod 1. Enable with \`common --enable_bzlmod\` in \`.bazelrc\`. 2. Add to your \`MODULE.bazel\` file: @@ -37,8 +37,24 @@ http_archive( load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies") # This sets up some common toolchains for building targets. For more details, please see -# https://bazelbuild.github.io/rules_foreign_cc/${TAG}/flatten.html#rules_foreign_cc_dependencies +# https://bazel-contrib.github.io/rules_foreign_cc/${TAG}/flatten.html#rules_foreign_cc_dependencies rules_foreign_cc_dependencies() + +# If you're not already using bazel_skylib, bazel_features or rules_python, +# you'll need to add these calls as well. + +load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") + +bazel_skylib_workspace() + +load("@bazel_features//:deps.bzl", "bazel_features_deps") + +bazel_features_deps() + +load("@rules_python//python:repositories.bzl", "py_repositories") + +py_repositories() + EOF # TODO: add example of how to configure for bzlmod diff --git a/MODULE.bazel b/MODULE.bazel index d8005946c..35e467901 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -9,22 +9,19 @@ module( bazel_dep(name = "bazel_features", version = "1.15.0") bazel_dep(name = "bazel_skylib", version = "1.3.0") bazel_dep(name = "platforms", version = "0.0.5") -bazel_dep(name = "rules_python", version = "0.23.1") +bazel_dep(name = "rules_cc", version = "0.0.17") +bazel_dep(name = "rules_python", version = "1.1.0-rc0") bazel_dep(name = "rules_shell", version = "0.3.0") # Dev dependencies -bazel_dep(name = "gazelle", version = "0.34.0", dev_dependency = True, repo_name = "bazel_gazelle") -bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.5.0", dev_dependency = True) +bazel_dep(name = "gazelle", version = "0.41.0", dev_dependency = True, repo_name = "bazel_gazelle") +bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True) bazel_dep(name = "stardoc", version = "0.5.6", dev_dependency = True, repo_name = "io_bazel_stardoc") bazel_dep(name = "bazel_ci_rules", version = "1.0.0", dev_dependency = True) -# note that this dev_dependency is only needed because bazel_ci_rules -# depends on it. If you are not using bazel_ci_rules; ideally we'd be able to remove this. -bazel_dep(name = "rules_cc", version = "0.0.9", dev_dependency = True) - python = use_extension("@rules_python//python/extensions:python.bzl", "python") -python.toolchain(python_version = "3.9") -use_repo(python, "python_3_9") +python.toolchain(python_version = "3.12") +use_repo(python, "python_3_12") tools = use_extension("@rules_foreign_cc//foreign_cc:extensions.bzl", "tools") use_repo( @@ -46,6 +43,6 @@ register_toolchains( "@rules_foreign_cc_framework_toolchains//:all", "@cmake_3.23.2_toolchains//:all", "@ninja_1.12.1_toolchains//:all", - "@python_3_9//:all", + "@python_3_12//:all", "@rules_foreign_cc//toolchains:all", ) diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 4f18c76b4..5de2ad0c5 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -24,13 +24,19 @@ load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") bazel_skylib_workspace() -load("@rules_python//python:repositories.bzl", "python_register_toolchains") +load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") + +py_repositories() python_register_toolchains( - name = "python3_10", - python_version = "3.10", + name = "python_3_12", + python_version = "3.12", ) +load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") + +protobuf_deps() + load("//:docs/stardoc_repository.bzl", "stardoc_repository") stardoc_repository() diff --git a/docs/MODULE.bazel.lock b/docs/MODULE.bazel.lock index f9160002d..4abe1f46f 100644 --- a/docs/MODULE.bazel.lock +++ b/docs/MODULE.bazel.lock @@ -117,7 +117,8 @@ "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", "https://bcr.bazel.build/modules/rules_python/1.0.0/MODULE.bazel": "898a3d999c22caa585eb062b600f88654bf92efb204fa346fb55f6f8edffca43", - "https://bcr.bazel.build/modules/rules_python/1.0.0/source.json": "b0162a65c6312e45e7912e39abd1a7f8856c2c7e41ecc9b6dc688a6f6400a917", + "https://bcr.bazel.build/modules/rules_python/1.1.0-rc0/MODULE.bazel": "5d3c1d48fc6204fbd5c096a3fbd784081881a487ff322744b5c7e3c038b558e4", + "https://bcr.bazel.build/modules/rules_python/1.1.0-rc0/source.json": "e1587a165fec741744b784a46ee5487a4aa3887249ad325565ad4ab8fd260842", "https://bcr.bazel.build/modules/rules_rust/0.56.0/MODULE.bazel": "3295b00757db397122092322fe1e920be7f5c9fbfb8619138977e820f2cbbbae", "https://bcr.bazel.build/modules/rules_rust/0.56.0/source.json": "7dc294c3decd40af8f7b83897a5936e764d3ae8584b4056862978fb3870ab8d7", "https://bcr.bazel.build/modules/rules_rust_mdbook/0.56.0/MODULE.bazel": "ae9f0b4d3455b7e07ae8ccde056bf85554f860f346943a04bdddde3305463021", diff --git a/examples/MODULE.bazel b/examples/MODULE.bazel index 15b17be92..92f32916b 100644 --- a/examples/MODULE.bazel +++ b/examples/MODULE.bazel @@ -31,9 +31,9 @@ python.toolchain( pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") pip.parse( - name = "pip", + hub_name = "pip", + python_version = "3.10", requirements_lock = "//:requirements_lock.txt", - requirements_windows = "//:requirements_windows.txt", ) use_repo(pip, "pip") diff --git a/examples/WORKSPACE.bazel b/examples/WORKSPACE.bazel index 80691c2b8..e47cec2c1 100644 --- a/examples/WORKSPACE.bazel +++ b/examples/WORKSPACE.bazel @@ -13,16 +13,6 @@ load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") bazel_skylib_workspace() -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") - -maybe( - http_archive, - name = "rules_cc", - sha256 = "4dccbfd22c0def164c8f47458bd50e0c7148f3d92002cdb459c2a96a68498241", - urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.1/rules_cc-0.0.1.tar.gz"], -) - load("//deps:repositories.bzl", "repositories") repositories() @@ -35,19 +25,24 @@ load("//deps:deps_jvm_external.bzl", "deps_jvm_external") deps_jvm_external() -load("@rules_python//python:repositories.bzl", "python_register_toolchains") +load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") + +py_repositories() + +load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") + +protobuf_deps() python_register_toolchains( - name = "python3_10", + name = "python_3_10", python_version = "3.10", ) -load("@python3_10//:defs.bzl", py3_interpreter = "interpreter") load("@rules_python//python:pip.bzl", "pip_parse") pip_parse( name = "pip", - python_interpreter_target = py3_interpreter, + python_interpreter_target = "@python_3_10_host//:python", requirements_lock = "//:requirements_lock.txt", ) @@ -68,6 +63,8 @@ load("@rules_foreign_cc_examples_third_party//:setup.bzl", examples_third_party_ examples_third_party_setup() +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + http_archive( name = "bazelci_rules", sha256 = "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e", @@ -125,6 +122,8 @@ load( apple_support_dependencies() +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") + maybe( http_archive, name = "rules_rust", diff --git a/foreign_cc/BUILD.bazel b/foreign_cc/BUILD.bazel index 0c965128f..abec352f0 100644 --- a/foreign_cc/BUILD.bazel +++ b/foreign_cc/BUILD.bazel @@ -41,6 +41,9 @@ bzl_library( "//foreign_cc/private:framework", "//foreign_cc/private:transitions", "//toolchains/native_tools:tool_access", + "@rules_cc//cc:bzl_srcs", + "@rules_cc//cc/common", + "@rules_cc//cc/toolchains:toolchain_rules", ], ) @@ -123,14 +126,14 @@ bzl_library( ) bzl_library( - name = "providers", - srcs = ["providers.bzl"], + name = "utils", + srcs = ["utils.bzl"], visibility = ["//visibility:public"], + deps = ["@rules_shell//shell:rules_bzl"], ) bzl_library( - name = "utils", - srcs = ["utils.bzl"], + name = "providers", + srcs = ["providers.bzl"], visibility = ["//visibility:public"], - deps = ["@rules_shell//shell:rules_bzl"], ) diff --git a/foreign_cc/boost_build.bzl b/foreign_cc/boost_build.bzl index 64bfee3e9..aa5abae81 100644 --- a/foreign_cc/boost_build.bzl +++ b/foreign_cc/boost_build.bzl @@ -1,5 +1,6 @@ """ Rule for building Boost from sources. """ +load("@rules_cc//cc:defs.bzl", "CcInfo") load("//foreign_cc/private:detect_root.bzl", "detect_root") load( "//foreign_cc/private:framework.bzl", diff --git a/foreign_cc/built_tools/meson_build.bzl b/foreign_cc/built_tools/meson_build.bzl index 696f5ae2b..81db0f54c 100644 --- a/foreign_cc/built_tools/meson_build.bzl +++ b/foreign_cc/built_tools/meson_build.bzl @@ -1,8 +1,12 @@ """ Rule for building meson from source. """ load("@rules_python//python:defs.bzl", "py_binary") +load("@rules_python//python:features.bzl", "features") def meson_tool(name, main, data, requirements = [], **kwargs): + kwargs.pop("precompile", None) + if not features.uses_builtin_rules: + kwargs["precompile"] = "disabled" py_binary( name = name, srcs = [main], diff --git a/foreign_cc/cmake.bzl b/foreign_cc/cmake.bzl index cfbae864a..0bd9e60df 100644 --- a/foreign_cc/cmake.bzl +++ b/foreign_cc/cmake.bzl @@ -128,6 +128,7 @@ cmake( [cct]: https://docs.bazel.build/versions/master/be/c-cpp.html#cc_toolchain """ +load("@rules_cc//cc:defs.bzl", "CcInfo") load( "//foreign_cc/private:cc_toolchain_util.bzl", "get_flags_info", diff --git a/foreign_cc/configure.bzl b/foreign_cc/configure.bzl index 881d94435..9df757b52 100644 --- a/foreign_cc/configure.bzl +++ b/foreign_cc/configure.bzl @@ -3,6 +3,7 @@ build tool """ load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") +load("@rules_cc//cc:defs.bzl", "CcInfo") load( "//foreign_cc/private:cc_toolchain_util.bzl", "get_flags_info", diff --git a/foreign_cc/make.bzl b/foreign_cc/make.bzl index 48bf19af4..8ffa23fbd 100644 --- a/foreign_cc/make.bzl +++ b/foreign_cc/make.bzl @@ -1,6 +1,7 @@ """A rule for building projects using the [GNU Make](https://www.gnu.org/software/make/) build tool""" load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") +load("@rules_cc//cc:defs.bzl", "CcInfo") load( "//foreign_cc/private:cc_toolchain_util.bzl", "get_flags_info", diff --git a/foreign_cc/meson.bzl b/foreign_cc/meson.bzl index dcce35d8f..4ea9acab8 100644 --- a/foreign_cc/meson.bzl +++ b/foreign_cc/meson.bzl @@ -1,5 +1,6 @@ """A rule for building projects using the [Meson](https://mesonbuild.com/) build system""" +load("@rules_cc//cc:defs.bzl", "CcInfo") load("//foreign_cc:utils.bzl", "full_label") load("//foreign_cc/built_tools:meson_build.bzl", "meson_tool") load( diff --git a/foreign_cc/ninja.bzl b/foreign_cc/ninja.bzl index abfe2d04c..bcb7bbf31 100644 --- a/foreign_cc/ninja.bzl +++ b/foreign_cc/ninja.bzl @@ -1,5 +1,6 @@ """A rule for building projects using the [Ninja](https://ninja-build.org/) build tool""" +load("@rules_cc//cc:defs.bzl", "CcInfo") load( "//foreign_cc/private:detect_root.bzl", "detect_root", diff --git a/foreign_cc/private/BUILD.bazel b/foreign_cc/private/BUILD.bazel index bb3318425..b65566d55 100644 --- a/foreign_cc/private/BUILD.bazel +++ b/foreign_cc/private/BUILD.bazel @@ -84,6 +84,13 @@ bzl_library( ], ) +bzl_library( + name = "detect_xcompile", + srcs = ["detect_xcompile.bzl"], + visibility = ["//foreign_cc:__subpackages__"], + deps = ["//foreign_cc/private/framework:platform"], +) + bzl_library( name = "run_shell_file_utils", srcs = ["run_shell_file_utils.bzl"], diff --git a/foreign_cc/private/cc_toolchain_util.bzl b/foreign_cc/private/cc_toolchain_util.bzl index f0cef2e03..21932a3c4 100644 --- a/foreign_cc/private/cc_toolchain_util.bzl +++ b/foreign_cc/private/cc_toolchain_util.bzl @@ -4,6 +4,7 @@ load("@bazel_skylib//lib:collections.bzl", "collections") load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES") load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") +load("@rules_cc//cc:defs.bzl", "CcInfo", "cc_common") LibrariesToLinkInfo = provider( doc = "Libraries to be wrapped into CcLinkingInfo", diff --git a/foreign_cc/private/framework.bzl b/foreign_cc/private/framework.bzl index 56261fd07..e552f1268 100644 --- a/foreign_cc/private/framework.bzl +++ b/foreign_cc/private/framework.bzl @@ -6,6 +6,7 @@ load("@bazel_features//:features.bzl", "bazel_features") load("@bazel_skylib//lib:collections.bzl", "collections") load("@bazel_skylib//lib:paths.bzl", "paths") load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") +load("@rules_cc//cc:defs.bzl", "CcInfo", "cc_common") load("//foreign_cc:providers.bzl", "ForeignCcArtifactInfo", "ForeignCcDepsInfo") load("//foreign_cc/private:detect_root.bzl", "filter_containing_dirs_from_inputs") load( diff --git a/foreign_cc/private/transitions.bzl b/foreign_cc/private/transitions.bzl index ff166a6f8..745692757 100644 --- a/foreign_cc/private/transitions.bzl +++ b/foreign_cc/private/transitions.bzl @@ -1,5 +1,6 @@ """This file contains rules for configuration transitions""" +load("@rules_cc//cc:defs.bzl", "CcInfo") load("//foreign_cc:providers.bzl", "ForeignCcDepsInfo") def _extra_toolchains_transition_impl(settings, attrs): diff --git a/foreign_cc/repositories.bzl b/foreign_cc/repositories.bzl index 308a0dacb..a99080534 100644 --- a/foreign_cc/repositories.bzl +++ b/foreign_cc/repositories.bzl @@ -94,19 +94,27 @@ def rules_foreign_cc_dependencies( maybe( http_archive, name = "bazel_skylib", + sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz", ], - sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728", + ) + + maybe( + http_archive, + name = "rules_cc", + urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.17/rules_cc-0.0.17.tar.gz"], + sha256 = "abc605dd850f813bb37004b77db20106a19311a96b2da1c92b789da529d28fe1", + strip_prefix = "rules_cc-0.0.17", ) maybe( http_archive, name = "rules_python", - sha256 = "84aec9e21cc56fbc7f1335035a71c850d1b9b5cc6ff497306f84cced9a769841", - strip_prefix = "rules_python-0.23.1", - url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.23.1.tar.gz", + sha256 = "0a158f883fc494724f25e2ce6a5c3d31fd52163a92d4b7180aef0ff9a0622f70", + strip_prefix = "rules_python-1.1.0-rc0", + url = "https://github.com/bazelbuild/rules_python/releases/download/1.1.0-rc0/rules_python-1.1.0-rc0.tar.gz", ) maybe( diff --git a/test/standard_cxx_flags_test/WORKSPACE.bazel b/test/standard_cxx_flags_test/WORKSPACE.bazel index 76f7b0557..c0dd70f11 100644 --- a/test/standard_cxx_flags_test/WORKSPACE.bazel +++ b/test/standard_cxx_flags_test/WORKSPACE.bazel @@ -9,6 +9,19 @@ load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_depende rules_foreign_cc_dependencies() +load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") + +py_repositories() + +python_register_toolchains( + name = "python_3_12", + python_version = "3.12", +) + +load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") + +protobuf_deps() + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( From 0d713da537f9307c4831979e85a176b7aff635ad Mon Sep 17 00:00:00 2001 From: James Sharpe Date: Fri, 10 Jan 2025 23:27:06 +0000 Subject: [PATCH 2/2] Docs --- MODULE.bazel | 3 +++ docs/MODULE.bazel | 2 +- docs/MODULE.bazel.lock | 39 +++++++++++++++++++++++++-------------- foreign_cc/BUILD.bazel | 18 ++++++++++++++++++ 4 files changed, 47 insertions(+), 15 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 35e467901..3c1dbe96d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -13,6 +13,9 @@ bazel_dep(name = "rules_cc", version = "0.0.17") bazel_dep(name = "rules_python", version = "1.1.0-rc0") bazel_dep(name = "rules_shell", version = "0.3.0") +# This is only here because of the docs generation! +bazel_dep(name = "protobuf", version = "29.3", repo_name = "com_google_protobuf") + # Dev dependencies bazel_dep(name = "gazelle", version = "0.41.0", dev_dependency = True, repo_name = "bazel_gazelle") bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True) diff --git a/docs/MODULE.bazel b/docs/MODULE.bazel index 32638270d..265492847 100644 --- a/docs/MODULE.bazel +++ b/docs/MODULE.bazel @@ -30,5 +30,5 @@ bazel_dep( ) bazel_dep( name = "rules_python", - version = "1.0.0", + version = "1.1.0-rc0", ) diff --git a/docs/MODULE.bazel.lock b/docs/MODULE.bazel.lock index 4abe1f46f..76ee4757c 100644 --- a/docs/MODULE.bazel.lock +++ b/docs/MODULE.bazel.lock @@ -57,7 +57,8 @@ "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", - "https://bcr.bazel.build/modules/protobuf/29.0-rc3/source.json": "c16a6488fb279ef578da7098e605082d72ed85fc8d843eaae81e7d27d0f4625d", + "https://bcr.bazel.build/modules/protobuf/29.3/MODULE.bazel": "77480eea5fb5541903e49683f24dc3e09f4a79e0eea247414887bb9fc0066e94", + "https://bcr.bazel.build/modules/protobuf/29.3/source.json": "c460e6550ddd24996232c7542ebf201f73c4e01d2183a31a041035fb50f19681", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", @@ -116,7 +117,6 @@ "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", - "https://bcr.bazel.build/modules/rules_python/1.0.0/MODULE.bazel": "898a3d999c22caa585eb062b600f88654bf92efb204fa346fb55f6f8edffca43", "https://bcr.bazel.build/modules/rules_python/1.1.0-rc0/MODULE.bazel": "5d3c1d48fc6204fbd5c096a3fbd784081881a487ff322744b5c7e3c038b558e4", "https://bcr.bazel.build/modules/rules_python/1.1.0-rc0/source.json": "e1587a165fec741744b784a46ee5487a4aa3887249ad325565ad4ab8fd260842", "https://bcr.bazel.build/modules/rules_rust/0.56.0/MODULE.bazel": "3295b00757db397122092322fe1e920be7f5c9fbfb8619138977e820f2cbbbae", @@ -187,7 +187,7 @@ }, "@@rules_foreign_cc~//foreign_cc:extensions.bzl%tools": { "general": { - "bzlTransitiveDigest": "82gl0j2nuUSwR2DhSU4Mejqc+E1d+0SHmnz6jHQGxak=", + "bzlTransitiveDigest": "xXsVxU9RFlxF0FwwZymap5U/lRd3z9Hlcys4Tq+b+Bo=", "usagesDigest": "iWj6btwJ+MsMEUdwPmGRjCwIkOzbbnx8NIo56/soHIM=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -249,7 +249,7 @@ "https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2.tar.gz" ], "patches": [ - "@@rules_foreign_cc~//toolchains:cmake-c++11.patch" + "@@rules_foreign_cc~//toolchains/patches:cmake-c++11.patch" ] } }, @@ -283,7 +283,7 @@ "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "build_file_content": "exports_files([\"meson.py\"])\n\nfilegroup(\n name = \"runtime\",\n srcs = glob([\"mesonbuild/**\"]),\n visibility = [\"//visibility:public\"],\n)\n", + "build_file_content": "exports_files([\"meson.py\"])\n\nfilegroup(\n name = \"runtime\",\n # NOTE: excluding __pycache__ is important to avoid rebuilding due to pyc\n # files, see https://github.com/bazel-contrib/rules_foreign_cc/issues/1342\n srcs = glob([\"mesonbuild/**\"], exclude = [\"**/__pycache__/*\"]),\n visibility = [\"//visibility:public\"],\n)\n", "sha256": "567e533adf255de73a2de35049b99923caf872a455af9ce03e01077e0d384bed", "strip_prefix": "meson-1.5.1", "urls": [ @@ -349,9 +349,9 @@ "sha256": "6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591", "strip_prefix": "pkg-config-0.29.2", "patches": [ - "@@rules_foreign_cc~//toolchains:pkgconfig-detectenv.patch", - "@@rules_foreign_cc~//toolchains:pkgconfig-makefile-vc.patch", - "@@rules_foreign_cc~//toolchains:pkgconfig-builtin-glib-int-conversion.patch" + "@@rules_foreign_cc~//toolchains/patches:pkgconfig-detectenv.patch", + "@@rules_foreign_cc~//toolchains/patches:pkgconfig-makefile-vc.patch", + "@@rules_foreign_cc~//toolchains/patches:pkgconfig-builtin-glib-int-conversion.patch" ], "urls": [ "https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz", @@ -372,20 +372,31 @@ "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { + "sha256": "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f", "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz" + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz" + ] + } + }, + "rules_cc": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "urls": [ + "https://github.com/bazelbuild/rules_cc/releases/download/0.0.17/rules_cc-0.0.17.tar.gz" ], - "sha256": "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728" + "sha256": "abc605dd850f813bb37004b77db20106a19311a96b2da1c92b789da529d28fe1", + "strip_prefix": "rules_cc-0.0.17" } }, "rules_python": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_archive", "attributes": { - "sha256": "84aec9e21cc56fbc7f1335035a71c850d1b9b5cc6ff497306f84cced9a769841", - "strip_prefix": "rules_python-0.23.1", - "url": "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.23.1.tar.gz" + "sha256": "0a158f883fc494724f25e2ce6a5c3d31fd52163a92d4b7180aef0ff9a0622f70", + "strip_prefix": "rules_python-1.1.0-rc0", + "url": "https://github.com/bazelbuild/rules_python/releases/download/1.1.0-rc0/rules_python-1.1.0-rc0.tar.gz" } }, "rules_shell": { diff --git a/foreign_cc/BUILD.bazel b/foreign_cc/BUILD.bazel index abec352f0..9486fb8bc 100644 --- a/foreign_cc/BUILD.bazel +++ b/foreign_cc/BUILD.bazel @@ -27,6 +27,10 @@ bzl_library( "//foreign_cc/private:transitions", "//foreign_cc/private/framework:platform", "//toolchains/native_tools:tool_access", + "@com_google_protobuf//bazel:cc_proto_library_bzl", + "@rules_cc//cc:bzl_srcs", + "@rules_cc//cc/common", + "@rules_cc//cc/toolchains:toolchain_rules", ], ) @@ -41,6 +45,7 @@ bzl_library( "//foreign_cc/private:framework", "//foreign_cc/private:transitions", "//toolchains/native_tools:tool_access", + "@com_google_protobuf//bazel:cc_proto_library_bzl", "@rules_cc//cc:bzl_srcs", "@rules_cc//cc/common", "@rules_cc//cc/toolchains:toolchain_rules", @@ -83,6 +88,10 @@ bzl_library( "//foreign_cc/private:make_script", "//foreign_cc/private:transitions", "//toolchains/native_tools:tool_access", + "@com_google_protobuf//bazel:cc_proto_library_bzl", + "@rules_cc//cc:bzl_srcs", + "@rules_cc//cc/common", + "@rules_cc//cc/toolchains:toolchain_rules", ], ) @@ -99,6 +108,11 @@ bzl_library( "//foreign_cc/private:transitions", "//toolchains/native_tools:native_tools_toolchain", "//toolchains/native_tools:tool_access", + "@com_google_protobuf//bazel:cc_proto_library_bzl", + "@rules_cc//cc:bzl_srcs", + "@rules_cc//cc/common", + "@rules_cc//cc/toolchains:toolchain_rules", + "@rules_python//python:features_bzl", ], ) @@ -110,6 +124,10 @@ bzl_library( "//foreign_cc/private:detect_root", "//foreign_cc/private:framework", "//toolchains/native_tools:tool_access", + "@com_google_protobuf//bazel:cc_proto_library_bzl", + "@rules_cc//cc:bzl_srcs", + "@rules_cc//cc/common", + "@rules_cc//cc/toolchains:toolchain_rules", ], )