1 # Copyright 2017 gRPC authors.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 licenses(["notice"]) # 3-clause BSD
17 package(default_visibility = ["//visibility:public"])
19 load("//bazel:grpc_build_system.bzl", "grpc_proto_library")
20 load("//bazel:cc_grpc_library.bzl", "cc_grpc_library")
21 load("//bazel:python_rules.bzl", "py_proto_library")
25 srcs = ["protos/auth_sample.proto"],
29 name = "hellostreamingworld",
30 srcs = ["protos/hellostreamingworld.proto"],
33 # The following three rules demonstrate the usage of the cc_grpc_library rule in
34 # in a mode compatible with the native proto_library and cc_proto_library rules.
36 name = "helloworld_proto",
37 srcs = ["protos/helloworld.proto"],
41 name = "helloworld_cc_proto",
42 deps = [":helloworld_proto"],
46 name = "helloworld_cc_grpc",
47 srcs = [":helloworld_proto"],
49 deps = [":helloworld_cc_proto"],
54 srcs = ["protos/route_guide.proto"],
58 name = "keyvaluestore",
59 srcs = ["protos/keyvaluestore.proto"],
63 name = "helloworld_proto_descriptor",
64 srcs = ["protos/helloworld.proto"],
68 name = "py_helloworld",
69 deps = [":helloworld_proto_descriptor"],
73 name = "greeter_client",
74 srcs = ["cpp/helloworld/greeter_client.cc"],
75 defines = ["BAZEL_BUILD"],
77 ":helloworld_cc_grpc",
83 name = "greeter_async_client",
84 srcs = ["cpp/helloworld/greeter_async_client.cc"],
85 defines = ["BAZEL_BUILD"],
87 ":helloworld_cc_grpc",
93 name = "greeter_async_client2",
94 srcs = ["cpp/helloworld/greeter_async_client2.cc"],
95 defines = ["BAZEL_BUILD"],
97 ":helloworld_cc_grpc",
103 name = "greeter_server",
104 srcs = ["cpp/helloworld/greeter_server.cc"],
105 defines = ["BAZEL_BUILD"],
107 ":helloworld_cc_grpc",
113 name = "greeter_async_server",
114 srcs = ["cpp/helloworld/greeter_async_server.cc"],
115 defines = ["BAZEL_BUILD"],
117 ":helloworld_cc_grpc",
123 name = "metadata_client",
124 srcs = ["cpp/metadata/greeter_client.cc"],
125 defines = ["BAZEL_BUILD"],
127 ":helloworld_cc_grpc",
133 name = "metadata_server",
134 srcs = ["cpp/metadata/greeter_server.cc"],
135 defines = ["BAZEL_BUILD"],
137 ":helloworld_cc_grpc",
144 srcs = ["cpp/load_balancing/greeter_client.cc"],
145 defines = ["BAZEL_BUILD"],
147 ":helloworld_cc_grpc",
154 srcs = ["cpp/load_balancing/greeter_server.cc"],
155 defines = ["BAZEL_BUILD"],
157 ":helloworld_cc_grpc",
163 name = "compression_client",
164 srcs = ["cpp/compression/greeter_client.cc"],
165 defines = ["BAZEL_BUILD"],
167 ":helloworld_cc_grpc",
173 name = "compression_server",
174 srcs = ["cpp/compression/greeter_server.cc"],
175 defines = ["BAZEL_BUILD"],
177 ":helloworld_cc_grpc",
183 name = "keyvaluestore_client",
185 "cpp/keyvaluestore/caching_interceptor.h",
186 "cpp/keyvaluestore/client.cc",
188 defines = ["BAZEL_BUILD"],
196 name = "keyvaluestore_server",
197 srcs = ["cpp/keyvaluestore/server.cc"],
198 defines = ["BAZEL_BUILD"],
206 name = "route_guide_client",
208 "cpp/route_guide/helper.cc",
209 "cpp/route_guide/helper.h",
210 "cpp/route_guide/route_guide_client.cc",
212 data = ["cpp/route_guide/route_guide_db.json"],
213 defines = ["BAZEL_BUILD"],
221 name = "route_guide_server",
223 "cpp/route_guide/helper.cc",
224 "cpp/route_guide/helper.h",
225 "cpp/route_guide/route_guide_server.cc",
227 data = ["cpp/route_guide/route_guide_db.json"],
228 defines = ["BAZEL_BUILD"],