Merge pull request #9983 from dgquintas/1.1.x_to_master
Upmerge of 1.1.x to master.
diff --git a/bazel/cc_grpc_library.bzl b/bazel/cc_grpc_library.bzl
index 9020eac..b9d7eb5 100644
--- a/bazel/cc_grpc_library.bzl
+++ b/bazel/cc_grpc_library.bzl
@@ -2,7 +2,7 @@
load("//:bazel/generate_cc.bzl", "generate_cc")
-def cc_grpc_library(name, srcs, deps, proto_only, **kwargs):
+def cc_grpc_library(name, srcs, deps, proto_only, use_external = False, **kwargs):
"""Generates C++ grpc classes from a .proto file.
Assumes the generated classes will be used in cc_api_version = 2.
@@ -12,6 +12,8 @@
srcs: a single proto_library, which wraps the .proto files with services.
deps: a list of C++ proto_library (or cc_proto_library) which provides
the compiled code of any message that the services depend on.
+ use_external: When True the grpc deps are prefixed with //external. This
+ allows grpc to be used as a dependency in other bazel projects.
**kwargs: rest of arguments, e.g., compatible_with and visibility.
"""
if len(srcs) > 1:
@@ -37,18 +39,31 @@
)
if not proto_only:
+ if use_external:
+ # when this file is used by non-grpc projects
+ plugin = "//external:grpc_cpp_plugin"
+ else:
+ plugin = "//:grpc_cpp_plugin"
+
generate_cc(
name = codegen_grpc_target,
srcs = [proto_target],
- plugin = "//:grpc_cpp_plugin",
+ plugin = plugin,
**kwargs
)
+ if use_external:
+ # when this file is used by non-grpc projects
+ grpc_deps = ["//external:grpc++", "//external:grpc++_codegen_proto",
+ "//external:protobuf"]
+ else:
+ grpc_deps = ["//:grpc++", "//:grpc++_codegen_proto", "//external:protobuf"]
+
native.cc_library(
name = name,
srcs = [":" + codegen_grpc_target, ":" + codegen_target],
hdrs = [":" + codegen_grpc_target, ":" + codegen_target],
- deps = deps + ["//:grpc++", "//:grpc++_codegen_proto", "//external:protobuf"],
+ deps = deps + grpc_deps,
**kwargs
)
else:
diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl
index daf8b78..855d2d7 100644
--- a/bazel/grpc_build_system.bzl
+++ b/bazel/grpc_build_system.bzl
@@ -58,11 +58,12 @@
load("//:bazel/cc_grpc_library.bzl", "cc_grpc_library")
-def grpc_proto_library(name, srcs = [], deps = [], well_known_deps = [], has_services = True):
+def grpc_proto_library(name, srcs = [], deps = [], well_known_deps = [], has_services = True, use_external = False):
cc_grpc_library(
name = name,
srcs = srcs,
deps = deps,
proto_only = not has_services,
+ use_external = use_external,
)
diff --git a/doc/PROTOCOL-WEB.md b/doc/PROTOCOL-WEB.md
index 0b54e0f..5f01af3 100644
--- a/doc/PROTOCOL-WEB.md
+++ b/doc/PROTOCOL-WEB.md
@@ -94,8 +94,6 @@
to security policies with XHR
* Accept: application/grpc-web-text
2. The default text encoding is base64
- * Text encoding may be specified with Content-Type or Accept headers as
- * application/grpc-web-text-base64
* Note that “Content-Transfer-Encoding: base64” should not be used.
Due to in-stream base64 padding when delimiting messages, the entire
response body is not necessarily a valid base64-encoded entity
diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc
index e481aaf..2908b63 100644
--- a/src/compiler/cpp_generator.cc
+++ b/src/compiler/cpp_generator.cc
@@ -102,7 +102,7 @@
vars["filename_base"] = file->filename_without_ext();
vars["message_header_ext"] = file->message_header_ext();
- printer->Print(vars, "// Generated by the gRPC protobuf plugin.\n");
+ printer->Print(vars, "// Generated by the gRPC C++ plugin.\n");
printer->Print(vars,
"// If you make any local change, they will be lost.\n");
printer->Print(vars, "// source: $filename$\n");
@@ -1010,7 +1010,7 @@
vars["message_header_ext"] = file->message_header_ext();
vars["service_header_ext"] = file->service_header_ext();
- printer->Print(vars, "// Generated by the gRPC protobuf plugin.\n");
+ printer->Print(vars, "// Generated by the gRPC C++ plugin.\n");
printer->Print(vars,
"// If you make any local change, they will be lost.\n");
printer->Print(vars, "// source: $filename$\n\n");
diff --git a/test/cpp/codegen/compiler_test_golden b/test/cpp/codegen/compiler_test_golden
index 0b82f2a..fd26a17 100644
--- a/test/cpp/codegen/compiler_test_golden
+++ b/test/cpp/codegen/compiler_test_golden
@@ -1,4 +1,4 @@
-// Generated by the gRPC protobuf plugin.
+// Generated by the gRPC C++ plugin.
// If you make any local change, they will be lost.
// source: src/proto/grpc/testing/compiler_test.proto
// Original file comments: