blob: 107c2f0e41e99b0aaca4d80ad604da096e9f2fe5 [file] [log] [blame]
commit 76c8aea6a8e62f44ee0f16900d8826927c571b3e
Author: Yun Peng <pcloudy@google.com>
Date: Mon Sep 19 18:14:21 2022 +0200
Adopt Bzlmod for grpc v1.47.0
diff --git a/MODULE.bazel b/MODULE.bazel
new file mode 100644
index 0000000000..9483873850
--- /dev/null
+++ b/MODULE.bazel
@@ -0,0 +1,32 @@
+module(
+ name = "grpc",
+ compatibility_level = 1,
+ repo_name = "com_github_grpc_grpc",
+ version = "1.48.1",
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.2.0")
+bazel_dep(name = "boringssl", version = "0.0.0-20211025-d4f1ab9")
+bazel_dep(name = "c-ares", repo_name = "com_github_cares_cares", version = "1.15.0")
+bazel_dep(name = "abseil-cpp", repo_name = "com_google_absl", version = "20220623.1")
+bazel_dep(name = "protobuf", repo_name = "com_google_protobuf", version = "3.19.2")
+bazel_dep(name = "re2", repo_name = "com_googlesource_code_re2", version = "2021-09-01")
+bazel_dep(name = "rules_proto", version = "4.0.0")
+bazel_dep(name = "upb", version = "0.0.0-20220602-e5f2601")
+bazel_dep(name = "zlib", version = "1.2.12")
+bazel_dep(name = "rules_java", version = "5.1.0")
+bazel_dep(name = "rules_go", repo_name = "io_bazel_rules_go", version = "0.34.0")
+
+grpc_repo_deps_ext = use_extension("//bazel:grpc_deps.bzl", "grpc_repo_deps_ext")
+
+use_repo(
+ grpc_repo_deps_ext,
+ "com_envoyproxy_protoc_gen_validate",
+ "com_google_googleapis",
+ "com_github_cncf_udpa",
+ "envoy_api",
+)
+
+grpc_extra_deps_ext = use_extension("//bazel:grpc_extra_deps.bzl", "grpc_extra_deps_ext")
+
+use_repo(grpc_extra_deps_ext, "com_google_googleapis_imports")
diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl
index b7c51bb73b..d5fab4cced 100644
--- a/bazel/grpc_build_system.bzl
+++ b/bazel/grpc_build_system.bzl
@@ -30,8 +30,6 @@ Contains macros used throughout the repo.
load("//bazel:cc_grpc_library.bzl", "cc_grpc_library")
load("//bazel:copts.bzl", "GRPC_DEFAULT_COPTS")
load("@upb//bazel:upb_proto_library.bzl", "upb_proto_library", "upb_proto_reflection_library")
-load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
-load("@build_bazel_rules_apple//apple/testing/default_runner:ios_test_runner.bzl", "ios_test_runner")
# The set of pollers to test against if a test exercises polling
POLLERS = ["epoll1", "poll"]
@@ -63,14 +61,14 @@ def _get_external_deps(external_deps):
elif dep == "cares":
ret += select({
"//:grpc_no_ares": [],
- "//conditions:default": ["//external:cares"],
+ "//conditions:default": ["//third_party:cares"],
})
elif dep == "cronet_c_for_grpc":
ret.append("//third_party/objective_c/Cronet:cronet_c_for_grpc")
elif dep.startswith("absl/"):
ret.append("@com_google_absl//" + dep)
else:
- ret.append("//external:" + dep)
+ ret.append("//third_party:" + dep)
return ret
def _update_visibility(visibility):
@@ -237,10 +235,6 @@ def ios_cc_test(
test_lib_ios = name + "_test_lib_ios"
ios_tags = tags + ["manual", "ios_cc_test"]
test_runner = "ios_x86_64_sim_runner_" + name
- ios_test_runner(
- name = test_runner,
- device_type = "iPhone X",
- )
if not any([t for t in tags if t.startswith("no_test_ios")]):
native.objc_library(
name = test_lib_ios,
@@ -253,15 +247,6 @@ def ios_cc_test(
testonly = 1,
)
ios_test_deps = [":" + test_lib_ios]
- ios_unit_test(
- name = name + "_on_ios",
- size = kwargs.get("size"),
- data = kwargs.get("data"),
- tags = ios_tags,
- minimum_os_version = "9.0",
- runner = test_runner,
- deps = ios_test_deps,
- )
def expand_tests_for_each_poller_and_engine(name, srcs, deps, tags, args, exclude_pollers, uses_event_engine):
"""Common logic used to parameterize tests for every poller and EventEngine.
diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl
index bae066d739..534690b81c 100644
--- a/bazel/grpc_deps.bzl
+++ b/bazel/grpc_deps.bzl
@@ -14,10 +14,10 @@
"""Load dependencies needed to compile and test the grpc library as a 3rd-party consumer."""
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-load("@com_github_grpc_grpc//bazel:grpc_python_deps.bzl", "grpc_python_deps")
+load("//bazel:grpc_python_deps.bzl", "grpc_python_deps")
# buildifier: disable=unnamed-macro
-def grpc_deps():
+def grpc_bind_deps():
"""Loads dependencies need to compile and test the grpc library."""
native.bind(
@@ -195,6 +195,7 @@ def grpc_deps():
actual = "@com_github_libuv_libuv//:libuv_test",
)
+def grpc_repo_deps():
if "boringssl" not in native.existing_rules():
http_archive(
name = "boringssl",
@@ -220,19 +221,6 @@ def grpc_deps():
],
)
- if "com_google_protobuf" not in native.existing_rules():
- http_archive(
- name = "com_google_protobuf",
- sha256 = "bab1685f92cc4ea5b6420026eef6c7973ae96fc21f4f1a3ee626dc6ca6d77c12",
- strip_prefix = "protobuf-22d0e265de7d2b3d2e9a00d071313502e7d4cccf",
- urls = [
- "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/22d0e265de7d2b3d2e9a00d071313502e7d4cccf.tar.gz",
- "https://github.com/protocolbuffers/protobuf/archive/22d0e265de7d2b3d2e9a00d071313502e7d4cccf.tar.gz",
- ],
- patches = ["@com_github_grpc_grpc//third_party:protobuf.patch"],
- patch_args = ["-p1"],
- )
-
if "com_google_googletest" not in native.existing_rules():
http_archive(
name = "com_google_googletest",
@@ -368,16 +356,6 @@ def grpc_deps():
],
)
- if "io_bazel_rules_go" not in native.existing_rules():
- http_archive(
- name = "io_bazel_rules_go",
- sha256 = "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b",
- urls = [
- "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz",
- "https://github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz",
- ],
- )
-
if "build_bazel_rules_apple" not in native.existing_rules():
http_archive(
name = "build_bazel_rules_apple",
@@ -440,6 +418,8 @@ def grpc_deps():
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz",
"https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz",
],
+ patches = ["//third_party:opencensus-proto.patch"],
+ patch_args = ["-p2"],
)
if "com_envoyproxy_protoc_gen_validate" not in native.existing_rules():
@@ -465,8 +445,15 @@ def grpc_deps():
],
)
+
+grpc_repo_deps_ext = module_extension(implementation = lambda ctx: grpc_repo_deps())
+
+def grpc_deps():
+ grpc_bind_deps()
+ grpc_repo_deps()
grpc_python_deps()
+
# TODO: move some dependencies from "grpc_deps" here?
# buildifier: disable=unnamed-macro
def grpc_test_only_deps():
diff --git a/bazel/grpc_extra_deps.bzl b/bazel/grpc_extra_deps.bzl
index 4d8afa3131..b4ab0d5f5b 100644
--- a/bazel/grpc_extra_deps.bzl
+++ b/bazel/grpc_extra_deps.bzl
@@ -13,9 +13,9 @@
# limitations under the License.
"""Loads the dependencies necessary for the external repositories defined in grpc_deps.bzl."""
-load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
-load("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies")
-load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies")
+# load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
+# load("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies")
+# load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies")
load("@com_envoyproxy_protoc_gen_validate//:dependencies.bzl", "go_third_party")
load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
@@ -54,16 +54,19 @@ def grpc_extra_deps(ignore_version_differences = False):
go_rules_dependencies()
go_register_toolchains(version = "1.18")
- gazelle_dependencies()
+ # gazelle_dependencies()
# Pull-in the go 3rd party dependencies for protoc_gen_validate, which is
# needed for building C++ xDS protos
go_third_party()
- apple_rules_dependencies(ignore_version_differences = ignore_version_differences)
+ # apple_rules_dependencies(ignore_version_differences = ignore_version_differences)
- apple_support_dependencies()
+ # apple_support_dependencies()
+ googleapis_deps()
+
+def googleapis_deps():
# Initialize Google APIs with only C++ and Python targets
switched_rules_by_language(
name = "com_google_googleapis_imports",
@@ -71,3 +74,5 @@ def grpc_extra_deps(ignore_version_differences = False):
grpc = True,
python = True,
)
+
+grpc_extra_deps_ext = module_extension(implementation = lambda ctx: googleapis_deps())
diff --git a/third_party/BUILD b/third_party/BUILD
index 72a4730d89..90f5a56064 100644
--- a/third_party/BUILD
+++ b/third_party/BUILD
@@ -15,3 +15,175 @@ exports_files([
"rules_python.patch",
"protoc-gen-validate.patch",
])
+
+package(default_visibility = ["//:__subpackages__"])
+
+alias(
+ name = "opencensus-trace-span_context",
+ actual = "@io_opencensus_cpp//opencensus/trace:span_context",
+)
+
+alias(
+ name = "upb_lib",
+ actual = "@upb//:upb",
+)
+
+alias(
+ name = "upb_reflection",
+ actual = "@upb//:reflection",
+)
+
+alias(
+ name = "upb_lib_descriptor",
+ actual = "@upb//:descriptor_upb_proto",
+)
+
+alias(
+ name = "upb_lib_descriptor_reflection",
+ actual = "@upb//:descriptor_upb_proto_reflection",
+)
+
+alias(
+ name = "upb_textformat_lib",
+ actual = "@upb//:textformat",
+)
+
+alias(
+ name = "upb_json_lib",
+ actual = "@upb//:json",
+)
+
+alias(
+ name = "upb_generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me",
+ actual = "@upb//:generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me",
+)
+
+alias(
+ name = "absl",
+ actual = "@com_google_absl//absl",
+)
+
+alias(
+ name = "absl-base",
+ actual = "@com_google_absl//absl/base",
+)
+
+alias(
+ name = "absl-time",
+ actual = "@com_google_absl//absl/time:time",
+)
+
+alias(
+ name = "libssl",
+ actual = "@boringssl//:ssl",
+)
+
+alias(
+ name = "libcrypto",
+ actual = "@boringssl//:crypto",
+)
+
+alias(
+ name = "madler_zlib",
+ actual = "@zlib//:zlib",
+)
+
+alias(
+ name = "protobuf",
+ actual = "@com_google_protobuf//:protobuf",
+)
+
+alias(
+ name = "protobuf_clib",
+ actual = "@com_google_protobuf//:protoc_lib",
+)
+
+alias(
+ name = "protobuf_headers",
+ actual = "@com_google_protobuf//:protobuf_headers",
+)
+
+alias(
+ name = "protocol_compiler",
+ actual = "@com_google_protobuf//:protoc",
+)
+
+alias(
+ name = "cares",
+ actual = "@com_github_cares_cares//:ares",
+)
+
+alias(
+ name = "gtest",
+ actual = "@com_google_googletest//:gtest",
+)
+
+alias(
+ name = "benchmark",
+ actual = "@com_github_google_benchmark//:benchmark",
+)
+
+alias(
+ name = "re2",
+ actual = "@com_googlesource_code_re2//:re2",
+)
+
+alias(
+ name = "grpc_cpp_plugin",
+ actual = "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin",
+)
+
+alias(
+ name = "grpc++_codegen_proto",
+ actual = "@com_github_grpc_grpc//:grpc++_codegen_proto",
+)
+
+alias(
+ name = "opencensus-context",
+ actual = "@io_opencensus_cpp//opencensus/context:context",
+)
+
+alias(
+ name = "opencensus-trace",
+ actual = "@io_opencensus_cpp//opencensus/trace:trace",
+)
+
+alias(
+ name = "opencensus-trace-context_util",
+ actual = "@io_opencensus_cpp//opencensus/trace:context_util",
+)
+
+alias(
+ name = "opencensus-trace-propagation",
+ actual = "@io_opencensus_cpp//opencensus/trace:grpc_trace_bin",
+)
+
+alias(
+ name = "opencensus-stats",
+ actual = "@io_opencensus_cpp//opencensus/stats:stats",
+)
+
+alias(
+ name = "opencensus-stats-test",
+ actual = "@io_opencensus_cpp//opencensus/stats:test_utils",
+)
+
+alias(
+ name = "opencensus-with-tag-map",
+ actual = "@io_opencensus_cpp//opencensus/tags:with_tag_map",
+)
+
+alias(
+ name = "opencensus-tags",
+ actual = "@io_opencensus_cpp//opencensus/tags:tags",
+)
+
+alias(
+ name = "opencensus-tags-context_util",
+ actual = "@io_opencensus_cpp//opencensus/tags:context_util",
+)
+
+alias(
+ name = "libuv",
+ actual = "@libuv//:libuv",
+)
diff --git a/third_party/opencensus-proto.patch b/third_party/opencensus-proto.patch
new file mode 100644
index 0000000000..4ebf1c1ac2
--- /dev/null
+++ b/third_party/opencensus-proto.patch
@@ -0,0 +1,14 @@
+diff --git a/src/opencensus/proto/trace/v1/BUILD.bazel b/src/opencensus/proto/trace/v1/BUILD.bazel
+index 0beb6d8..f7f61e6 100644
+--- a/src/opencensus/proto/trace/v1/BUILD.bazel
++++ b/src/opencensus/proto/trace/v1/BUILD.bazel
+@@ -77,7 +77,7 @@ py_proto_library(
+ srcs = ["trace.proto"],
+ deps = [
+ "//opencensus/proto/resource/v1:resource_proto_py",
+- "@com_google_protobuf//:protobuf_python",
++ # "@com_google_protobuf//:protobuf_python",
+ ],
+ )
+
+
diff --git a/third_party/protoc-gen-validate.patch b/third_party/protoc-gen-validate.patch
index bea7b87cec..f6bfb890b8 100644
--- a/third_party/protoc-gen-validate.patch
+++ b/third_party/protoc-gen-validate.patch
@@ -1,14 +1,13 @@
-index 5b2443d..c26a9dd 100644
---- a/dependencies.bzl
-+++ b/dependencies.bzl
-@@ -104,8 +104,8 @@ def go_third_party():
- go_repository(
- name = "org_golang_google_protobuf",
- importpath = "google.golang.org/protobuf",
-- sum = "h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=",
-- version = "v1.27.1",
-+ sum = "h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=",
-+ version = "v1.28.0",
- )
- go_repository(
- name = "org_golang_x_crypto",
+diff --git a/validate/BUILD b/validate/BUILD
+index 5040d64..03e4e52 100644
+--- a/validate/BUILD
++++ b/validate/BUILD
+@@ -28,7 +28,7 @@ cc_proto_library(
+ py_proto_library(
+ name = "validate_py",
+ srcs = ["validate.proto"],
+- deps = ["@com_google_protobuf//:protobuf_python"],
++ # deps = ["@com_google_protobuf//:protobuf_python"],
+ )
+
+ go_proto_library(