Remove references to rules_proto
They are not needed after the rules are move into protobuf repo.
Except for the reference to toolchain type, which is currently in rules_proto and can be moved after the implementation is moved into protobuf repo.
PiperOrigin-RevId: 622176865
diff --git a/BUILD.bazel b/BUILD.bazel
index b83d49e..74ae23a 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1,9 +1,12 @@
# Bazel (https://bazel.build/) BUILD file for Protobuf.
-load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library")
-load("@rules_java//java:defs.bzl", "java_lite_proto_library", "java_proto_library")
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
+load("//bazel:java_proto_library.bzl", "java_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
+load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
load("//build_defs:cpp_opts.bzl", "COPTS", "LINK_OPTS")
load(":protobuf.bzl", "internal_objc_proto_library", "internal_php_proto_library", "internal_py_proto_library")
@@ -21,7 +24,7 @@
#
# java_proto_library(
# name = "any_java_proto",
-# deps = ["@com_google_protobuf//:any_proto"],
+# deps = ["@protobuf//:any_proto"],
# )
################################################################################
diff --git a/MODULE.bazel b/MODULE.bazel
index d972fef..d54486b 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -17,7 +17,9 @@
bazel_dep(name = "rules_java", version = "4.0.0")
bazel_dep(name = "rules_jvm_external", version = "5.1")
bazel_dep(name = "rules_pkg", version = "0.7.0")
-bazel_dep(name = "rules_proto", version = "4.0.0")
bazel_dep(name = "rules_python", version = "0.10.2")
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")
\ No newline at end of file
diff --git a/WORKSPACE b/WORKSPACE
index 3219b75..63785c3 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -5,6 +5,10 @@
# buildifier: disable=duplicated-name
local_repository(name = "com_google_protobuf", path = ".")
+# Second self-reference that makes it possible to load proto rules from @protobuf.
+# buildifier: disable=duplicated-name
+local_repository(name = "protobuf", path = ".")
+
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
local_repository(
diff --git a/bazel/BUILD b/bazel/BUILD
index e94c62d..89eb049 100644
--- a/bazel/BUILD
+++ b/bazel/BUILD
@@ -22,8 +22,5 @@
"upb_proto_reflection_library.bzl",
],
visibility = ["//visibility:public"],
- deps = [
- "//bazel/private:upb_proto_library_internal_bzl",
- "@rules_proto//proto:defs",
- ],
+ deps = ["//bazel/private:upb_proto_library_internal_bzl"],
)
diff --git a/bazel/common/BUILD.bazel b/bazel/common/BUILD.bazel
index e69de29..fc024fe 100644
--- a/bazel/common/BUILD.bazel
+++ b/bazel/common/BUILD.bazel
@@ -0,0 +1,12 @@
+load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
+
+bzl_library(
+ name = "proto_common_bzl",
+ srcs = [
+ "proto_common.bzl",
+ ],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//bazel/private:native_bzl",
+ ],
+)
diff --git a/bazel/private/BUILD b/bazel/private/BUILD.bazel
similarity index 80%
rename from bazel/private/BUILD
rename to bazel/private/BUILD.bazel
index c501c45..d1f8a7c 100644
--- a/bazel/private/BUILD
+++ b/bazel/private/BUILD.bazel
@@ -7,10 +7,6 @@
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
-# begin:google_only
-# package(default_applicable_licenses = ["//upb:license"])
-# end:google_only
-
licenses(["notice"])
bzl_library(
@@ -23,8 +19,16 @@
],
visibility = ["//bazel:__pkg__"],
deps = [
+ "//bazel/common:proto_common_bzl",
"@bazel_skylib//lib:paths",
"@bazel_tools//tools/cpp:toolchain_utils.bzl",
- "@rules_proto//proto:defs",
],
)
+
+bzl_library(
+ name = "native_bzl",
+ srcs = [
+ "native.bzl",
+ ],
+ visibility = ["//bazel:__subpackages__"],
+)
diff --git a/bazel/private/proto_toolchain_rule.bzl b/bazel/private/proto_toolchain_rule.bzl
index 27527a6..9487a06 100644
--- a/bazel/private/proto_toolchain_rule.bzl
+++ b/bazel/private/proto_toolchain_rule.bzl
@@ -6,7 +6,7 @@
def _impl(ctx):
kwargs = {}
if getattr(proto_common, "INCOMPATIBLE_PASS_TOOLCHAIN_TYPE", False):
- kwargs["toolchain_type"] = "//third_party/bazel_rules/rules_proto/proto:toolchain_type"
+ kwargs["toolchain_type"] = "@rules_proto//proto:toolchain_type"
return [
DefaultInfo(
diff --git a/bazel/private/upb_proto_library_internal/aspect.bzl b/bazel/private/upb_proto_library_internal/aspect.bzl
index 3af579a..6f7b317 100644
--- a/bazel/private/upb_proto_library_internal/aspect.bzl
+++ b/bazel/private/upb_proto_library_internal/aspect.bzl
@@ -1,6 +1,6 @@
"""Implementation of the aspect that powers the upb_*_proto_library() rules."""
-load("@rules_proto//proto:defs.bzl", "proto_common")
+load("//bazel/common:proto_common.bzl", "proto_common")
load(":upb_proto_library_internal/cc_library_func.bzl", "cc_library_func")
load(":upb_proto_library_internal/copts.bzl", "UpbProtoLibraryCoptsInfo")
diff --git a/bazel/toolchains/proto_toolchain.bzl b/bazel/toolchains/proto_toolchain.bzl
index 2b267fe..171e08c 100644
--- a/bazel/toolchains/proto_toolchain.bzl
+++ b/bazel/toolchains/proto_toolchain.bzl
@@ -19,7 +19,7 @@
native.toolchain(
name = name + "_toolchain",
- toolchain_type = "//third_party/bazel_rules/rules_proto/proto:toolchain_type",
+ toolchain_type = "@rules_proto//proto:toolchain_type",
exec_compatible_with = exec_compatible_with,
target_compatible_with = [],
toolchain = name,
diff --git a/benchmarks/BUILD b/benchmarks/BUILD
index a526b0f..59d3fbf 100644
--- a/benchmarks/BUILD
+++ b/benchmarks/BUILD
@@ -5,11 +5,9 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd
-# begin:google_only
-# load("@rules_cc//cc:defs.bzl", "cc_proto_library")
-# end:google_only
-
load("@rules_python//python:defs.bzl", "py_binary")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
load(
"//bazel:upb_proto_library.bzl",
"upb_c_proto_library",
@@ -19,7 +17,6 @@
":build_defs.bzl",
"cc_optimizefor_proto_library",
"expand_suffixes",
- "proto_library",
"tmpl_cc_binary",
)
diff --git a/benchmarks/BUILD.googleapis b/benchmarks/BUILD.googleapis
index 0587de7..f399a81 100644
--- a/benchmarks/BUILD.googleapis
+++ b/benchmarks/BUILD.googleapis
@@ -29,7 +29,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
load(
- "@rules_proto//proto:defs.bzl",
+ "@protobuf//bazel:proto_library.bzl",
"proto_library",
)
diff --git a/benchmarks/build_defs.bzl b/benchmarks/build_defs.bzl
index a689431..f2e1431 100644
--- a/benchmarks/build_defs.bzl
+++ b/benchmarks/build_defs.bzl
@@ -5,24 +5,17 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
+
# begin:google_only
-# load("@rules_cc//cc:defs.bzl", _cc_proto_library = "cc_proto_library")
-#
# _is_google3 = True
# end:google_only
# begin:github_only
-_cc_proto_library = native.cc_proto_library
_is_google3 = False
# end:github_only
-def proto_library(**kwargs):
- if _is_google3:
- kwargs["cc_api_version"] = 2
- native.proto_library(
- **kwargs
- )
-
def tmpl_cc_binary(name, gen, args, replacements = [], **kwargs):
srcs = [name + ".cc"]
native.genrule(
@@ -57,7 +50,7 @@
srcs = outs,
)
- _cc_proto_library(
+ cc_proto_library(
name = name,
deps = [":" + name + "_proto"],
)
diff --git a/build_defs/BUILD.bazel b/build_defs/BUILD.bazel
index f1394e3..a0e0438 100644
--- a/build_defs/BUILD.bazel
+++ b/build_defs/BUILD.bazel
@@ -1,8 +1,8 @@
# Internal Starlark definitions for Protobuf.
load("@bazel_skylib//lib:selects.bzl", "selects")
-load("@rules_cc//cc:defs.bzl", starlark_cc_proto_library = "cc_proto_library")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
+load("//bazel:cc_proto_library.bzl", starlark_cc_proto_library = "cc_proto_library")
load(":cc_proto_blacklist_test.bzl", "cc_proto_blacklist_test")
load(":compiler_config_setting.bzl", "create_compiler_config_setting")
diff --git a/conformance/BUILD.bazel b/conformance/BUILD.bazel
index 72a127a..e3c353d 100644
--- a/conformance/BUILD.bazel
+++ b/conformance/BUILD.bazel
@@ -1,6 +1,6 @@
# Conformance testing for Protobuf.
-load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library", "objc_library")
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "objc_library")
load(
"@rules_pkg//pkg:mappings.bzl",
"pkg_filegroup",
@@ -9,6 +9,7 @@
)
load("@rules_ruby//ruby:defs.bzl", "ruby_binary")
load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_objc_proto_library", "internal_php_proto_library", "internal_py_proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
load("//build_defs:internal_shell.bzl", "inline_sh_binary")
load("//ruby:defs.bzl", "internal_ruby_proto_library")
diff --git a/docs/cpp_build_systems.md b/docs/cpp_build_systems.md
index b7f827b..ff09575 100644
--- a/docs/cpp_build_systems.md
+++ b/docs/cpp_build_systems.md
@@ -177,7 +177,7 @@
```
$ cat gen_file_lists_example/BUILD.bazel
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("//pkg:build_systems.bzl", "gen_cmake_file_lists")
filegroup(
diff --git a/examples/BUILD.bazel b/examples/BUILD.bazel
index 72186f6..322205a 100644
--- a/examples/BUILD.bazel
+++ b/examples/BUILD.bazel
@@ -5,10 +5,12 @@
# example.
load("@bazel_skylib//rules:build_test.bzl", "build_test")
-load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_proto_library")
-load("@rules_java//java:defs.bzl", "java_binary", "java_lite_proto_library", "java_proto_library")
+load("@protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("@protobuf//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
+load("@protobuf//bazel:java_proto_library.bzl", "java_proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
+load("@rules_cc//cc:defs.bzl", "cc_binary")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_library")
# For each .proto file, a proto_library target should be defined. This target
# is not bound to any particular language. Instead, it defines the dependency
@@ -19,7 +21,7 @@
proto_library(
name = "addressbook_proto",
srcs = ["addressbook.proto"],
- deps = ["@com_google_protobuf//:timestamp_proto"],
+ deps = ["@protobuf//:timestamp_proto"],
)
# The cc_proto_library rule generates C++ code for a proto_library rule. It
@@ -39,8 +41,8 @@
srcs = ["add_person.cc"],
deps = [
":addressbook_cc_proto",
- "@com_google_protobuf//:protobuf",
- "@com_google_protobuf//src/google/protobuf/util:time_util",
+ "@protobuf",
+ "@protobuf//src/google/protobuf/util:time_util",
],
)
@@ -49,8 +51,8 @@
srcs = ["list_people.cc"],
deps = [
":addressbook_cc_proto",
- "@com_google_protobuf//:protobuf",
- "@com_google_protobuf//src/google/protobuf/util:time_util",
+ "@protobuf",
+ "@protobuf//src/google/protobuf/util:time_util",
],
)
diff --git a/examples/MODULE.bazel b/examples/MODULE.bazel
index 7ce5eec..5447915 100644
--- a/examples/MODULE.bazel
+++ b/examples/MODULE.bazel
@@ -1,5 +1,5 @@
"""Bazel module dependencies"""
-bazel_dep(name = "protobuf", version = "0.0.0", dev_dependency = True, repo_name = "com_google_protobuf")
+bazel_dep(name = "protobuf", version = "0.0.0", dev_dependency = True)
local_path_override(
module_name = "protobuf",
@@ -10,4 +10,3 @@
bazel_dep(name = "rules_cc", version = "0.0.1")
bazel_dep(name = "rules_java", version = "7.3.0")
bazel_dep(name = "rules_pkg", version = "0.7.0")
-bazel_dep(name = "rules_proto", version = "4.0.0")
diff --git a/examples/WORKSPACE b/examples/WORKSPACE
index 901b344..44b43cf 100644
--- a/examples/WORKSPACE
+++ b/examples/WORKSPACE
@@ -2,14 +2,14 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-# This com_google_protobuf repository is required for proto_library rule.
+# This protobuf repository is required for proto_library rule.
# It provides the protocol compiler binary (i.e., protoc).
#
# We declare it as local_repository so we can test changes
# before they get merged. You'll want to use the following instead:
#
# http_archive(
-# name = "com_google_protobuf",
+# name = "protobuf",
# sha256 = "c29d8b4b79389463c546f98b15aa4391d4ed7ec459340c47bffe15db63eb9126",
# strip_prefix = "protobuf-3.21.3",
# urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.21.3.tar.gz"],
@@ -20,6 +20,11 @@
path = "..",
)
+local_repository(
+ name = "protobuf",
+ path = "..",
+)
+
# Similar to com_google_protobuf but for Java lite. If you are building
# for Android, the lite version should be preferred because it has a much
# smaller code size.
@@ -37,6 +42,6 @@
url = "https://github.com/bazelbuild/rules_python/releases/download/0.25.0/rules_python-0.25.0.tar.gz",
)
-load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
+load("@protobuf//:protobuf_deps.bzl", "protobuf_deps")
protobuf_deps()
diff --git a/java/core/BUILD.bazel b/java/core/BUILD.bazel
index ba676c9..248fd7c 100644
--- a/java/core/BUILD.bazel
+++ b/java/core/BUILD.bazel
@@ -1,9 +1,11 @@
load("@bazel_skylib//rules:build_test.bzl", "build_test")
-load("@rules_java//java:defs.bzl", "java_lite_proto_library", "java_proto_library")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
load("//:protobuf.bzl", "internal_gen_well_known_protos_java")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
+load("//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
+load("//bazel:java_proto_library.bzl", "java_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
+load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library", "protobuf_versioned_java_library")
load("//conformance:defs.bzl", "conformance_test")
load("//java/internal:testing.bzl", "junit_tests")
diff --git a/java/kotlin-lite/BUILD.bazel b/java/kotlin-lite/BUILD.bazel
index 873d070..5d77dbc 100644
--- a/java/kotlin-lite/BUILD.bazel
+++ b/java/kotlin-lite/BUILD.bazel
@@ -1,9 +1,9 @@
load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
-load("@rules_java//java:defs.bzl", "java_lite_proto_library")
load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("//:protobuf.bzl", "internal_gen_kt_protos")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
+load("//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
java_lite_proto_library(
name = "example_extensible_message_java_proto_lite",
diff --git a/java/kotlin/BUILD.bazel b/java/kotlin/BUILD.bazel
index babdc46..1e5a8ab 100644
--- a/java/kotlin/BUILD.bazel
+++ b/java/kotlin/BUILD.bazel
@@ -1,10 +1,10 @@
load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
-load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_library")
load("//:protobuf.bzl", "internal_gen_kt_protos")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
+load("//bazel:java_proto_library.bzl", "java_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
exports_files([
"src/test/kotlin/com/google/protobuf/Proto3Test.kt",
diff --git a/java/lite/BUILD.bazel b/java/lite/BUILD.bazel
index dba34cd..9c6b2ec 100644
--- a/java/lite/BUILD.bazel
+++ b/java/lite/BUILD.bazel
@@ -1,6 +1,6 @@
load("@bazel_skylib//rules:build_test.bzl", "build_test")
load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain")
+load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
load("//conformance:defs.bzl", "conformance_test")
load("//java/internal:testing.bzl", "junit_tests")
diff --git a/java/util/BUILD.bazel b/java/util/BUILD.bazel
index 24d2c7f..6b2da2b 100644
--- a/java/util/BUILD.bazel
+++ b/java/util/BUILD.bazel
@@ -1,7 +1,7 @@
-load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_library")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
+load("//bazel:java_proto_library.bzl", "java_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_versioned_java_library")
load("//java/internal:testing.bzl", "junit_tests")
diff --git a/protobuf.bzl b/protobuf.bzl
index a41c8f8..7db5146 100644
--- a/protobuf.bzl
+++ b/protobuf.bzl
@@ -1,7 +1,7 @@
load("@bazel_skylib//lib:versions.bzl", "versions")
load("@rules_cc//cc:defs.bzl", "objc_library")
-load("@rules_proto//proto:defs.bzl", "ProtoInfo")
load("@rules_python//python:defs.bzl", "py_library")
+load("//bazel/common:proto_info.bzl", "ProtoInfo")
def _GetPath(ctx, path):
if ctx.label.workspace_root:
diff --git a/protobuf_deps.bzl b/protobuf_deps.bzl
index 563c165..558540c 100644
--- a/protobuf_deps.bzl
+++ b/protobuf_deps.bzl
@@ -83,6 +83,7 @@
sha256 = "469b7f3b580b4fcf8112f4d6d0d5a4ce8e1ad5e21fee67d8e8335d5f8b3debab",
)
+ # TODO: remove after toolchain types are moved to protobuf
if not native.existing_rule("rules_proto"):
http_archive(
name = "rules_proto",
diff --git a/protos_generator/tests/BUILD b/protos_generator/tests/BUILD
index 78edee5..fabee7f 100644
--- a/protos_generator/tests/BUILD
+++ b/protos_generator/tests/BUILD
@@ -6,7 +6,7 @@
# https://developers.google.com/open-source/licenses/bsd
load(
- "@rules_cc//cc:defs.bzl",
+ "//bazel:cc_proto_library.bzl",
"cc_proto_library",
)
load(
diff --git a/python/dist/py_proto_library.bzl b/python/dist/py_proto_library.bzl
index 2192230..d05cb6e 100644
--- a/python/dist/py_proto_library.bzl
+++ b/python/dist/py_proto_library.bzl
@@ -16,12 +16,8 @@
"""
load("@bazel_skylib//lib:paths.bzl", "paths")
-
-# begin:github_only
-load("@rules_proto//proto:defs.bzl", "ProtoInfo")
-# end:github_only
-
load("@rules_python//python:py_info.bzl", "PyInfo")
+load("//bazel/common:proto_info.bzl", "ProtoInfo")
# Generic support code #########################################################
diff --git a/rust/BUILD b/rust/BUILD
index 9b49ccd..1f731e3 100644
--- a/rust/BUILD
+++ b/rust/BUILD
@@ -1,8 +1,8 @@
# Protobuf Rust runtime packages.
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
-load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain")
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
+load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
package(
default_visibility = [
diff --git a/rust/test/BUILD b/rust/test/BUILD
index 1e770c7..d0e86bb 100644
--- a/rust/test/BUILD
+++ b/rust/test/BUILD
@@ -1,4 +1,4 @@
-load("@rules_cc//cc:defs.bzl", "cc_proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
load(
"//rust:defs.bzl",
"rust_cc_proto_library",
diff --git a/rust/test/rust_proto_library_unit_test/rust_proto_library_unit_test.bzl b/rust/test/rust_proto_library_unit_test/rust_proto_library_unit_test.bzl
index 418d076..15e72fd 100644
--- a/rust/test/rust_proto_library_unit_test/rust_proto_library_unit_test.bzl
+++ b/rust/test/rust_proto_library_unit_test/rust_proto_library_unit_test.bzl
@@ -1,7 +1,7 @@
"""This module contains unit tests for rust_proto_library and its aspect."""
load("@bazel_skylib//lib:unittest.bzl", "analysistest", "asserts")
-load("@rules_cc//cc:defs.bzl", "cc_proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
load("//rust:aspects.bzl", "RustProtoInfo")
load("//rust:defs.bzl", "rust_cc_proto_library", "rust_upb_proto_library")
load(":defs.bzl", "ActionsInfo", "attach_cc_aspect", "attach_upb_aspect")
diff --git a/src/google/protobuf/BUILD.bazel b/src/google/protobuf/BUILD.bazel
index f6581f0..24b6452 100644
--- a/src/google/protobuf/BUILD.bazel
+++ b/src/google/protobuf/BUILD.bazel
@@ -2,9 +2,10 @@
# Protocol Buffers: C++ Runtime and common proto files
################################################################################
-load("@rules_cc//cc:defs.bzl", "cc_library", "cc_proto_library", "cc_test")
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
load("//build_defs:cpp_opts.bzl", "COPTS", "LINK_OPTS")
load("//upb/cmake:build_defs.bzl", "staleness_test")
diff --git a/src/google/protobuf/bridge/BUILD.bazel b/src/google/protobuf/bridge/BUILD.bazel
index c219b38..56d4b79 100644
--- a/src/google/protobuf/bridge/BUILD.bazel
+++ b/src/google/protobuf/bridge/BUILD.bazel
@@ -1,4 +1,4 @@
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
package(
default_visibility = ["//visibility:public"],
diff --git a/src/google/protobuf/compiler/BUILD.bazel b/src/google/protobuf/compiler/BUILD.bazel
index 60e73a9..8f9ffb3 100644
--- a/src/google/protobuf/compiler/BUILD.bazel
+++ b/src/google/protobuf/compiler/BUILD.bazel
@@ -2,14 +2,15 @@
# Protocol Buffers Compiler
################################################################################
-load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library", "cc_test")
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
load(
"@rules_pkg//pkg:mappings.bzl",
"pkg_attributes",
"pkg_files",
"strip_prefix",
)
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
load("//build_defs:arch_tests.bzl", "aarch64_test", "x86_64_test")
load("//build_defs:cpp_opts.bzl", "COPTS")
load("test_plugin_injection.bzl", "inject_plugin_paths")
diff --git a/src/google/protobuf/compiler/cpp/BUILD.bazel b/src/google/protobuf/compiler/cpp/BUILD.bazel
index 7552a03..a9f4a55 100644
--- a/src/google/protobuf/compiler/cpp/BUILD.bazel
+++ b/src/google/protobuf/compiler/cpp/BUILD.bazel
@@ -2,9 +2,10 @@
# Protocol Buffers Compiler - C++ code generator
################################################################################
-load("@rules_cc//cc:defs.bzl", "cc_library", "cc_proto_library", "cc_test")
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
load("//build_defs:cpp_opts.bzl", "COPTS")
cc_library(
diff --git a/src/google/protobuf/editions/BUILD b/src/google/protobuf/editions/BUILD
index 6a0e15d..ded332f 100644
--- a/src/google/protobuf/editions/BUILD
+++ b/src/google/protobuf/editions/BUILD
@@ -1,7 +1,7 @@
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
-load("@rules_cc//cc:defs.bzl", "cc_proto_library")
load("@rules_python//python:proto.bzl", "py_proto_library")
load("//:protobuf.bzl", "internal_objc_proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
load("//bazel:upb_proto_library.bzl", "upb_c_proto_library", "upb_proto_reflection_library")
load(":defaults.bzl", "compile_edition_defaults", "embed_edition_defaults")
diff --git a/src/google/protobuf/editions/codegen_tests/BUILD b/src/google/protobuf/editions/codegen_tests/BUILD
index 09b94f2..1924d3e 100644
--- a/src/google/protobuf/editions/codegen_tests/BUILD
+++ b/src/google/protobuf/editions/codegen_tests/BUILD
@@ -1,4 +1,4 @@
-load("@rules_cc//cc:defs.bzl", "cc_proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
exports_files(
glob(["*.proto"]) + ["rust_bazel_crate_mapping.txt"],
diff --git a/src/google/protobuf/util/BUILD.bazel b/src/google/protobuf/util/BUILD.bazel
index 3edbc4a..b972875 100644
--- a/src/google/protobuf/util/BUILD.bazel
+++ b/src/google/protobuf/util/BUILD.bazel
@@ -2,9 +2,10 @@
# Protocol Buffers C++ Utilities
################################################################################
-load("@rules_cc//cc:defs.bzl", "cc_library", "cc_proto_library", "cc_test")
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("//bazel:proto_library.bzl", "proto_library")
load("//build_defs:cpp_opts.bzl", "COPTS")
cc_library(