diff --git a/third_party/grpc/BUILD b/third_party/grpc/BUILD index 3bd85ba6b3f910..8ce2dc1e1c19c4 100644 --- a/third_party/grpc/BUILD +++ b/third_party/grpc/BUILD @@ -18,7 +18,7 @@ load("//tools/distributions:distribution_rules.bzl", "distrib_java_import", "dis licenses(["notice"]) # Apache v2 -exports_files(["grpc_1.32.0.patch"]) +exports_files(["grpc_1.32.0.patch", "grpc_1.33.1.patch"]) package(default_visibility = ["//visibility:public"]) @@ -32,14 +32,14 @@ filegroup( distrib_jar_filegroup( name = "bootstrap-grpc-jars", srcs = [ - "grpc-api-1.32.2.jar", - "grpc-auth-1.32.2.jar", - "grpc-context-1.32.2.jar", - "grpc-core-1.32.2.jar", - "grpc-netty-1.32.2.jar", - "grpc-protobuf-1.32.2.jar", - "grpc-protobuf-lite-1.32.2.jar", - "grpc-stub-1.32.2.jar", + "grpc-api-1.33.1.jar", + "grpc-auth-1.33.1.jar", + "grpc-context-1.33.1.jar", + "grpc-core-1.33.1.jar", + "grpc-netty-1.33.1.jar", + "grpc-protobuf-1.33.1.jar", + "grpc-protobuf-lite-1.33.1.jar", + "grpc-stub-1.33.1.jar", ], enable_distributions = ["debian"], ) diff --git a/third_party/grpc/README.bazel.md b/third_party/grpc/README.bazel.md index c7a3ac2f8cb50f..19f0a8a8f658d0 100644 --- a/third_party/grpc/README.bazel.md +++ b/third_party/grpc/README.bazel.md @@ -1,30 +1,30 @@ # How to update the C++ sources of gRPC: 1. Update the gRPC definitions in WORKSPACE file, currently we use - https://github.com/grpc/grpc/archive/v1.32.2.tar.gz + https://github.com/grpc/grpc/archive/v1.33.1.tar.gz 2. Update the gRPC patch file if necessary, it mostly helps avoid unnecessary dependencies. 3. Update third_party/grpc/BUILD to redirect targets to @com_github_grpc_grpc if necessary. # How to update the BUILD/bzl sources of gRPC: 1. `git clone http://github.com/grpc/grpc.git` in a convenient directory -2. `git checkout ` (current is `v1.32.0`, commithash `414bb8322d`) +2. `git checkout ` (current is `v1.33.1`, commithash `054ff69350`) 3. `mkdir -p third_party/grpc/bazel` 4. `cp /bazel/{BUILD,cc_grpc_library.bzl,generate_cc.bzl,protobuf.bzl} third_party/grpc/bazel` 5. In the `third_party/grpc` directory, apply local patches: - `patch -p3 < bazel_1.32.0.patch` + `patch -p3 < bazel_1.33.1.patch` # How to update the Java plugin: -1. Checkout tag `v1.32.2` from https://github.com/grpc/grpc-java +1. Checkout tag `v1.33.1` from https://github.com/grpc/grpc-java 2. `cp -R /compiler/src/java_plugin third_party/grpc/compiler/src` # How to update the Java code: -Download the necessary jars at version `1.32.2` from maven central. +Download the necessary jars at version `1.33.1` from maven central. # Submitting the change needs 3 pull requests 1. Update third_party/grpc to include files from new version -2. Switch WORKSPACE, scripts/bootstrap/compile.sh and any other references to new version +2. Switch distdir_deps.bzl, scripts/bootstrap/compile.sh and any other references to new version 3. Remove older version from third_party/grpc diff --git a/third_party/grpc/bazel_1.32.0.patch b/third_party/grpc/bazel_1.33.1.patch similarity index 100% rename from third_party/grpc/bazel_1.32.0.patch rename to third_party/grpc/bazel_1.33.1.patch diff --git a/third_party/grpc/compiler/src/java_plugin/cpp/java_generator.h b/third_party/grpc/compiler/src/java_plugin/cpp/java_generator.h index 2ecc884efd4506..b499c494433922 100644 --- a/third_party/grpc/compiler/src/java_plugin/cpp/java_generator.h +++ b/third_party/grpc/compiler/src/java_plugin/cpp/java_generator.h @@ -38,13 +38,13 @@ class LogHelper { } }; -// Abort the program after logging the mesage if the given condition is not +// Abort the program after logging the message if the given condition is not // true. Otherwise, do nothing. #define GRPC_CODEGEN_CHECK(x) !(x) && LogHelper(&std::cerr).get_os() \ << "CHECK FAILED: " << __FILE__ << ":" \ << __LINE__ << ": " -// Abort the program after logging the mesage. +// Abort the program after logging the message. #define GRPC_CODEGEN_FAIL GRPC_CODEGEN_CHECK(false) namespace java_grpc_generator { diff --git a/third_party/grpc/grpc-api-1.33.1.jar b/third_party/grpc/grpc-api-1.33.1.jar new file mode 100644 index 00000000000000..11fd14a3bd38f8 Binary files /dev/null and b/third_party/grpc/grpc-api-1.33.1.jar differ diff --git a/third_party/grpc/grpc-auth-1.33.1.jar b/third_party/grpc/grpc-auth-1.33.1.jar new file mode 100644 index 00000000000000..49028a32e61d06 Binary files /dev/null and b/third_party/grpc/grpc-auth-1.33.1.jar differ diff --git a/third_party/grpc/grpc-context-1.33.1.jar b/third_party/grpc/grpc-context-1.33.1.jar new file mode 100644 index 00000000000000..519faef9720797 Binary files /dev/null and b/third_party/grpc/grpc-context-1.33.1.jar differ diff --git a/third_party/grpc/grpc-core-1.33.1.jar b/third_party/grpc/grpc-core-1.33.1.jar new file mode 100644 index 00000000000000..84f80cdf67c973 Binary files /dev/null and b/third_party/grpc/grpc-core-1.33.1.jar differ diff --git a/third_party/grpc/grpc-netty-1.33.1.jar b/third_party/grpc/grpc-netty-1.33.1.jar new file mode 100644 index 00000000000000..d87bd8c09231bf Binary files /dev/null and b/third_party/grpc/grpc-netty-1.33.1.jar differ diff --git a/third_party/grpc/grpc-protobuf-1.33.1.jar b/third_party/grpc/grpc-protobuf-1.33.1.jar new file mode 100644 index 00000000000000..1c7709f47277a1 Binary files /dev/null and b/third_party/grpc/grpc-protobuf-1.33.1.jar differ diff --git a/third_party/grpc/grpc-protobuf-lite-1.33.1.jar b/third_party/grpc/grpc-protobuf-lite-1.33.1.jar new file mode 100644 index 00000000000000..5bd48dfa56b7f6 Binary files /dev/null and b/third_party/grpc/grpc-protobuf-lite-1.33.1.jar differ diff --git a/third_party/grpc/grpc-stub-1.33.1.jar b/third_party/grpc/grpc-stub-1.33.1.jar new file mode 100644 index 00000000000000..c1bce10ecdb647 Binary files /dev/null and b/third_party/grpc/grpc-stub-1.33.1.jar differ diff --git a/third_party/grpc/grpc_1.33.1.patch b/third_party/grpc/grpc_1.33.1.patch new file mode 100644 index 00000000000000..dda6fc177e8a9b --- /dev/null +++ b/third_party/grpc/grpc_1.33.1.patch @@ -0,0 +1,122 @@ +commit bb0d04663c7dc6c0096f8717cb4ec26330a5ae40 +Author: Yun Peng +Date: Wed Jun 3 15:35:31 2020 +0200 + + Patch grpc v1.26.0 for Bazel build + + - Avoid loading dependencies that're not needed for the gRPC C++ + libraries + - Add bazel mirror URL for upb and cares + - Redirect zlib to @//third_party/zlib + - Add darwin_arm64 and darwin_arm64e config settings to allow + building for Apple Silicon + +diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl +index 7bb6b8bdb9..7644107b70 100644 +--- a/bazel/grpc_build_system.bzl ++++ b/bazel/grpc_build_system.bzl +@@ -25,7 +25,7 @@ + + load("//bazel:cc_grpc_library.bzl", "cc_grpc_library") + load("@upb//bazel:upb_proto_library.bzl", "upb_proto_library") +-load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test") ++# load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test") + + # The set of pollers to test against if a test exercises polling + POLLERS = ["epollex", "epoll1", "poll"] +@@ -181,13 +181,13 @@ def ios_cc_test( + testonly = 1, + ) + ios_test_deps = [ios_test_adapter, ":" + test_lib_ios] +- ios_unit_test( +- name = name + "_on_ios", +- size = kwargs.get("size"), +- tags = ios_tags, +- minimum_os_version = "9.0", +- deps = ios_test_deps, +- ) ++ # ios_unit_test( ++ # name = name + "_on_ios", ++ # size = kwargs.get("size"), ++ # tags = ios_tags, ++ # minimum_os_version = "9.0", ++ # deps = ios_test_deps, ++ # ) + + def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, language = "C++", size = "medium", timeout = None, tags = [], exec_compatible_with = [], exec_properties = {}, shard_count = None, flaky = None): + copts = if_mac(["-DGRPC_CFSTREAM"]) +diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl +index 09fcad95a2..9b737e5deb 100644 +--- a/bazel/grpc_deps.bzl ++++ b/bazel/grpc_deps.bzl +@@ -33,7 +33,7 @@ def grpc_deps(): + + native.bind( + name = "madler_zlib", +- actual = "@zlib//:zlib", ++ actual = "@//third_party/zlib", + ) + + native.bind( +diff --git a/bazel/grpc_extra_deps.bzl b/bazel/grpc_extra_deps.bzl +index 4c1dfad2e8..f63c54ddef 100644 +--- a/bazel/grpc_extra_deps.bzl ++++ b/bazel/grpc_extra_deps.bzl +@@ -1,11 +1,6 @@ + """Loads the dependencies necessary for the external repositories defined in grpc_deps.bzl.""" + +-load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") + load("@upb//bazel:workspace_deps.bzl", "upb_deps") +-load("@envoy_api//bazel:repositories.bzl", "api_dependencies") +-load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") +-load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies") +-load("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies") + + def grpc_extra_deps(): + """Loads the extra dependencies. +@@ -26,15 +21,5 @@ def grpc_extra_deps(): + grpc_extra_deps() + ``` + """ +- protobuf_deps() +- + upb_deps() + +- api_dependencies() +- +- go_rules_dependencies() +- go_register_toolchains() +- +- apple_rules_dependencies() +- +- apple_support_dependencies() +diff --git a/third_party/cares/cares.BUILD b/third_party/cares/cares.BUILD +index c047f0c515..7c24fbc617 100644 +--- a/third_party/cares/cares.BUILD ++++ b/third_party/cares/cares.BUILD +@@ -10,6 +10,16 @@ config_setting( + values = {"cpu": "darwin_x86_64"}, + ) + ++config_setting( ++ name = "darwin_arm64", ++ values = {"cpu": "darwin_arm64"}, ++) ++ ++config_setting( ++ name = "darwin_arm64e", ++ values = {"cpu": "darwin_arm64e"}, ++) ++ + config_setting( + name = "windows", + values = {"cpu": "x64_windows"}, +@@ -99,6 +109,8 @@ copy_file( + ":watchos_arm64_32": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":darwin": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":darwin_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", ++ ":darwin_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", ++ ":darwin_arm64e": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h", + ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h", + "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h",