Imported Upstream version 1.36.4
[platform/upstream/grpc.git] / BUILD
1 # gRPC Bazel BUILD file.
2 #
3 # Copyright 2016 gRPC authors.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 licenses(["notice"])
18
19 exports_files([
20     "LICENSE",
21     "etc/roots.pem",
22 ])
23
24 package(
25     default_visibility = ["//visibility:public"],
26     features = [
27         "-layering_check",
28         "-parse_headers",
29     ],
30 )
31
32 load(
33     "//bazel:grpc_build_system.bzl",
34     "grpc_cc_library",
35     "grpc_generate_one_off_targets",
36     "grpc_upb_proto_library",
37     "python_config_settings",
38 )
39
40 config_setting(
41     name = "grpc_no_ares",
42     values = {"define": "grpc_no_ares=true"},
43 )
44
45 config_setting(
46     name = "grpc_no_xds",
47     values = {"define": "grpc_no_xds=true"},
48 )
49
50 config_setting(
51     name = "grpc_allow_exceptions",
52     values = {"define": "GRPC_ALLOW_EXCEPTIONS=1"},
53 )
54
55 config_setting(
56     name = "grpc_disallow_exceptions",
57     values = {"define": "GRPC_ALLOW_EXCEPTIONS=0"},
58 )
59
60 config_setting(
61     name = "remote_execution",
62     values = {"define": "GRPC_PORT_ISOLATED_RUNTIME=1"},
63 )
64
65 config_setting(
66     name = "windows",
67     values = {"cpu": "x64_windows"},
68 )
69
70 config_setting(
71     name = "windows_msvc",
72     values = {"cpu": "x64_windows_msvc"},
73 )
74
75 config_setting(
76     name = "mac_x86_64",
77     values = {"cpu": "darwin"},
78 )
79
80 config_setting(
81     name = "use_strict_warning",
82     values = {"define": "use_strict_warning=true"},
83 )
84
85 python_config_settings()
86
87 # This should be updated along with build_handwritten.yaml
88 g_stands_for = "gummybear"  # @unused
89
90 core_version = "15.0.0"  # @unused
91
92 version = "1.36.4"  # @unused
93
94 GPR_PUBLIC_HDRS = [
95     "include/grpc/support/alloc.h",
96     "include/grpc/support/atm.h",
97     "include/grpc/support/atm_gcc_atomic.h",
98     "include/grpc/support/atm_gcc_sync.h",
99     "include/grpc/support/atm_windows.h",
100     "include/grpc/support/cpu.h",
101     "include/grpc/support/log.h",
102     "include/grpc/support/log_windows.h",
103     "include/grpc/support/port_platform.h",
104     "include/grpc/support/string_util.h",
105     "include/grpc/support/sync.h",
106     "include/grpc/support/sync_abseil.h",
107     "include/grpc/support/sync_custom.h",
108     "include/grpc/support/sync_generic.h",
109     "include/grpc/support/sync_posix.h",
110     "include/grpc/support/sync_windows.h",
111     "include/grpc/support/thd_id.h",
112     "include/grpc/support/time.h",
113 ]
114
115 GRPC_PUBLIC_HDRS = [
116     "include/grpc/byte_buffer.h",
117     "include/grpc/byte_buffer_reader.h",
118     "include/grpc/compression.h",
119     "include/grpc/fork.h",
120     "include/grpc/grpc.h",
121     "include/grpc/grpc_posix.h",
122     "include/grpc/grpc_security_constants.h",
123     "include/grpc/slice.h",
124     "include/grpc/slice_buffer.h",
125     "include/grpc/status.h",
126     "include/grpc/load_reporting.h",
127     "include/grpc/support/workaround_list.h",
128 ]
129
130 GRPC_SECURE_PUBLIC_HDRS = [
131     "include/grpc/grpc_security.h",
132 ]
133
134 # TODO(ctiller): layer grpc atop grpc_unsecure, layer grpc++ atop grpc++_unsecure
135 GRPCXX_SRCS = [
136     "src/cpp/client/channel_cc.cc",
137     "src/cpp/client/client_callback.cc",
138     "src/cpp/client/client_context.cc",
139     "src/cpp/client/client_interceptor.cc",
140     "src/cpp/client/create_channel.cc",
141     "src/cpp/client/create_channel_internal.cc",
142     "src/cpp/client/create_channel_posix.cc",
143     "src/cpp/client/credentials_cc.cc",
144     "src/cpp/common/alarm.cc",
145     "src/cpp/common/channel_arguments.cc",
146     "src/cpp/common/channel_filter.cc",
147     "src/cpp/common/completion_queue_cc.cc",
148     "src/cpp/common/core_codegen.cc",
149     "src/cpp/common/resource_quota_cc.cc",
150     "src/cpp/common/rpc_method.cc",
151     "src/cpp/common/version_cc.cc",
152     "src/cpp/common/validate_service_config.cc",
153     "src/cpp/server/async_generic_service.cc",
154     "src/cpp/server/channel_argument_option.cc",
155     "src/cpp/server/create_default_thread_pool.cc",
156     "src/cpp/server/dynamic_thread_pool.cc",
157     "src/cpp/server/external_connection_acceptor_impl.cc",
158     "src/cpp/server/health/default_health_check_service.cc",
159     "src/cpp/server/health/health_check_service.cc",
160     "src/cpp/server/health/health_check_service_server_builder_option.cc",
161     "src/cpp/server/server_builder.cc",
162     "src/cpp/server/server_callback.cc",
163     "src/cpp/server/server_cc.cc",
164     "src/cpp/server/server_context.cc",
165     "src/cpp/server/server_credentials.cc",
166     "src/cpp/server/server_posix.cc",
167     "src/cpp/thread_manager/thread_manager.cc",
168     "src/cpp/util/byte_buffer_cc.cc",
169     "src/cpp/util/status.cc",
170     "src/cpp/util/string_ref.cc",
171     "src/cpp/util/time_cc.cc",
172 ]
173
174 GRPCXX_HDRS = [
175     "src/cpp/client/create_channel_internal.h",
176     "src/cpp/common/channel_filter.h",
177     "src/cpp/server/dynamic_thread_pool.h",
178     "src/cpp/server/external_connection_acceptor_impl.h",
179     "src/cpp/server/health/default_health_check_service.h",
180     "src/cpp/server/thread_pool_interface.h",
181     "src/cpp/thread_manager/thread_manager.h",
182 ]
183
184 GRPCXX_PUBLIC_HDRS = [
185     "include/grpc++/alarm.h",
186     "include/grpc++/channel.h",
187     "include/grpc++/client_context.h",
188     "include/grpc++/completion_queue.h",
189     "include/grpc++/create_channel.h",
190     "include/grpc++/create_channel_posix.h",
191     "include/grpc++/ext/health_check_service_server_builder_option.h",
192     "include/grpc++/generic/async_generic_service.h",
193     "include/grpc++/generic/generic_stub.h",
194     "include/grpc++/grpc++.h",
195     "include/grpc++/health_check_service_interface.h",
196     "include/grpc++/impl/call.h",
197     "include/grpc++/impl/channel_argument_option.h",
198     "include/grpc++/impl/client_unary_call.h",
199     "include/grpc++/impl/codegen/core_codegen.h",
200     "include/grpc++/impl/grpc_library.h",
201     "include/grpc++/impl/method_handler_impl.h",
202     "include/grpc++/impl/rpc_method.h",
203     "include/grpc++/impl/rpc_service_method.h",
204     "include/grpc++/impl/serialization_traits.h",
205     "include/grpc++/impl/server_builder_option.h",
206     "include/grpc++/impl/server_builder_plugin.h",
207     "include/grpc++/impl/server_initializer.h",
208     "include/grpc++/impl/service_type.h",
209     "include/grpc++/security/auth_context.h",
210     "include/grpc++/resource_quota.h",
211     "include/grpc++/security/auth_metadata_processor.h",
212     "include/grpc++/security/credentials.h",
213     "include/grpc++/security/server_credentials.h",
214     "include/grpc++/server.h",
215     "include/grpc++/server_builder.h",
216     "include/grpc++/server_context.h",
217     "include/grpc++/server_posix.h",
218     "include/grpc++/support/async_stream.h",
219     "include/grpc++/support/async_unary_call.h",
220     "include/grpc++/support/byte_buffer.h",
221     "include/grpc++/support/channel_arguments.h",
222     "include/grpc++/support/config.h",
223     "include/grpc++/support/slice.h",
224     "include/grpc++/support/status.h",
225     "include/grpc++/support/status_code_enum.h",
226     "include/grpc++/support/string_ref.h",
227     "include/grpc++/support/stub_options.h",
228     "include/grpc++/support/sync_stream.h",
229     "include/grpc++/support/time.h",
230     "include/grpcpp/alarm.h",
231     "include/grpcpp/channel.h",
232     "include/grpcpp/client_context.h",
233     "include/grpcpp/completion_queue.h",
234     "include/grpcpp/create_channel.h",
235     "include/grpcpp/create_channel_posix.h",
236     "include/grpcpp/ext/health_check_service_server_builder_option.h",
237     "include/grpcpp/generic/async_generic_service.h",
238     "include/grpcpp/generic/generic_stub.h",
239     "include/grpcpp/grpcpp.h",
240     "include/grpcpp/health_check_service_interface.h",
241     "include/grpcpp/impl/call.h",
242     "include/grpcpp/impl/channel_argument_option.h",
243     "include/grpcpp/impl/client_unary_call.h",
244     "include/grpcpp/impl/codegen/core_codegen.h",
245     "include/grpcpp/impl/grpc_library.h",
246     "include/grpcpp/impl/method_handler_impl.h",
247     "include/grpcpp/impl/rpc_method.h",
248     "include/grpcpp/impl/rpc_service_method.h",
249     "include/grpcpp/impl/serialization_traits.h",
250     "include/grpcpp/impl/server_builder_option.h",
251     "include/grpcpp/impl/server_builder_plugin.h",
252     "include/grpcpp/impl/server_initializer.h",
253     "include/grpcpp/impl/service_type.h",
254     "include/grpcpp/resource_quota.h",
255     "include/grpcpp/security/auth_context.h",
256     "include/grpcpp/security/auth_metadata_processor.h",
257     "include/grpcpp/security/credentials.h",
258     "include/grpcpp/security/server_credentials.h",
259     "include/grpcpp/security/tls_certificate_provider.h",
260     "include/grpcpp/security/tls_credentials_options.h",
261     "include/grpcpp/server.h",
262     "include/grpcpp/server_builder.h",
263     "include/grpcpp/server_context.h",
264     "include/grpcpp/server_posix.h",
265     "include/grpcpp/support/async_stream.h",
266     "include/grpcpp/support/async_unary_call.h",
267     "include/grpcpp/support/byte_buffer.h",
268     "include/grpcpp/support/channel_arguments.h",
269     "include/grpcpp/support/client_callback.h",
270     "include/grpcpp/support/client_interceptor.h",
271     "include/grpcpp/support/config.h",
272     "include/grpcpp/support/interceptor.h",
273     "include/grpcpp/support/message_allocator.h",
274     "include/grpcpp/support/method_handler.h",
275     "include/grpcpp/support/proto_buffer_reader.h",
276     "include/grpcpp/support/proto_buffer_writer.h",
277     "include/grpcpp/support/server_callback.h",
278     "include/grpcpp/support/server_interceptor.h",
279     "include/grpcpp/support/slice.h",
280     "include/grpcpp/support/status.h",
281     "include/grpcpp/support/status_code_enum.h",
282     "include/grpcpp/support/string_ref.h",
283     "include/grpcpp/support/stub_options.h",
284     "include/grpcpp/support/sync_stream.h",
285     "include/grpcpp/support/time.h",
286     "include/grpcpp/support/validate_service_config.h",
287 ]
288
289 grpc_cc_library(
290     name = "gpr",
291     language = "c++",
292     public_hdrs = GPR_PUBLIC_HDRS,
293     standalone = True,
294     deps = [
295         "gpr_base",
296     ],
297 )
298
299 grpc_cc_library(
300     name = "grpc_unsecure",
301     srcs = [
302         "src/core/lib/surface/init.cc",
303         "src/core/lib/surface/init_unsecure.cc",
304         "src/core/plugin_registry/grpc_unsecure_plugin_registry.cc",
305     ],
306     language = "c++",
307     public_hdrs = GRPC_PUBLIC_HDRS,
308     standalone = True,
309     deps = [
310         "grpc_common",
311         "grpc_lb_policy_grpclb",
312     ],
313 )
314
315 grpc_cc_library(
316     name = "grpc",
317     srcs = [
318         "src/core/lib/surface/init.cc",
319         "src/core/plugin_registry/grpc_plugin_registry.cc",
320     ],
321     defines = select({
322         "grpc_no_xds": ["GRPC_NO_XDS"],
323         "//conditions:default": [],
324     }),
325     language = "c++",
326     public_hdrs = GRPC_PUBLIC_HDRS + GRPC_SECURE_PUBLIC_HDRS,
327     select_deps = {
328         "grpc_no_xds": [],
329         "//conditions:default": [
330             "grpc_lb_policy_cds",
331             "grpc_lb_policy_xds_cluster_impl",
332             "grpc_lb_policy_xds_cluster_manager",
333             "grpc_lb_policy_xds_cluster_resolver",
334             "grpc_resolver_xds",
335             "grpc_resolver_c2p",
336             "grpc_xds_server_config_fetcher",
337         ],
338     },
339     standalone = True,
340     deps = [
341         "grpc_common",
342         "grpc_lb_policy_grpclb_secure",
343         "grpc_secure",
344         "grpc_transport_chttp2_client_secure",
345         "grpc_transport_chttp2_server_secure",
346     ],
347 )
348
349 grpc_cc_library(
350     name = "grpc++_public_hdrs",
351     hdrs = GRPCXX_PUBLIC_HDRS,
352     external_deps = [
353         "protobuf_headers",
354     ],
355 )
356
357 grpc_cc_library(
358     name = "grpc++",
359     srcs = [
360         "src/cpp/client/insecure_credentials.cc",
361         "src/cpp/client/secure_credentials.cc",
362         "src/cpp/common/auth_property_iterator.cc",
363         "src/cpp/common/secure_auth_context.cc",
364         "src/cpp/common/secure_channel_arguments.cc",
365         "src/cpp/common/secure_create_auth_context.cc",
366         "src/cpp/common/tls_certificate_provider.cc",
367         "src/cpp/common/tls_credentials_options.cc",
368         "src/cpp/common/tls_credentials_options_util.cc",
369         "src/cpp/server/insecure_server_credentials.cc",
370         "src/cpp/server/secure_server_credentials.cc",
371     ],
372     hdrs = [
373         "src/cpp/client/secure_credentials.h",
374         "src/cpp/common/secure_auth_context.h",
375         "src/cpp/common/tls_credentials_options_util.h",
376         "src/cpp/server/secure_server_credentials.h",
377     ],
378     external_deps = [
379         "protobuf_headers",
380     ],
381     language = "c++",
382     public_hdrs = GRPCXX_PUBLIC_HDRS,
383     select_deps = {
384         "grpc_no_xds": [],
385         "//conditions:default": [
386             "grpc++_xds_client",
387             "grpc++_xds_server",
388         ],
389     },
390     standalone = True,
391     deps = [
392         "gpr",
393         "grpc",
394         "grpc++_base",
395         "grpc++_codegen_base",
396         "grpc++_codegen_base_src",
397         "grpc++_codegen_proto",
398         "grpc_secure",
399     ],
400 )
401
402 grpc_cc_library(
403     name = "grpc++_xds_client",
404     srcs = [
405         "src/cpp/client/xds_credentials.cc",
406     ],
407     hdrs = [
408         "src/cpp/client/secure_credentials.h",
409     ],
410     language = "c++",
411     deps = [
412         "grpc++_base",
413     ],
414 )
415
416 grpc_cc_library(
417     name = "grpc++_xds_server",
418     srcs = [
419         "src/cpp/server/xds_server_credentials.cc",
420     ],
421     hdrs = [
422         "src/cpp/server/secure_server_credentials.h",
423     ],
424     language = "c++",
425     public_hdrs = [
426         "include/grpcpp/xds_server_builder.h",
427     ],
428     deps = [
429         "grpc++_base",
430     ],
431 )
432
433 grpc_cc_library(
434     name = "grpc++_unsecure",
435     srcs = [
436         "src/cpp/client/insecure_credentials.cc",
437         "src/cpp/common/insecure_create_auth_context.cc",
438         "src/cpp/server/insecure_server_credentials.cc",
439     ],
440     language = "c++",
441     standalone = True,
442     deps = [
443         "gpr",
444         "grpc++_base_unsecure",
445         "grpc++_codegen_base",
446         "grpc++_codegen_base_src",
447         "grpc++_codegen_proto",
448         "grpc_unsecure",
449     ],
450 )
451
452 grpc_cc_library(
453     name = "grpc++_error_details",
454     srcs = [
455         "src/cpp/util/error_details.cc",
456     ],
457     hdrs = [
458         "include/grpc++/support/error_details.h",
459         "include/grpcpp/support/error_details.h",
460     ],
461     language = "c++",
462     standalone = True,
463     deps = [
464         "grpc++",
465     ],
466 )
467
468 grpc_cc_library(
469     name = "grpc++_alts",
470     srcs = [
471         "src/cpp/common/alts_context.cc",
472         "src/cpp/common/alts_util.cc",
473     ],
474     hdrs = [
475         "include/grpcpp/security/alts_context.h",
476         "include/grpcpp/security/alts_util.h",
477     ],
478     language = "c++",
479     standalone = True,
480     deps = [
481         "alts_upb",
482         "alts_util",
483         "grpc++",
484     ],
485 )
486
487 grpc_cc_library(
488     name = "grpc_csharp_ext",
489     srcs = [
490         "src/csharp/ext/grpc_csharp_ext.c",
491     ],
492     language = "csharp",
493     deps = [
494         "gpr",
495         "grpc",
496     ],
497 )
498
499 grpc_cc_library(
500     name = "census",
501     srcs = [
502         "src/core/ext/filters/census/grpc_context.cc",
503     ],
504     language = "c++",
505     public_hdrs = [
506         "include/grpc/census.h",
507     ],
508     deps = [
509         "grpc_base",
510     ],
511 )
512
513 grpc_cc_library(
514     name = "grpc++_internal_hdrs_only",
515     hdrs = [
516         "include/grpcpp/impl/codegen/sync.h",
517     ],
518     language = "c++",
519     deps = [
520         "gpr_codegen",
521     ],
522 )
523
524 grpc_cc_library(
525     name = "gpr_base",
526     srcs = [
527         "src/core/lib/gpr/alloc.cc",
528         "src/core/lib/gpr/atm.cc",
529         "src/core/lib/gpr/cpu_iphone.cc",
530         "src/core/lib/gpr/cpu_linux.cc",
531         "src/core/lib/gpr/cpu_posix.cc",
532         "src/core/lib/gpr/cpu_windows.cc",
533         "src/core/lib/gpr/env_linux.cc",
534         "src/core/lib/gpr/env_posix.cc",
535         "src/core/lib/gpr/env_windows.cc",
536         "src/core/lib/gpr/log.cc",
537         "src/core/lib/gpr/log_android.cc",
538         "src/core/lib/gpr/log_linux.cc",
539         "src/core/lib/gpr/log_posix.cc",
540         "src/core/lib/gpr/log_windows.cc",
541         "src/core/lib/gpr/murmur_hash.cc",
542         "src/core/lib/gpr/string.cc",
543         "src/core/lib/gpr/string_posix.cc",
544         "src/core/lib/gpr/string_util_windows.cc",
545         "src/core/lib/gpr/string_windows.cc",
546         "src/core/lib/gpr/sync.cc",
547         "src/core/lib/gpr/sync_abseil.cc",
548         "src/core/lib/gpr/sync_posix.cc",
549         "src/core/lib/gpr/sync_windows.cc",
550         "src/core/lib/gpr/time.cc",
551         "src/core/lib/gpr/time_posix.cc",
552         "src/core/lib/gpr/time_precise.cc",
553         "src/core/lib/gpr/time_windows.cc",
554         "src/core/lib/gpr/tls_pthread.cc",
555         "src/core/lib/gpr/tmpfile_msys.cc",
556         "src/core/lib/gpr/tmpfile_posix.cc",
557         "src/core/lib/gpr/tmpfile_windows.cc",
558         "src/core/lib/gpr/wrap_memcpy.cc",
559         "src/core/lib/gprpp/arena.cc",
560         "src/core/lib/gprpp/examine_stack.cc",
561         "src/core/lib/gprpp/fork.cc",
562         "src/core/lib/gprpp/global_config_env.cc",
563         "src/core/lib/gprpp/host_port.cc",
564         "src/core/lib/gprpp/mpscq.cc",
565         "src/core/lib/gprpp/stat_posix.cc",
566         "src/core/lib/gprpp/stat_windows.cc",
567         "src/core/lib/gprpp/thd_posix.cc",
568         "src/core/lib/gprpp/thd_windows.cc",
569         "src/core/lib/gprpp/time_util.cc",
570         "src/core/lib/profiling/basic_timers.cc",
571         "src/core/lib/profiling/stap_timers.cc",
572     ],
573     hdrs = [
574         "src/core/lib/gpr/alloc.h",
575         "src/core/lib/gpr/arena.h",
576         "src/core/lib/gpr/env.h",
577         "src/core/lib/gpr/murmur_hash.h",
578         "src/core/lib/gpr/spinlock.h",
579         "src/core/lib/gpr/string.h",
580         "src/core/lib/gpr/string_windows.h",
581         "src/core/lib/gpr/time_precise.h",
582         "src/core/lib/gpr/tls.h",
583         "src/core/lib/gpr/tls_gcc.h",
584         "src/core/lib/gpr/tls_msvc.h",
585         "src/core/lib/gpr/tls_pthread.h",
586         "src/core/lib/gpr/tls_stdcpp.h",
587         "src/core/lib/gpr/tmpfile.h",
588         "src/core/lib/gpr/useful.h",
589         "src/core/lib/gprpp/arena.h",
590         "src/core/lib/gprpp/atomic.h",
591         "src/core/lib/gprpp/examine_stack.h",
592         "src/core/lib/gprpp/fork.h",
593         "src/core/lib/gprpp/global_config.h",
594         "src/core/lib/gprpp/global_config_custom.h",
595         "src/core/lib/gprpp/global_config_env.h",
596         "src/core/lib/gprpp/global_config_generic.h",
597         "src/core/lib/gprpp/host_port.h",
598         "src/core/lib/gprpp/manual_constructor.h",
599         "src/core/lib/gprpp/memory.h",
600         "src/core/lib/gprpp/mpscq.h",
601         "src/core/lib/gprpp/stat.h",
602         "src/core/lib/gprpp/sync.h",
603         "src/core/lib/gprpp/thd.h",
604         "src/core/lib/gprpp/time_util.h",
605         "src/core/lib/profiling/timers.h",
606     ],
607     external_deps = [
608         "absl/base",
609         "absl/memory",
610         "absl/status",
611         "absl/strings",
612         "absl/strings:str_format",
613         "absl/synchronization",
614         "absl/time:time",
615         "absl/types:optional",
616     ],
617     language = "c++",
618     public_hdrs = GPR_PUBLIC_HDRS,
619     deps = [
620         "gpr_codegen",
621         "grpc_codegen",
622     ],
623 )
624
625 grpc_cc_library(
626     name = "gpr_codegen",
627     language = "c++",
628     public_hdrs = [
629         "include/grpc/impl/codegen/atm.h",
630         "include/grpc/impl/codegen/atm_gcc_atomic.h",
631         "include/grpc/impl/codegen/atm_gcc_sync.h",
632         "include/grpc/impl/codegen/atm_windows.h",
633         "include/grpc/impl/codegen/fork.h",
634         "include/grpc/impl/codegen/gpr_slice.h",
635         "include/grpc/impl/codegen/gpr_types.h",
636         "include/grpc/impl/codegen/log.h",
637         "include/grpc/impl/codegen/port_platform.h",
638         "include/grpc/impl/codegen/sync.h",
639         "include/grpc/impl/codegen/sync_abseil.h",
640         "include/grpc/impl/codegen/sync_custom.h",
641         "include/grpc/impl/codegen/sync_generic.h",
642         "include/grpc/impl/codegen/sync_posix.h",
643         "include/grpc/impl/codegen/sync_windows.h",
644     ],
645 )
646
647 grpc_cc_library(
648     name = "grpc_trace",
649     srcs = ["src/core/lib/debug/trace.cc"],
650     hdrs = ["src/core/lib/debug/trace.h"],
651     language = "c++",
652     public_hdrs = GRPC_PUBLIC_HDRS,
653     deps = [
654         "grpc_codegen",
655         ":gpr",
656     ],
657 )
658
659 grpc_cc_library(
660     name = "atomic",
661     language = "c++",
662     public_hdrs = [
663         "src/core/lib/gprpp/atomic.h",
664     ],
665     deps = [
666         "gpr",
667     ],
668 )
669
670 grpc_cc_library(
671     name = "debug_location",
672     language = "c++",
673     public_hdrs = ["src/core/lib/gprpp/debug_location.h"],
674 )
675
676 grpc_cc_library(
677     name = "orphanable",
678     language = "c++",
679     public_hdrs = ["src/core/lib/gprpp/orphanable.h"],
680     deps = [
681         "debug_location",
682         "gpr_base",
683         "grpc_trace",
684         "ref_counted",
685         "ref_counted_ptr",
686     ],
687 )
688
689 grpc_cc_library(
690     name = "ref_counted",
691     language = "c++",
692     public_hdrs = ["src/core/lib/gprpp/ref_counted.h"],
693     deps = [
694         "atomic",
695         "debug_location",
696         "gpr_base",
697         "grpc_trace",
698         "ref_counted_ptr",
699     ],
700 )
701
702 grpc_cc_library(
703     name = "dual_ref_counted",
704     language = "c++",
705     public_hdrs = ["src/core/lib/gprpp/dual_ref_counted.h"],
706     deps = [
707         "atomic",
708         "debug_location",
709         "gpr_base",
710         "grpc_trace",
711         "orphanable",
712         "ref_counted_ptr",
713     ],
714 )
715
716 grpc_cc_library(
717     name = "ref_counted_ptr",
718     language = "c++",
719     public_hdrs = ["src/core/lib/gprpp/ref_counted_ptr.h"],
720     deps = [
721         "gpr_base",
722     ],
723 )
724
725 grpc_cc_library(
726     name = "grpc_base_c",
727     srcs = [
728         "src/core/lib/avl/avl.cc",
729         "src/core/lib/backoff/backoff.cc",
730         "src/core/lib/channel/channel_args.cc",
731         "src/core/lib/channel/channel_stack.cc",
732         "src/core/lib/channel/channel_stack_builder.cc",
733         "src/core/lib/channel/channel_trace.cc",
734         "src/core/lib/channel/channelz.cc",
735         "src/core/lib/channel/channelz_registry.cc",
736         "src/core/lib/channel/connected_channel.cc",
737         "src/core/lib/channel/handshaker.cc",
738         "src/core/lib/channel/handshaker_registry.cc",
739         "src/core/lib/channel/status_util.cc",
740         "src/core/lib/compression/compression.cc",
741         "src/core/lib/compression/compression_args.cc",
742         "src/core/lib/compression/compression_internal.cc",
743         "src/core/lib/compression/message_compress.cc",
744         "src/core/lib/compression/stream_compression.cc",
745         "src/core/lib/compression/stream_compression_gzip.cc",
746         "src/core/lib/compression/stream_compression_identity.cc",
747         "src/core/lib/debug/stats.cc",
748         "src/core/lib/debug/stats_data.cc",
749         "src/core/lib/http/format_request.cc",
750         "src/core/lib/http/httpcli.cc",
751         "src/core/lib/http/parser.cc",
752         "src/core/lib/iomgr/buffer_list.cc",
753         "src/core/lib/iomgr/call_combiner.cc",
754         "src/core/lib/iomgr/cfstream_handle.cc",
755         "src/core/lib/iomgr/combiner.cc",
756         "src/core/lib/iomgr/dualstack_socket_posix.cc",
757         "src/core/lib/iomgr/endpoint.cc",
758         "src/core/lib/iomgr/endpoint_cfstream.cc",
759         "src/core/lib/iomgr/endpoint_pair_posix.cc",
760         "src/core/lib/iomgr/endpoint_pair_uv.cc",
761         "src/core/lib/iomgr/endpoint_pair_windows.cc",
762         "src/core/lib/iomgr/error.cc",
763         "src/core/lib/iomgr/error_cfstream.cc",
764         "src/core/lib/iomgr/ev_apple.cc",
765         "src/core/lib/iomgr/ev_epoll1_linux.cc",
766         "src/core/lib/iomgr/ev_epollex_linux.cc",
767         "src/core/lib/iomgr/ev_poll_posix.cc",
768         "src/core/lib/iomgr/ev_posix.cc",
769         "src/core/lib/iomgr/ev_windows.cc",
770         "src/core/lib/iomgr/exec_ctx.cc",
771         "src/core/lib/iomgr/executor.cc",
772         "src/core/lib/iomgr/executor/mpmcqueue.cc",
773         "src/core/lib/iomgr/executor/threadpool.cc",
774         "src/core/lib/iomgr/fork_posix.cc",
775         "src/core/lib/iomgr/fork_windows.cc",
776         "src/core/lib/iomgr/gethostname_fallback.cc",
777         "src/core/lib/iomgr/gethostname_host_name_max.cc",
778         "src/core/lib/iomgr/gethostname_sysconf.cc",
779         "src/core/lib/iomgr/grpc_if_nametoindex_posix.cc",
780         "src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc",
781         "src/core/lib/iomgr/internal_errqueue.cc",
782         "src/core/lib/iomgr/iocp_windows.cc",
783         "src/core/lib/iomgr/iomgr.cc",
784         "src/core/lib/iomgr/iomgr_custom.cc",
785         "src/core/lib/iomgr/iomgr_internal.cc",
786         "src/core/lib/iomgr/iomgr_posix.cc",
787         "src/core/lib/iomgr/iomgr_posix_cfstream.cc",
788         "src/core/lib/iomgr/iomgr_uv.cc",
789         "src/core/lib/iomgr/iomgr_windows.cc",
790         "src/core/lib/iomgr/is_epollexclusive_available.cc",
791         "src/core/lib/iomgr/load_file.cc",
792         "src/core/lib/iomgr/lockfree_event.cc",
793         "src/core/lib/iomgr/parse_address.cc",
794         "src/core/lib/iomgr/polling_entity.cc",
795         "src/core/lib/iomgr/pollset.cc",
796         "src/core/lib/iomgr/pollset_custom.cc",
797         "src/core/lib/iomgr/pollset_set.cc",
798         "src/core/lib/iomgr/pollset_set_custom.cc",
799         "src/core/lib/iomgr/pollset_set_windows.cc",
800         "src/core/lib/iomgr/pollset_uv.cc",
801         "src/core/lib/iomgr/pollset_windows.cc",
802         "src/core/lib/iomgr/resolve_address.cc",
803         "src/core/lib/iomgr/resolve_address_custom.cc",
804         "src/core/lib/iomgr/resolve_address_posix.cc",
805         "src/core/lib/iomgr/resolve_address_windows.cc",
806         "src/core/lib/iomgr/resource_quota.cc",
807         "src/core/lib/iomgr/sockaddr_utils.cc",
808         "src/core/lib/iomgr/socket_factory_posix.cc",
809         "src/core/lib/iomgr/socket_mutator.cc",
810         "src/core/lib/iomgr/socket_utils_common_posix.cc",
811         "src/core/lib/iomgr/socket_utils_linux.cc",
812         "src/core/lib/iomgr/socket_utils_posix.cc",
813         "src/core/lib/iomgr/socket_utils_uv.cc",
814         "src/core/lib/iomgr/socket_utils_windows.cc",
815         "src/core/lib/iomgr/socket_windows.cc",
816         "src/core/lib/iomgr/tcp_client.cc",
817         "src/core/lib/iomgr/tcp_client_cfstream.cc",
818         "src/core/lib/iomgr/tcp_client_custom.cc",
819         "src/core/lib/iomgr/tcp_client_posix.cc",
820         "src/core/lib/iomgr/tcp_client_windows.cc",
821         "src/core/lib/iomgr/tcp_custom.cc",
822         "src/core/lib/iomgr/tcp_posix.cc",
823         "src/core/lib/iomgr/tcp_server.cc",
824         "src/core/lib/iomgr/tcp_server_custom.cc",
825         "src/core/lib/iomgr/tcp_server_posix.cc",
826         "src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
827         "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
828         "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
829         "src/core/lib/iomgr/tcp_server_windows.cc",
830         "src/core/lib/iomgr/tcp_uv.cc",
831         "src/core/lib/iomgr/tcp_windows.cc",
832         "src/core/lib/iomgr/time_averaged_stats.cc",
833         "src/core/lib/iomgr/timer.cc",
834         "src/core/lib/iomgr/timer_custom.cc",
835         "src/core/lib/iomgr/timer_generic.cc",
836         "src/core/lib/iomgr/timer_heap.cc",
837         "src/core/lib/iomgr/timer_manager.cc",
838         "src/core/lib/iomgr/timer_uv.cc",
839         "src/core/lib/iomgr/udp_server.cc",
840         "src/core/lib/iomgr/unix_sockets_posix.cc",
841         "src/core/lib/iomgr/unix_sockets_posix_noop.cc",
842         "src/core/lib/iomgr/wakeup_fd_eventfd.cc",
843         "src/core/lib/iomgr/wakeup_fd_nospecial.cc",
844         "src/core/lib/iomgr/wakeup_fd_pipe.cc",
845         "src/core/lib/iomgr/wakeup_fd_posix.cc",
846         "src/core/lib/iomgr/work_serializer.cc",
847         "src/core/lib/json/json_reader.cc",
848         "src/core/lib/json/json_util.cc",
849         "src/core/lib/json/json_writer.cc",
850         "src/core/lib/slice/b64.cc",
851         "src/core/lib/slice/percent_encoding.cc",
852         "src/core/lib/slice/slice.cc",
853         "src/core/lib/slice/slice_buffer.cc",
854         "src/core/lib/slice/slice_intern.cc",
855         "src/core/lib/slice/slice_string_helpers.cc",
856         "src/core/lib/surface/api_trace.cc",
857         "src/core/lib/surface/byte_buffer.cc",
858         "src/core/lib/surface/byte_buffer_reader.cc",
859         "src/core/lib/surface/call.cc",
860         "src/core/lib/surface/call_details.cc",
861         "src/core/lib/surface/call_log_batch.cc",
862         "src/core/lib/surface/channel.cc",
863         "src/core/lib/surface/channel_init.cc",
864         "src/core/lib/surface/channel_ping.cc",
865         "src/core/lib/surface/channel_stack_type.cc",
866         "src/core/lib/surface/completion_queue.cc",
867         "src/core/lib/surface/completion_queue_factory.cc",
868         "src/core/lib/surface/event_string.cc",
869         "src/core/lib/surface/metadata_array.cc",
870         "src/core/lib/surface/server.cc",
871         "src/core/lib/surface/validate_metadata.cc",
872         "src/core/lib/surface/version.cc",
873         "src/core/lib/transport/authority_override.cc",
874         "src/core/lib/transport/bdp_estimator.cc",
875         "src/core/lib/transport/byte_stream.cc",
876         "src/core/lib/transport/connectivity_state.cc",
877         "src/core/lib/transport/error_utils.cc",
878         "src/core/lib/transport/metadata.cc",
879         "src/core/lib/transport/metadata_batch.cc",
880         "src/core/lib/transport/pid_controller.cc",
881         "src/core/lib/transport/static_metadata.cc",
882         "src/core/lib/transport/status_conversion.cc",
883         "src/core/lib/transport/status_metadata.cc",
884         "src/core/lib/transport/timeout_encoding.cc",
885         "src/core/lib/transport/transport.cc",
886         "src/core/lib/transport/transport_op_string.cc",
887         "src/core/lib/uri/uri_parser.cc",
888     ],
889     hdrs = [
890         "src/core/lib/avl/avl.h",
891         "src/core/lib/backoff/backoff.h",
892         "src/core/lib/channel/channel_args.h",
893         "src/core/lib/channel/channel_stack.h",
894         "src/core/lib/channel/channel_stack_builder.h",
895         "src/core/lib/channel/channel_trace.h",
896         "src/core/lib/channel/channelz.h",
897         "src/core/lib/channel/channelz_registry.h",
898         "src/core/lib/channel/connected_channel.h",
899         "src/core/lib/channel/context.h",
900         "src/core/lib/channel/handshaker.h",
901         "src/core/lib/channel/handshaker_factory.h",
902         "src/core/lib/channel/handshaker_registry.h",
903         "src/core/lib/channel/status_util.h",
904         "src/core/lib/compression/algorithm_metadata.h",
905         "src/core/lib/compression/compression_args.h",
906         "src/core/lib/compression/compression_internal.h",
907         "src/core/lib/compression/message_compress.h",
908         "src/core/lib/compression/stream_compression.h",
909         "src/core/lib/compression/stream_compression_gzip.h",
910         "src/core/lib/compression/stream_compression_identity.h",
911         "src/core/lib/debug/stats.h",
912         "src/core/lib/debug/stats_data.h",
913         "src/core/lib/http/format_request.h",
914         "src/core/lib/http/httpcli.h",
915         "src/core/lib/http/parser.h",
916         "src/core/lib/iomgr/block_annotate.h",
917         "src/core/lib/iomgr/buffer_list.h",
918         "src/core/lib/iomgr/call_combiner.h",
919         "src/core/lib/iomgr/cfstream_handle.h",
920         "src/core/lib/iomgr/closure.h",
921         "src/core/lib/iomgr/combiner.h",
922         "src/core/lib/iomgr/dynamic_annotations.h",
923         "src/core/lib/iomgr/endpoint.h",
924         "src/core/lib/iomgr/endpoint_cfstream.h",
925         "src/core/lib/iomgr/endpoint_pair.h",
926         "src/core/lib/iomgr/error.h",
927         "src/core/lib/iomgr/error_cfstream.h",
928         "src/core/lib/iomgr/error_internal.h",
929         "src/core/lib/iomgr/ev_apple.h",
930         "src/core/lib/iomgr/ev_epoll1_linux.h",
931         "src/core/lib/iomgr/ev_epollex_linux.h",
932         "src/core/lib/iomgr/ev_poll_posix.h",
933         "src/core/lib/iomgr/ev_posix.h",
934         "src/core/lib/iomgr/exec_ctx.h",
935         "src/core/lib/iomgr/executor.h",
936         "src/core/lib/iomgr/executor/mpmcqueue.h",
937         "src/core/lib/iomgr/executor/threadpool.h",
938         "src/core/lib/iomgr/gethostname.h",
939         "src/core/lib/iomgr/grpc_if_nametoindex.h",
940         "src/core/lib/iomgr/internal_errqueue.h",
941         "src/core/lib/iomgr/iocp_windows.h",
942         "src/core/lib/iomgr/iomgr.h",
943         "src/core/lib/iomgr/iomgr_custom.h",
944         "src/core/lib/iomgr/iomgr_internal.h",
945         "src/core/lib/iomgr/is_epollexclusive_available.h",
946         "src/core/lib/iomgr/load_file.h",
947         "src/core/lib/iomgr/lockfree_event.h",
948         "src/core/lib/iomgr/nameser.h",
949         "src/core/lib/iomgr/parse_address.h",
950         "src/core/lib/iomgr/polling_entity.h",
951         "src/core/lib/iomgr/pollset.h",
952         "src/core/lib/iomgr/pollset_custom.h",
953         "src/core/lib/iomgr/pollset_set.h",
954         "src/core/lib/iomgr/pollset_set_custom.h",
955         "src/core/lib/iomgr/pollset_set_windows.h",
956         "src/core/lib/iomgr/pollset_uv.h",
957         "src/core/lib/iomgr/pollset_windows.h",
958         "src/core/lib/iomgr/port.h",
959         "src/core/lib/iomgr/python_util.h",
960         "src/core/lib/iomgr/resolve_address.h",
961         "src/core/lib/iomgr/resolve_address_custom.h",
962         "src/core/lib/iomgr/resource_quota.h",
963         "src/core/lib/iomgr/sockaddr.h",
964         "src/core/lib/iomgr/sockaddr_custom.h",
965         "src/core/lib/iomgr/sockaddr_posix.h",
966         "src/core/lib/iomgr/sockaddr_utils.h",
967         "src/core/lib/iomgr/sockaddr_windows.h",
968         "src/core/lib/iomgr/socket_factory_posix.h",
969         "src/core/lib/iomgr/socket_mutator.h",
970         "src/core/lib/iomgr/socket_utils.h",
971         "src/core/lib/iomgr/socket_utils_posix.h",
972         "src/core/lib/iomgr/socket_windows.h",
973         "src/core/lib/iomgr/sys_epoll_wrapper.h",
974         "src/core/lib/iomgr/tcp_client.h",
975         "src/core/lib/iomgr/tcp_client_posix.h",
976         "src/core/lib/iomgr/tcp_custom.h",
977         "src/core/lib/iomgr/tcp_posix.h",
978         "src/core/lib/iomgr/tcp_server.h",
979         "src/core/lib/iomgr/tcp_server_utils_posix.h",
980         "src/core/lib/iomgr/tcp_windows.h",
981         "src/core/lib/iomgr/time_averaged_stats.h",
982         "src/core/lib/iomgr/timer.h",
983         "src/core/lib/iomgr/timer_custom.h",
984         "src/core/lib/iomgr/timer_generic.h",
985         "src/core/lib/iomgr/timer_heap.h",
986         "src/core/lib/iomgr/timer_manager.h",
987         "src/core/lib/iomgr/udp_server.h",
988         "src/core/lib/iomgr/unix_sockets_posix.h",
989         "src/core/lib/iomgr/wakeup_fd_pipe.h",
990         "src/core/lib/iomgr/wakeup_fd_posix.h",
991         "src/core/lib/iomgr/work_serializer.h",
992         "src/core/lib/json/json.h",
993         "src/core/lib/json/json_util.h",
994         "src/core/lib/slice/b64.h",
995         "src/core/lib/slice/percent_encoding.h",
996         "src/core/lib/slice/slice_internal.h",
997         "src/core/lib/slice/slice_string_helpers.h",
998         "src/core/lib/slice/slice_utils.h",
999         "src/core/lib/surface/api_trace.h",
1000         "src/core/lib/surface/call.h",
1001         "src/core/lib/surface/call_test_only.h",
1002         "src/core/lib/surface/channel.h",
1003         "src/core/lib/surface/channel_init.h",
1004         "src/core/lib/surface/channel_stack_type.h",
1005         "src/core/lib/surface/completion_queue.h",
1006         "src/core/lib/surface/completion_queue_factory.h",
1007         "src/core/lib/surface/event_string.h",
1008         "src/core/lib/surface/init.h",
1009         "src/core/lib/surface/lame_client.h",
1010         "src/core/lib/surface/server.h",
1011         "src/core/lib/surface/validate_metadata.h",
1012         "src/core/lib/transport/authority_override.h",
1013         "src/core/lib/transport/bdp_estimator.h",
1014         "src/core/lib/transport/byte_stream.h",
1015         "src/core/lib/transport/connectivity_state.h",
1016         "src/core/lib/transport/error_utils.h",
1017         "src/core/lib/transport/http2_errors.h",
1018         "src/core/lib/transport/metadata.h",
1019         "src/core/lib/transport/metadata_batch.h",
1020         "src/core/lib/transport/pid_controller.h",
1021         "src/core/lib/transport/static_metadata.h",
1022         "src/core/lib/transport/status_conversion.h",
1023         "src/core/lib/transport/status_metadata.h",
1024         "src/core/lib/transport/timeout_encoding.h",
1025         "src/core/lib/transport/transport.h",
1026         "src/core/lib/transport/transport_impl.h",
1027         "src/core/lib/uri/uri_parser.h",
1028     ],
1029     external_deps = [
1030         "madler_zlib",
1031         "absl/container:inlined_vector",
1032         "absl/status",
1033         "absl/status:statusor",
1034         "absl/strings",
1035         "absl/types:optional",
1036         "absl/container:flat_hash_map",
1037     ],
1038     language = "c++",
1039     public_hdrs = GRPC_PUBLIC_HDRS,
1040     deps = [
1041         "dual_ref_counted",
1042         "eventmanager_libuv",
1043         "gpr_base",
1044         "grpc_codegen",
1045         "grpc_trace",
1046         "orphanable",
1047         "ref_counted",
1048         "ref_counted_ptr",
1049     ],
1050 )
1051
1052 grpc_cc_library(
1053     name = "grpc_base",
1054     srcs = [
1055         "src/core/lib/surface/lame_client.cc",
1056     ],
1057     language = "c++",
1058     deps = [
1059         "atomic",
1060         "grpc_base_c",
1061     ],
1062 )
1063
1064 grpc_cc_library(
1065     name = "grpc_common",
1066     language = "c++",
1067     deps = [
1068         "grpc_base",
1069         # standard plugins
1070         "census",
1071         "grpc_deadline_filter",
1072         "grpc_client_authority_filter",
1073         "grpc_lb_policy_pick_first",
1074         "grpc_lb_policy_priority",
1075         "grpc_lb_policy_round_robin",
1076         "grpc_lb_policy_weighted_target",
1077         "grpc_client_idle_filter",
1078         "grpc_max_age_filter",
1079         "grpc_message_size_filter",
1080         "grpc_resolver_dns_ares",
1081         "grpc_resolver_fake",
1082         "grpc_resolver_dns_native",
1083         "grpc_resolver_sockaddr",
1084         "grpc_transport_chttp2_client_insecure",
1085         "grpc_transport_chttp2_server_insecure",
1086         "grpc_transport_inproc",
1087         "grpc_workaround_cronet_compression_filter",
1088         "grpc_server_backward_compatibility",
1089     ],
1090 )
1091
1092 grpc_cc_library(
1093     name = "grpc_client_channel",
1094     srcs = [
1095         "src/core/ext/filters/client_channel/backend_metric.cc",
1096         "src/core/ext/filters/client_channel/backup_poller.cc",
1097         "src/core/ext/filters/client_channel/channel_connectivity.cc",
1098         "src/core/ext/filters/client_channel/client_channel.cc",
1099         "src/core/ext/filters/client_channel/client_channel_channelz.cc",
1100         "src/core/ext/filters/client_channel/client_channel_factory.cc",
1101         "src/core/ext/filters/client_channel/client_channel_plugin.cc",
1102         "src/core/ext/filters/client_channel/config_selector.cc",
1103         "src/core/ext/filters/client_channel/dynamic_filters.cc",
1104         "src/core/ext/filters/client_channel/global_subchannel_pool.cc",
1105         "src/core/ext/filters/client_channel/health/health_check_client.cc",
1106         "src/core/ext/filters/client_channel/http_connect_handshaker.cc",
1107         "src/core/ext/filters/client_channel/http_proxy.cc",
1108         "src/core/ext/filters/client_channel/lb_policy.cc",
1109         "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc",
1110         "src/core/ext/filters/client_channel/lb_policy_registry.cc",
1111         "src/core/ext/filters/client_channel/local_subchannel_pool.cc",
1112         "src/core/ext/filters/client_channel/proxy_mapper_registry.cc",
1113         "src/core/ext/filters/client_channel/resolver.cc",
1114         "src/core/ext/filters/client_channel/resolver_registry.cc",
1115         "src/core/ext/filters/client_channel/resolver_result_parsing.cc",
1116         "src/core/ext/filters/client_channel/retry_throttle.cc",
1117         "src/core/ext/filters/client_channel/server_address.cc",
1118         "src/core/ext/filters/client_channel/service_config.cc",
1119         "src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc",
1120         "src/core/ext/filters/client_channel/service_config_parser.cc",
1121         "src/core/ext/filters/client_channel/subchannel.cc",
1122         "src/core/ext/filters/client_channel/subchannel_pool_interface.cc",
1123     ],
1124     hdrs = [
1125         "src/core/ext/filters/client_channel/backend_metric.h",
1126         "src/core/ext/filters/client_channel/backup_poller.h",
1127         "src/core/ext/filters/client_channel/client_channel.h",
1128         "src/core/ext/filters/client_channel/client_channel_channelz.h",
1129         "src/core/ext/filters/client_channel/client_channel_factory.h",
1130         "src/core/ext/filters/client_channel/config_selector.h",
1131         "src/core/ext/filters/client_channel/connector.h",
1132         "src/core/ext/filters/client_channel/dynamic_filters.h",
1133         "src/core/ext/filters/client_channel/global_subchannel_pool.h",
1134         "src/core/ext/filters/client_channel/health/health_check_client.h",
1135         "src/core/ext/filters/client_channel/http_connect_handshaker.h",
1136         "src/core/ext/filters/client_channel/http_proxy.h",
1137         "src/core/ext/filters/client_channel/lb_policy.h",
1138         "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h",
1139         "src/core/ext/filters/client_channel/lb_policy_factory.h",
1140         "src/core/ext/filters/client_channel/lb_policy_registry.h",
1141         "src/core/ext/filters/client_channel/local_subchannel_pool.h",
1142         "src/core/ext/filters/client_channel/proxy_mapper.h",
1143         "src/core/ext/filters/client_channel/proxy_mapper_registry.h",
1144         "src/core/ext/filters/client_channel/resolver.h",
1145         "src/core/ext/filters/client_channel/resolver_factory.h",
1146         "src/core/ext/filters/client_channel/resolver_registry.h",
1147         "src/core/ext/filters/client_channel/resolver_result_parsing.h",
1148         "src/core/ext/filters/client_channel/retry_throttle.h",
1149         "src/core/ext/filters/client_channel/server_address.h",
1150         "src/core/ext/filters/client_channel/service_config.h",
1151         "src/core/ext/filters/client_channel/service_config_call_data.h",
1152         "src/core/ext/filters/client_channel/service_config_parser.h",
1153         "src/core/ext/filters/client_channel/subchannel.h",
1154         "src/core/ext/filters/client_channel/subchannel_interface.h",
1155         "src/core/ext/filters/client_channel/subchannel_pool_interface.h",
1156     ],
1157     external_deps = [
1158         "absl/container:inlined_vector",
1159     ],
1160     language = "c++",
1161     deps = [
1162         "gpr_base",
1163         "grpc_base",
1164         "grpc_client_authority_filter",
1165         "grpc_deadline_filter",
1166         "grpc_health_upb",
1167         "orphanable",
1168         "ref_counted",
1169         "ref_counted_ptr",
1170         "udpa_orca_upb",
1171     ],
1172 )
1173
1174 grpc_cc_library(
1175     name = "grpc_client_idle_filter",
1176     srcs = [
1177         "src/core/ext/filters/client_idle/client_idle_filter.cc",
1178     ],
1179     language = "c++",
1180     deps = [
1181         "grpc_base",
1182     ],
1183 )
1184
1185 grpc_cc_library(
1186     name = "grpc_max_age_filter",
1187     srcs = [
1188         "src/core/ext/filters/max_age/max_age_filter.cc",
1189     ],
1190     hdrs = [
1191         "src/core/ext/filters/max_age/max_age_filter.h",
1192     ],
1193     language = "c++",
1194     deps = [
1195         "grpc_base",
1196     ],
1197 )
1198
1199 grpc_cc_library(
1200     name = "grpc_deadline_filter",
1201     srcs = [
1202         "src/core/ext/filters/deadline/deadline_filter.cc",
1203     ],
1204     hdrs = [
1205         "src/core/ext/filters/deadline/deadline_filter.h",
1206     ],
1207     language = "c++",
1208     deps = [
1209         "grpc_base",
1210     ],
1211 )
1212
1213 grpc_cc_library(
1214     name = "grpc_client_authority_filter",
1215     srcs = [
1216         "src/core/ext/filters/http/client_authority_filter.cc",
1217     ],
1218     hdrs = [
1219         "src/core/ext/filters/http/client_authority_filter.h",
1220     ],
1221     language = "c++",
1222     deps = [
1223         "grpc_base",
1224     ],
1225 )
1226
1227 grpc_cc_library(
1228     name = "grpc_message_size_filter",
1229     srcs = [
1230         "src/core/ext/filters/message_size/message_size_filter.cc",
1231     ],
1232     hdrs = [
1233         "src/core/ext/filters/message_size/message_size_filter.h",
1234     ],
1235     language = "c++",
1236     deps = [
1237         "grpc_base",
1238         "grpc_client_channel",
1239     ],
1240 )
1241
1242 grpc_cc_library(
1243     name = "grpc_http_filters",
1244     srcs = [
1245         "src/core/ext/filters/http/client/http_client_filter.cc",
1246         "src/core/ext/filters/http/http_filters_plugin.cc",
1247         "src/core/ext/filters/http/message_compress/message_compress_filter.cc",
1248         "src/core/ext/filters/http/message_compress/message_decompress_filter.cc",
1249         "src/core/ext/filters/http/server/http_server_filter.cc",
1250     ],
1251     hdrs = [
1252         "src/core/ext/filters/http/client/http_client_filter.h",
1253         "src/core/ext/filters/http/message_compress/message_compress_filter.h",
1254         "src/core/ext/filters/http/message_compress/message_decompress_filter.h",
1255         "src/core/ext/filters/http/server/http_server_filter.h",
1256     ],
1257     language = "c++",
1258     deps = [
1259         "grpc_base",
1260         "grpc_message_size_filter",
1261     ],
1262 )
1263
1264 grpc_cc_library(
1265     name = "grpc_workaround_cronet_compression_filter",
1266     srcs = [
1267         "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc",
1268     ],
1269     hdrs = [
1270         "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h",
1271     ],
1272     language = "c++",
1273     deps = [
1274         "grpc_base",
1275         "grpc_server_backward_compatibility",
1276     ],
1277 )
1278
1279 grpc_cc_library(
1280     name = "grpc_codegen",
1281     language = "c++",
1282     public_hdrs = [
1283         "include/grpc/impl/codegen/byte_buffer.h",
1284         "include/grpc/impl/codegen/byte_buffer_reader.h",
1285         "include/grpc/impl/codegen/compression_types.h",
1286         "include/grpc/impl/codegen/connectivity_state.h",
1287         "include/grpc/impl/codegen/grpc_types.h",
1288         "include/grpc/impl/codegen/propagation_bits.h",
1289         "include/grpc/impl/codegen/status.h",
1290         "include/grpc/impl/codegen/slice.h",
1291     ],
1292     deps = [
1293         "gpr_codegen",
1294     ],
1295 )
1296
1297 grpc_cc_library(
1298     name = "grpc_grpclb_balancer_addresses",
1299     srcs = [
1300         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc",
1301     ],
1302     hdrs = [
1303         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h",
1304     ],
1305     language = "c++",
1306     deps = [
1307         "grpc_base",
1308         "grpc_client_channel",
1309     ],
1310 )
1311
1312 grpc_cc_library(
1313     name = "grpc_lb_policy_grpclb",
1314     srcs = [
1315         "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
1316         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
1317         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc",
1318         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
1319         "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
1320     ],
1321     hdrs = [
1322         "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
1323         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1324         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
1325         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
1326         "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
1327     ],
1328     language = "c++",
1329     deps = [
1330         "grpc_base",
1331         "grpc_client_channel",
1332         "grpc_grpclb_balancer_addresses",
1333         "grpc_lb_upb",
1334         "grpc_resolver_fake",
1335         "grpc_transport_chttp2_client_insecure",
1336     ],
1337 )
1338
1339 grpc_cc_library(
1340     name = "grpc_lb_policy_grpclb_secure",
1341     srcs = [
1342         "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
1343         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
1344         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc",
1345         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
1346         "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
1347     ],
1348     hdrs = [
1349         "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
1350         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1351         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
1352         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
1353         "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
1354     ],
1355     language = "c++",
1356     deps = [
1357         "grpc_base",
1358         "grpc_client_channel",
1359         "grpc_grpclb_balancer_addresses",
1360         "grpc_lb_upb",
1361         "grpc_resolver_fake",
1362         "grpc_secure",
1363         "grpc_transport_chttp2_client_secure",
1364     ],
1365 )
1366
1367 grpc_cc_library(
1368     name = "grpc_xds_client",
1369     srcs = [
1370         "src/core/ext/xds/certificate_provider_registry.cc",
1371         "src/core/ext/xds/certificate_provider_store.cc",
1372         "src/core/ext/xds/file_watcher_certificate_provider_factory.cc",
1373         "src/core/ext/xds/xds_api.cc",
1374         "src/core/ext/xds/xds_bootstrap.cc",
1375         "src/core/ext/xds/xds_certificate_provider.cc",
1376         "src/core/ext/xds/xds_client.cc",
1377         "src/core/ext/xds/xds_client_stats.cc",
1378         "src/core/lib/security/credentials/xds/xds_credentials.cc",
1379     ],
1380     hdrs = [
1381         "src/core/ext/xds/certificate_provider_factory.h",
1382         "src/core/ext/xds/certificate_provider_registry.h",
1383         "src/core/ext/xds/certificate_provider_store.h",
1384         "src/core/ext/xds/file_watcher_certificate_provider_factory.h",
1385         "src/core/ext/xds/xds_api.h",
1386         "src/core/ext/xds/xds_bootstrap.h",
1387         "src/core/ext/xds/xds_certificate_provider.h",
1388         "src/core/ext/xds/xds_channel_args.h",
1389         "src/core/ext/xds/xds_client.h",
1390         "src/core/ext/xds/xds_client_stats.h",
1391         "src/core/lib/security/credentials/xds/xds_credentials.h",
1392     ],
1393     external_deps = [
1394         "absl/functional:bind_front",
1395         "upb_lib",
1396         "upb_textformat_lib",
1397         "re2",
1398     ],
1399     language = "c++",
1400     deps = [
1401         "envoy_ads_upb",
1402         "envoy_ads_upbdefs",
1403         "grpc_authorization_engine",
1404         "grpc_base",
1405         "grpc_client_channel",
1406         "grpc_secure",
1407         "grpc_transport_chttp2_client_secure",
1408     ],
1409 )
1410
1411 grpc_cc_library(
1412     name = "grpc_xds_server_config_fetcher",
1413     srcs = [
1414         "src/core/ext/xds/xds_server_config_fetcher.cc",
1415     ],
1416     language = "c++",
1417     deps = [
1418         "grpc_xds_client",
1419     ],
1420 )
1421
1422 grpc_cc_library(
1423     name = "grpc_google_mesh_ca_certificate_provider_factory",
1424     srcs = [
1425         "src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc",
1426     ],
1427     hdrs = [
1428         "src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h",
1429     ],
1430     language = "c++",
1431     deps = [
1432         "grpc_base",
1433         "grpc_xds_client",
1434     ],
1435 )
1436
1437 grpc_cc_library(
1438     name = "grpc_lb_policy_cds",
1439     srcs = [
1440         "src/core/ext/filters/client_channel/lb_policy/xds/cds.cc",
1441     ],
1442     language = "c++",
1443     deps = [
1444         "grpc_base",
1445         "grpc_client_channel",
1446         "grpc_xds_client",
1447     ],
1448 )
1449
1450 grpc_cc_library(
1451     name = "grpc_lb_xds_channel_args",
1452     hdrs = [
1453         "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h",
1454     ],
1455     language = "c++",
1456 )
1457
1458 grpc_cc_library(
1459     name = "grpc_lb_xds_common",
1460     hdrs = [
1461         "src/core/ext/filters/client_channel/lb_policy/xds/xds.h",
1462     ],
1463     language = "c++",
1464     deps = [
1465         "grpc_base",
1466         "grpc_client_channel",
1467         "grpc_xds_client",
1468     ],
1469 )
1470
1471 grpc_cc_library(
1472     name = "grpc_lb_policy_xds_cluster_resolver",
1473     srcs = [
1474         "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc",
1475     ],
1476     external_deps = [
1477         "absl/strings",
1478     ],
1479     language = "c++",
1480     deps = [
1481         "grpc_base",
1482         "grpc_client_channel",
1483         "grpc_lb_address_filtering",
1484         "grpc_lb_xds_channel_args",
1485         "grpc_lb_xds_common",
1486         "grpc_resolver_fake",
1487         "grpc_xds_client",
1488     ],
1489 )
1490
1491 grpc_cc_library(
1492     name = "grpc_lb_policy_xds_cluster_impl",
1493     srcs = [
1494         "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc",
1495     ],
1496     external_deps = [
1497         "absl/strings",
1498     ],
1499     language = "c++",
1500     deps = [
1501         "grpc_base",
1502         "grpc_client_channel",
1503         "grpc_lb_xds_channel_args",
1504         "grpc_lb_xds_common",
1505         "grpc_xds_client",
1506     ],
1507 )
1508
1509 grpc_cc_library(
1510     name = "grpc_lb_policy_xds_cluster_manager",
1511     srcs = [
1512         "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc",
1513     ],
1514     external_deps = [
1515         "absl/strings",
1516     ],
1517     language = "c++",
1518     deps = [
1519         "grpc_base",
1520         "grpc_client_channel",
1521         "grpc_resolver_xds_header",
1522     ],
1523 )
1524
1525 grpc_cc_library(
1526     name = "grpc_lb_address_filtering",
1527     srcs = [
1528         "src/core/ext/filters/client_channel/lb_policy/address_filtering.cc",
1529     ],
1530     hdrs = [
1531         "src/core/ext/filters/client_channel/lb_policy/address_filtering.h",
1532     ],
1533     external_deps = [
1534         "absl/strings",
1535     ],
1536     language = "c++",
1537     deps = [
1538         "grpc_base",
1539         "grpc_client_channel",
1540     ],
1541 )
1542
1543 grpc_cc_library(
1544     name = "grpc_lb_subchannel_list",
1545     hdrs = [
1546         "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h",
1547     ],
1548     language = "c++",
1549     deps = [
1550         "grpc_base",
1551         "grpc_client_channel",
1552     ],
1553 )
1554
1555 grpc_cc_library(
1556     name = "grpc_lb_policy_pick_first",
1557     srcs = [
1558         "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
1559     ],
1560     language = "c++",
1561     deps = [
1562         "grpc_base",
1563         "grpc_client_channel",
1564         "grpc_lb_subchannel_list",
1565     ],
1566 )
1567
1568 grpc_cc_library(
1569     name = "grpc_lb_policy_round_robin",
1570     srcs = [
1571         "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
1572     ],
1573     language = "c++",
1574     deps = [
1575         "grpc_base",
1576         "grpc_client_channel",
1577         "grpc_lb_subchannel_list",
1578     ],
1579 )
1580
1581 grpc_cc_library(
1582     name = "grpc_lb_policy_priority",
1583     srcs = [
1584         "src/core/ext/filters/client_channel/lb_policy/priority/priority.cc",
1585     ],
1586     external_deps = [
1587         "absl/strings",
1588     ],
1589     language = "c++",
1590     deps = [
1591         "grpc_base",
1592         "grpc_client_channel",
1593         "grpc_lb_address_filtering",
1594     ],
1595 )
1596
1597 grpc_cc_library(
1598     name = "grpc_lb_policy_weighted_target",
1599     srcs = [
1600         "src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
1601     ],
1602     language = "c++",
1603     deps = [
1604         "grpc_base",
1605         "grpc_client_channel",
1606         "grpc_lb_address_filtering",
1607     ],
1608 )
1609
1610 grpc_cc_library(
1611     name = "lb_server_load_reporting_filter",
1612     srcs = [
1613         "src/core/ext/filters/load_reporting/server_load_reporting_filter.cc",
1614     ],
1615     hdrs = [
1616         "src/core/ext/filters/load_reporting/registered_opencensus_objects.h",
1617         "src/core/ext/filters/load_reporting/server_load_reporting_filter.h",
1618         "src/cpp/server/load_reporter/constants.h",
1619     ],
1620     external_deps = [
1621         "opencensus-stats",
1622     ],
1623     language = "c++",
1624     deps = [
1625         "grpc++_base",
1626         "grpc_secure",
1627     ],
1628     alwayslink = 1,
1629 )
1630
1631 grpc_cc_library(
1632     name = "lb_load_data_store",
1633     srcs = [
1634         "src/cpp/server/load_reporter/load_data_store.cc",
1635     ],
1636     hdrs = [
1637         "src/cpp/server/load_reporter/constants.h",
1638         "src/cpp/server/load_reporter/load_data_store.h",
1639     ],
1640     language = "c++",
1641     deps = [
1642         "grpc++",
1643     ],
1644 )
1645
1646 grpc_cc_library(
1647     name = "lb_server_load_reporting_service_server_builder_plugin",
1648     srcs = [
1649         "src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.cc",
1650     ],
1651     hdrs = [
1652         "src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.h",
1653     ],
1654     language = "c++",
1655     deps = [
1656         "lb_load_reporter_service",
1657     ],
1658 )
1659
1660 grpc_cc_library(
1661     name = "grpcpp_server_load_reporting",
1662     srcs = [
1663         "src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc",
1664         "src/cpp/server/load_reporter/util.cc",
1665     ],
1666     language = "c++",
1667     public_hdrs = [
1668         "include/grpcpp/ext/server_load_reporting.h",
1669     ],
1670     deps = [
1671         "lb_server_load_reporting_filter",
1672         "lb_server_load_reporting_service_server_builder_plugin",
1673     ],
1674 )
1675
1676 grpc_cc_library(
1677     name = "lb_load_reporter_service",
1678     srcs = [
1679         "src/cpp/server/load_reporter/load_reporter_async_service_impl.cc",
1680     ],
1681     hdrs = [
1682         "src/cpp/server/load_reporter/load_reporter_async_service_impl.h",
1683     ],
1684     language = "c++",
1685     deps = [
1686         "lb_load_reporter",
1687     ],
1688 )
1689
1690 grpc_cc_library(
1691     name = "lb_get_cpu_stats",
1692     srcs = [
1693         "src/cpp/server/load_reporter/get_cpu_stats_linux.cc",
1694         "src/cpp/server/load_reporter/get_cpu_stats_macos.cc",
1695         "src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc",
1696         "src/cpp/server/load_reporter/get_cpu_stats_windows.cc",
1697     ],
1698     hdrs = [
1699         "src/cpp/server/load_reporter/get_cpu_stats.h",
1700     ],
1701     language = "c++",
1702     deps = [
1703         "grpc++",
1704     ],
1705 )
1706
1707 grpc_cc_library(
1708     name = "lb_load_reporter",
1709     srcs = [
1710         "src/cpp/server/load_reporter/load_reporter.cc",
1711     ],
1712     hdrs = [
1713         "src/cpp/server/load_reporter/constants.h",
1714         "src/cpp/server/load_reporter/load_reporter.h",
1715     ],
1716     external_deps = [
1717         "opencensus-stats",
1718     ],
1719     language = "c++",
1720     deps = [
1721         "lb_get_cpu_stats",
1722         "lb_load_data_store",
1723         "//src/proto/grpc/lb/v1:load_reporter_proto",
1724     ],
1725 )
1726
1727 grpc_cc_library(
1728     name = "grpc_resolver_dns_selection",
1729     srcs = [
1730         "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc",
1731     ],
1732     hdrs = [
1733         "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h",
1734     ],
1735     language = "c++",
1736     deps = [
1737         "grpc_base",
1738     ],
1739 )
1740
1741 grpc_cc_library(
1742     name = "grpc_resolver_dns_native",
1743     srcs = [
1744         "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
1745     ],
1746     language = "c++",
1747     deps = [
1748         "grpc_base",
1749         "grpc_client_channel",
1750         "grpc_resolver_dns_selection",
1751     ],
1752 )
1753
1754 grpc_cc_library(
1755     name = "grpc_resolver_dns_ares",
1756     srcs = [
1757         "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc",
1758         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc",
1759         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc",
1760         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc",
1761         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc",
1762         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc",
1763         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc",
1764         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc",
1765     ],
1766     hdrs = [
1767         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h",
1768         "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h",
1769     ],
1770     external_deps = [
1771         "cares",
1772         "address_sorting",
1773     ],
1774     language = "c++",
1775     deps = [
1776         "grpc_base",
1777         "grpc_client_channel",
1778         "grpc_grpclb_balancer_addresses",
1779         "grpc_resolver_dns_selection",
1780     ],
1781 )
1782
1783 grpc_cc_library(
1784     name = "grpc_resolver_sockaddr",
1785     srcs = [
1786         "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
1787     ],
1788     language = "c++",
1789     deps = [
1790         "grpc_base",
1791         "grpc_client_channel",
1792     ],
1793 )
1794
1795 grpc_cc_library(
1796     name = "grpc_resolver_fake",
1797     srcs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc"],
1798     hdrs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"],
1799     language = "c++",
1800     visibility = ["//test:__subpackages__"],
1801     deps = [
1802         "grpc_base",
1803         "grpc_client_channel",
1804     ],
1805 )
1806
1807 grpc_cc_library(
1808     name = "grpc_resolver_xds_header",
1809     hdrs = [
1810         "src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h",
1811     ],
1812     language = "c++",
1813 )
1814
1815 grpc_cc_library(
1816     name = "grpc_resolver_xds",
1817     srcs = [
1818         "src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc",
1819     ],
1820     language = "c++",
1821     deps = [
1822         "grpc_base",
1823         "grpc_client_channel",
1824         "grpc_xds_client",
1825     ],
1826 )
1827
1828 grpc_cc_library(
1829     name = "grpc_resolver_c2p",
1830     srcs = [
1831         "src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc",
1832     ],
1833     language = "c++",
1834     deps = [
1835         "grpc_base",
1836         "grpc_client_channel",
1837         "grpc_xds_client",
1838     ],
1839 )
1840
1841 grpc_cc_library(
1842     name = "grpc_secure",
1843     srcs = [
1844         "src/core/lib/http/httpcli_security_connector.cc",
1845         "src/core/lib/security/context/security_context.cc",
1846         "src/core/lib/security/credentials/alts/alts_credentials.cc",
1847         "src/core/lib/security/credentials/composite/composite_credentials.cc",
1848         "src/core/lib/security/credentials/credentials.cc",
1849         "src/core/lib/security/credentials/credentials_metadata.cc",
1850         "src/core/lib/security/credentials/external/aws_external_account_credentials.cc",
1851         "src/core/lib/security/credentials/external/aws_request_signer.cc",
1852         "src/core/lib/security/credentials/external/external_account_credentials.cc",
1853         "src/core/lib/security/credentials/external/file_external_account_credentials.cc",
1854         "src/core/lib/security/credentials/external/url_external_account_credentials.cc",
1855         "src/core/lib/security/credentials/fake/fake_credentials.cc",
1856         "src/core/lib/security/credentials/google_default/credentials_generic.cc",
1857         "src/core/lib/security/credentials/google_default/google_default_credentials.cc",
1858         "src/core/lib/security/credentials/iam/iam_credentials.cc",
1859         "src/core/lib/security/credentials/insecure/insecure_credentials.cc",
1860         "src/core/lib/security/credentials/jwt/json_token.cc",
1861         "src/core/lib/security/credentials/jwt/jwt_credentials.cc",
1862         "src/core/lib/security/credentials/jwt/jwt_verifier.cc",
1863         "src/core/lib/security/credentials/local/local_credentials.cc",
1864         "src/core/lib/security/credentials/oauth2/oauth2_credentials.cc",
1865         "src/core/lib/security/credentials/plugin/plugin_credentials.cc",
1866         "src/core/lib/security/credentials/ssl/ssl_credentials.cc",
1867         "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc",
1868         "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc",
1869         "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc",
1870         "src/core/lib/security/credentials/tls/tls_credentials.cc",
1871         "src/core/lib/security/credentials/tls/tls_utils.cc",
1872         "src/core/lib/security/security_connector/alts/alts_security_connector.cc",
1873         "src/core/lib/security/security_connector/fake/fake_security_connector.cc",
1874         "src/core/lib/security/security_connector/insecure/insecure_security_connector.cc",
1875         "src/core/lib/security/security_connector/load_system_roots_fallback.cc",
1876         "src/core/lib/security/security_connector/load_system_roots_linux.cc",
1877         "src/core/lib/security/security_connector/local/local_security_connector.cc",
1878         "src/core/lib/security/security_connector/security_connector.cc",
1879         "src/core/lib/security/security_connector/ssl/ssl_security_connector.cc",
1880         "src/core/lib/security/security_connector/ssl_utils.cc",
1881         "src/core/lib/security/security_connector/ssl_utils_config.cc",
1882         "src/core/lib/security/security_connector/tls/tls_security_connector.cc",
1883         "src/core/lib/security/transport/client_auth_filter.cc",
1884         "src/core/lib/security/transport/secure_endpoint.cc",
1885         "src/core/lib/security/transport/security_handshaker.cc",
1886         "src/core/lib/security/transport/server_auth_filter.cc",
1887         "src/core/lib/security/transport/tsi_error.cc",
1888         "src/core/lib/security/util/json_util.cc",
1889         "src/core/lib/surface/init_secure.cc",
1890     ],
1891     hdrs = [
1892         "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1893         "src/core/ext/xds/xds_channel_args.h",
1894         "src/core/lib/security/context/security_context.h",
1895         "src/core/lib/security/credentials/alts/alts_credentials.h",
1896         "src/core/lib/security/credentials/composite/composite_credentials.h",
1897         "src/core/lib/security/credentials/credentials.h",
1898         "src/core/lib/security/credentials/external/aws_external_account_credentials.h",
1899         "src/core/lib/security/credentials/external/aws_request_signer.h",
1900         "src/core/lib/security/credentials/external/external_account_credentials.h",
1901         "src/core/lib/security/credentials/external/file_external_account_credentials.h",
1902         "src/core/lib/security/credentials/external/url_external_account_credentials.h",
1903         "src/core/lib/security/credentials/fake/fake_credentials.h",
1904         "src/core/lib/security/credentials/google_default/google_default_credentials.h",
1905         "src/core/lib/security/credentials/iam/iam_credentials.h",
1906         "src/core/lib/security/credentials/jwt/json_token.h",
1907         "src/core/lib/security/credentials/jwt/jwt_credentials.h",
1908         "src/core/lib/security/credentials/jwt/jwt_verifier.h",
1909         "src/core/lib/security/credentials/local/local_credentials.h",
1910         "src/core/lib/security/credentials/oauth2/oauth2_credentials.h",
1911         "src/core/lib/security/credentials/plugin/plugin_credentials.h",
1912         "src/core/lib/security/credentials/ssl/ssl_credentials.h",
1913         "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h",
1914         "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h",
1915         "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h",
1916         "src/core/lib/security/credentials/tls/tls_credentials.h",
1917         "src/core/lib/security/credentials/tls/tls_utils.h",
1918         "src/core/lib/security/security_connector/alts/alts_security_connector.h",
1919         "src/core/lib/security/security_connector/fake/fake_security_connector.h",
1920         "src/core/lib/security/security_connector/insecure/insecure_security_connector.h",
1921         "src/core/lib/security/security_connector/load_system_roots.h",
1922         "src/core/lib/security/security_connector/load_system_roots_linux.h",
1923         "src/core/lib/security/security_connector/local/local_security_connector.h",
1924         "src/core/lib/security/security_connector/security_connector.h",
1925         "src/core/lib/security/security_connector/ssl/ssl_security_connector.h",
1926         "src/core/lib/security/security_connector/ssl_utils.h",
1927         "src/core/lib/security/security_connector/ssl_utils_config.h",
1928         "src/core/lib/security/security_connector/tls/tls_security_connector.h",
1929         "src/core/lib/security/transport/auth_filters.h",
1930         "src/core/lib/security/transport/secure_endpoint.h",
1931         "src/core/lib/security/transport/security_handshaker.h",
1932         "src/core/lib/security/transport/tsi_error.h",
1933         "src/core/lib/security/util/json_util.h",
1934     ],
1935     language = "c++",
1936     public_hdrs = GRPC_SECURE_PUBLIC_HDRS,
1937     deps = [
1938         "alts_util",
1939         "grpc_base",
1940         "grpc_lb_xds_channel_args",
1941         "grpc_transport_chttp2_alpn",
1942         "tsi",
1943     ],
1944 )
1945
1946 grpc_cc_library(
1947     name = "grpc_mock_cel",
1948     hdrs = [
1949         "src/core/lib/security/authorization/mock_cel/activation.h",
1950         "src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h",
1951         "src/core/lib/security/authorization/mock_cel/cel_expression.h",
1952         "src/core/lib/security/authorization/mock_cel/cel_value.h",
1953         "src/core/lib/security/authorization/mock_cel/evaluator_core.h",
1954         "src/core/lib/security/authorization/mock_cel/flat_expr_builder.h",
1955     ],
1956     language = "c++",
1957     deps = [
1958         "google_api_upb",
1959         "grpc_base",
1960     ],
1961 )
1962
1963 grpc_cc_library(
1964     name = "grpc_authorization_engine",
1965     srcs = [
1966         "src/core/lib/security/authorization/authorization_engine.cc",
1967         "src/core/lib/security/authorization/evaluate_args.cc",
1968         "src/core/lib/security/authorization/matchers.cc",
1969     ],
1970     hdrs = [
1971         "src/core/lib/security/authorization/authorization_engine.h",
1972         "src/core/lib/security/authorization/evaluate_args.h",
1973         "src/core/lib/security/authorization/matchers.h",
1974     ],
1975     external_deps = [
1976         "absl/container:flat_hash_set",
1977         "re2",
1978     ],
1979     language = "c++",
1980     deps = [
1981         "envoy_ads_upb",
1982         "google_api_upb",
1983         "grpc_base",
1984         "grpc_mock_cel",
1985         "grpc_secure",
1986     ],
1987 )
1988
1989 grpc_cc_library(
1990     name = "grpc_transport_chttp2",
1991     srcs = [
1992         "src/core/ext/transport/chttp2/transport/bin_decoder.cc",
1993         "src/core/ext/transport/chttp2/transport/bin_encoder.cc",
1994         "src/core/ext/transport/chttp2/transport/chttp2_plugin.cc",
1995         "src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
1996         "src/core/ext/transport/chttp2/transport/context_list.cc",
1997         "src/core/ext/transport/chttp2/transport/flow_control.cc",
1998         "src/core/ext/transport/chttp2/transport/frame_data.cc",
1999         "src/core/ext/transport/chttp2/transport/frame_goaway.cc",
2000         "src/core/ext/transport/chttp2/transport/frame_ping.cc",
2001         "src/core/ext/transport/chttp2/transport/frame_rst_stream.cc",
2002         "src/core/ext/transport/chttp2/transport/frame_settings.cc",
2003         "src/core/ext/transport/chttp2/transport/frame_window_update.cc",
2004         "src/core/ext/transport/chttp2/transport/hpack_encoder.cc",
2005         "src/core/ext/transport/chttp2/transport/hpack_parser.cc",
2006         "src/core/ext/transport/chttp2/transport/hpack_table.cc",
2007         "src/core/ext/transport/chttp2/transport/http2_settings.cc",
2008         "src/core/ext/transport/chttp2/transport/huffsyms.cc",
2009         "src/core/ext/transport/chttp2/transport/incoming_metadata.cc",
2010         "src/core/ext/transport/chttp2/transport/parsing.cc",
2011         "src/core/ext/transport/chttp2/transport/stream_lists.cc",
2012         "src/core/ext/transport/chttp2/transport/stream_map.cc",
2013         "src/core/ext/transport/chttp2/transport/varint.cc",
2014         "src/core/ext/transport/chttp2/transport/writing.cc",
2015     ],
2016     hdrs = [
2017         "src/core/ext/transport/chttp2/transport/bin_decoder.h",
2018         "src/core/ext/transport/chttp2/transport/bin_encoder.h",
2019         "src/core/ext/transport/chttp2/transport/chttp2_transport.h",
2020         "src/core/ext/transport/chttp2/transport/context_list.h",
2021         "src/core/ext/transport/chttp2/transport/flow_control.h",
2022         "src/core/ext/transport/chttp2/transport/frame.h",
2023         "src/core/ext/transport/chttp2/transport/frame_data.h",
2024         "src/core/ext/transport/chttp2/transport/frame_goaway.h",
2025         "src/core/ext/transport/chttp2/transport/frame_ping.h",
2026         "src/core/ext/transport/chttp2/transport/frame_rst_stream.h",
2027         "src/core/ext/transport/chttp2/transport/frame_settings.h",
2028         "src/core/ext/transport/chttp2/transport/frame_window_update.h",
2029         "src/core/ext/transport/chttp2/transport/hpack_encoder.h",
2030         "src/core/ext/transport/chttp2/transport/hpack_parser.h",
2031         "src/core/ext/transport/chttp2/transport/hpack_table.h",
2032         "src/core/ext/transport/chttp2/transport/http2_settings.h",
2033         "src/core/ext/transport/chttp2/transport/huffsyms.h",
2034         "src/core/ext/transport/chttp2/transport/incoming_metadata.h",
2035         "src/core/ext/transport/chttp2/transport/internal.h",
2036         "src/core/ext/transport/chttp2/transport/stream_map.h",
2037         "src/core/ext/transport/chttp2/transport/varint.h",
2038     ],
2039     language = "c++",
2040     deps = [
2041         "gpr_base",
2042         "grpc_base",
2043         "grpc_http_filters",
2044         "grpc_transport_chttp2_alpn",
2045     ],
2046 )
2047
2048 grpc_cc_library(
2049     name = "grpc_transport_chttp2_alpn",
2050     srcs = [
2051         "src/core/ext/transport/chttp2/alpn/alpn.cc",
2052     ],
2053     hdrs = [
2054         "src/core/ext/transport/chttp2/alpn/alpn.h",
2055     ],
2056     language = "c++",
2057     deps = [
2058         "gpr",
2059     ],
2060 )
2061
2062 grpc_cc_library(
2063     name = "grpc_transport_chttp2_client_connector",
2064     srcs = [
2065         "src/core/ext/transport/chttp2/client/authority.cc",
2066         "src/core/ext/transport/chttp2/client/chttp2_connector.cc",
2067     ],
2068     hdrs = [
2069         "src/core/ext/transport/chttp2/client/authority.h",
2070         "src/core/ext/transport/chttp2/client/chttp2_connector.h",
2071     ],
2072     language = "c++",
2073     deps = [
2074         "grpc_base",
2075         "grpc_client_channel",
2076         "grpc_transport_chttp2",
2077     ],
2078 )
2079
2080 grpc_cc_library(
2081     name = "grpc_transport_chttp2_client_insecure",
2082     srcs = [
2083         "src/core/ext/transport/chttp2/client/insecure/channel_create.cc",
2084         "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc",
2085     ],
2086     language = "c++",
2087     deps = [
2088         "grpc_base",
2089         "grpc_client_channel",
2090         "grpc_transport_chttp2",
2091         "grpc_transport_chttp2_client_connector",
2092     ],
2093 )
2094
2095 grpc_cc_library(
2096     name = "grpc_transport_chttp2_client_secure",
2097     srcs = [
2098         "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc",
2099     ],
2100     language = "c++",
2101     deps = [
2102         "grpc_base",
2103         "grpc_client_channel",
2104         "grpc_secure",
2105         "grpc_transport_chttp2",
2106         "grpc_transport_chttp2_client_connector",
2107     ],
2108 )
2109
2110 grpc_cc_library(
2111     name = "grpc_transport_chttp2_server",
2112     srcs = [
2113         "src/core/ext/transport/chttp2/server/chttp2_server.cc",
2114     ],
2115     hdrs = [
2116         "src/core/ext/transport/chttp2/server/chttp2_server.h",
2117     ],
2118     language = "c++",
2119     deps = [
2120         "grpc_base",
2121         "grpc_transport_chttp2",
2122     ],
2123 )
2124
2125 grpc_cc_library(
2126     name = "grpc_transport_chttp2_server_insecure",
2127     srcs = [
2128         "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc",
2129         "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc",
2130     ],
2131     language = "c++",
2132     deps = [
2133         "grpc_base",
2134         "grpc_transport_chttp2",
2135         "grpc_transport_chttp2_server",
2136     ],
2137 )
2138
2139 grpc_cc_library(
2140     name = "grpc_transport_chttp2_server_secure",
2141     srcs = [
2142         "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc",
2143     ],
2144     language = "c++",
2145     deps = [
2146         "grpc_base",
2147         "grpc_secure",
2148         "grpc_transport_chttp2",
2149         "grpc_transport_chttp2_server",
2150     ],
2151 )
2152
2153 grpc_cc_library(
2154     name = "grpc_transport_inproc",
2155     srcs = [
2156         "src/core/ext/transport/inproc/inproc_plugin.cc",
2157         "src/core/ext/transport/inproc/inproc_transport.cc",
2158     ],
2159     hdrs = [
2160         "src/core/ext/transport/inproc/inproc_transport.h",
2161     ],
2162     language = "c++",
2163     deps = [
2164         "grpc_base",
2165     ],
2166 )
2167
2168 grpc_cc_library(
2169     name = "tsi_interface",
2170     srcs = [
2171         "src/core/tsi/transport_security.cc",
2172     ],
2173     hdrs = [
2174         "src/core/tsi/transport_security.h",
2175         "src/core/tsi/transport_security_interface.h",
2176     ],
2177     language = "c++",
2178     deps = [
2179         "gpr",
2180         "grpc_trace",
2181     ],
2182 )
2183
2184 grpc_cc_library(
2185     name = "alts_frame_protector",
2186     srcs = [
2187         "src/core/tsi/alts/crypt/aes_gcm.cc",
2188         "src/core/tsi/alts/crypt/gsec.cc",
2189         "src/core/tsi/alts/frame_protector/alts_counter.cc",
2190         "src/core/tsi/alts/frame_protector/alts_crypter.cc",
2191         "src/core/tsi/alts/frame_protector/alts_frame_protector.cc",
2192         "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc",
2193         "src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc",
2194         "src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc",
2195         "src/core/tsi/alts/frame_protector/frame_handler.cc",
2196         "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc",
2197         "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc",
2198         "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc",
2199         "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc",
2200         "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc",
2201     ],
2202     hdrs = [
2203         "src/core/tsi/alts/crypt/gsec.h",
2204         "src/core/tsi/alts/frame_protector/alts_counter.h",
2205         "src/core/tsi/alts/frame_protector/alts_crypter.h",
2206         "src/core/tsi/alts/frame_protector/alts_frame_protector.h",
2207         "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h",
2208         "src/core/tsi/alts/frame_protector/frame_handler.h",
2209         "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h",
2210         "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h",
2211         "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h",
2212         "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h",
2213         "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h",
2214         "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h",
2215         "src/core/tsi/transport_security_grpc.h",
2216     ],
2217     external_deps = [
2218         "libssl",
2219     ],
2220     language = "c++",
2221     deps = [
2222         "gpr",
2223         "grpc_base",
2224         "tsi_interface",
2225     ],
2226 )
2227
2228 grpc_cc_library(
2229     name = "alts_util",
2230     srcs = [
2231         "src/core/lib/security/credentials/alts/check_gcp_environment.cc",
2232         "src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
2233         "src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
2234         "src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
2235         "src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
2236         "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
2237         "src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
2238         "src/core/tsi/alts/handshaker/transport_security_common_api.cc",
2239     ],
2240     hdrs = [
2241         "src/core/lib/security/credentials/alts/check_gcp_environment.h",
2242         "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h",
2243         "src/core/tsi/alts/handshaker/transport_security_common_api.h",
2244     ],
2245     language = "c++",
2246     public_hdrs = GRPC_SECURE_PUBLIC_HDRS,
2247     deps = [
2248         "alts_upb",
2249         "gpr",
2250         "grpc_base",
2251     ],
2252 )
2253
2254 grpc_cc_library(
2255     name = "tsi",
2256     srcs = [
2257         "src/core/tsi/alts/handshaker/alts_handshaker_client.cc",
2258         "src/core/tsi/alts/handshaker/alts_shared_resource.cc",
2259         "src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc",
2260         "src/core/tsi/alts/handshaker/alts_tsi_utils.cc",
2261         "src/core/tsi/fake_transport_security.cc",
2262         "src/core/tsi/local_transport_security.cc",
2263         "src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc",
2264         "src/core/tsi/ssl/session_cache/ssl_session_cache.cc",
2265         "src/core/tsi/ssl/session_cache/ssl_session_openssl.cc",
2266         "src/core/tsi/ssl_transport_security.cc",
2267         "src/core/tsi/transport_security_grpc.cc",
2268     ],
2269     hdrs = [
2270         "src/core/tsi/alts/handshaker/alts_handshaker_client.h",
2271         "src/core/tsi/alts/handshaker/alts_shared_resource.h",
2272         "src/core/tsi/alts/handshaker/alts_tsi_handshaker.h",
2273         "src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h",
2274         "src/core/tsi/alts/handshaker/alts_tsi_utils.h",
2275         "src/core/tsi/fake_transport_security.h",
2276         "src/core/tsi/local_transport_security.h",
2277         "src/core/tsi/ssl/session_cache/ssl_session.h",
2278         "src/core/tsi/ssl/session_cache/ssl_session_cache.h",
2279         "src/core/tsi/ssl_transport_security.h",
2280         "src/core/tsi/ssl_types.h",
2281         "src/core/tsi/transport_security_grpc.h",
2282     ],
2283     external_deps = [
2284         "libssl",
2285     ],
2286     language = "c++",
2287     deps = [
2288         "alts_frame_protector",
2289         "alts_util",
2290         "gpr",
2291         "grpc_base",
2292         "grpc_transport_chttp2_client_insecure",
2293         "tsi_interface",
2294     ],
2295 )
2296
2297 grpc_cc_library(
2298     name = "grpc++_base",
2299     srcs = GRPCXX_SRCS,
2300     hdrs = GRPCXX_HDRS,
2301     external_deps = [
2302         "protobuf_headers",
2303     ],
2304     language = "c++",
2305     public_hdrs = GRPCXX_PUBLIC_HDRS,
2306     deps = [
2307         "grpc",
2308         "grpc++_codegen_base",
2309         "grpc++_codegen_base_src",
2310         "grpc_health_upb",
2311     ],
2312 )
2313
2314 grpc_cc_library(
2315     name = "grpc++_base_unsecure",
2316     srcs = GRPCXX_SRCS,
2317     hdrs = GRPCXX_HDRS,
2318     external_deps = [
2319         "protobuf_headers",
2320     ],
2321     language = "c++",
2322     public_hdrs = GRPCXX_PUBLIC_HDRS,
2323     deps = [
2324         "grpc++_codegen_base",
2325         "grpc++_codegen_base_src",
2326         "grpc_health_upb",
2327         "grpc_unsecure",
2328     ],
2329 )
2330
2331 grpc_cc_library(
2332     name = "grpc++_codegen_base",
2333     language = "c++",
2334     public_hdrs = [
2335         "include/grpc++/impl/codegen/async_stream.h",
2336         "include/grpc++/impl/codegen/async_unary_call.h",
2337         "include/grpc++/impl/codegen/byte_buffer.h",
2338         "include/grpc++/impl/codegen/call.h",
2339         "include/grpc++/impl/codegen/call_hook.h",
2340         "include/grpc++/impl/codegen/channel_interface.h",
2341         "include/grpc++/impl/codegen/client_context.h",
2342         "include/grpc++/impl/codegen/client_unary_call.h",
2343         "include/grpc++/impl/codegen/completion_queue.h",
2344         "include/grpc++/impl/codegen/completion_queue_tag.h",
2345         "include/grpc++/impl/codegen/config.h",
2346         "include/grpc++/impl/codegen/core_codegen_interface.h",
2347         "include/grpc++/impl/codegen/create_auth_context.h",
2348         "include/grpc++/impl/codegen/grpc_library.h",
2349         "include/grpc++/impl/codegen/metadata_map.h",
2350         "include/grpc++/impl/codegen/method_handler_impl.h",
2351         "include/grpc++/impl/codegen/rpc_method.h",
2352         "include/grpc++/impl/codegen/rpc_service_method.h",
2353         "include/grpc++/impl/codegen/security/auth_context.h",
2354         "include/grpc++/impl/codegen/serialization_traits.h",
2355         "include/grpc++/impl/codegen/server_context.h",
2356         "include/grpc++/impl/codegen/server_interface.h",
2357         "include/grpc++/impl/codegen/service_type.h",
2358         "include/grpc++/impl/codegen/slice.h",
2359         "include/grpc++/impl/codegen/status.h",
2360         "include/grpc++/impl/codegen/status_code_enum.h",
2361         "include/grpc++/impl/codegen/string_ref.h",
2362         "include/grpc++/impl/codegen/stub_options.h",
2363         "include/grpc++/impl/codegen/sync_stream.h",
2364         "include/grpc++/impl/codegen/time.h",
2365         "include/grpcpp/impl/codegen/async_generic_service.h",
2366         "include/grpcpp/impl/codegen/async_stream.h",
2367         "include/grpcpp/impl/codegen/async_unary_call.h",
2368         "include/grpcpp/impl/codegen/byte_buffer.h",
2369         "include/grpcpp/impl/codegen/call.h",
2370         "include/grpcpp/impl/codegen/call_hook.h",
2371         "include/grpcpp/impl/codegen/call_op_set.h",
2372         "include/grpcpp/impl/codegen/call_op_set_interface.h",
2373         "include/grpcpp/impl/codegen/callback_common.h",
2374         "include/grpcpp/impl/codegen/channel_interface.h",
2375         "include/grpcpp/impl/codegen/client_callback.h",
2376         "include/grpcpp/impl/codegen/client_context.h",
2377         "include/grpcpp/impl/codegen/client_interceptor.h",
2378         "include/grpcpp/impl/codegen/client_unary_call.h",
2379         "include/grpcpp/impl/codegen/completion_queue.h",
2380         "include/grpcpp/impl/codegen/completion_queue_tag.h",
2381         "include/grpcpp/impl/codegen/config.h",
2382         "include/grpcpp/impl/codegen/core_codegen_interface.h",
2383         "include/grpcpp/impl/codegen/create_auth_context.h",
2384         "include/grpcpp/impl/codegen/delegating_channel.h",
2385         "include/grpcpp/impl/codegen/grpc_library.h",
2386         "include/grpcpp/impl/codegen/intercepted_channel.h",
2387         "include/grpcpp/impl/codegen/interceptor.h",
2388         "include/grpcpp/impl/codegen/interceptor_common.h",
2389         "include/grpcpp/impl/codegen/message_allocator.h",
2390         "include/grpcpp/impl/codegen/metadata_map.h",
2391         "include/grpcpp/impl/codegen/method_handler.h",
2392         "include/grpcpp/impl/codegen/rpc_method.h",
2393         "include/grpcpp/impl/codegen/rpc_service_method.h",
2394         "include/grpcpp/impl/codegen/security/auth_context.h",
2395         "include/grpcpp/impl/codegen/serialization_traits.h",
2396         "include/grpcpp/impl/codegen/server_callback.h",
2397         "include/grpcpp/impl/codegen/server_callback_handlers.h",
2398         "include/grpcpp/impl/codegen/server_context.h",
2399         "include/grpcpp/impl/codegen/server_interceptor.h",
2400         "include/grpcpp/impl/codegen/server_interface.h",
2401         "include/grpcpp/impl/codegen/service_type.h",
2402         "include/grpcpp/impl/codegen/slice.h",
2403         "include/grpcpp/impl/codegen/status.h",
2404         "include/grpcpp/impl/codegen/status_code_enum.h",
2405         "include/grpcpp/impl/codegen/string_ref.h",
2406         "include/grpcpp/impl/codegen/stub_options.h",
2407         "include/grpcpp/impl/codegen/sync_stream.h",
2408         "include/grpcpp/impl/codegen/time.h",
2409     ],
2410     deps = [
2411         "grpc++_internal_hdrs_only",
2412         "grpc_codegen",
2413     ],
2414 )
2415
2416 grpc_cc_library(
2417     name = "grpc++_codegen_base_src",
2418     srcs = [
2419         "src/cpp/codegen/codegen_init.cc",
2420     ],
2421     language = "c++",
2422     deps = [
2423         "grpc++_codegen_base",
2424     ],
2425 )
2426
2427 grpc_cc_library(
2428     name = "grpc++_codegen_proto",
2429     external_deps = [
2430         "protobuf_headers",
2431     ],
2432     language = "c++",
2433     public_hdrs = [
2434         "include/grpc++/impl/codegen/proto_utils.h",
2435         "include/grpcpp/impl/codegen/proto_buffer_reader.h",
2436         "include/grpcpp/impl/codegen/proto_buffer_writer.h",
2437         "include/grpcpp/impl/codegen/proto_utils.h",
2438     ],
2439     deps = [
2440         "grpc++_codegen_base",
2441         "grpc++_config_proto",
2442     ],
2443 )
2444
2445 grpc_cc_library(
2446     name = "grpc++_config_proto",
2447     external_deps = [
2448         "protobuf_headers",
2449     ],
2450     language = "c++",
2451     public_hdrs = [
2452         "include/grpc++/impl/codegen/config_protobuf.h",
2453         "include/grpcpp/impl/codegen/config_protobuf.h",
2454     ],
2455 )
2456
2457 grpc_cc_library(
2458     name = "grpc++_reflection",
2459     srcs = [
2460         "src/cpp/ext/proto_server_reflection.cc",
2461         "src/cpp/ext/proto_server_reflection_plugin.cc",
2462     ],
2463     hdrs = [
2464         "src/cpp/ext/proto_server_reflection.h",
2465     ],
2466     language = "c++",
2467     public_hdrs = [
2468         "include/grpc++/ext/proto_server_reflection_plugin.h",
2469         "include/grpcpp/ext/proto_server_reflection_plugin.h",
2470     ],
2471     deps = [
2472         ":grpc++",
2473         "//src/proto/grpc/reflection/v1alpha:reflection_proto",
2474     ],
2475     alwayslink = 1,
2476 )
2477
2478 grpc_cc_library(
2479     name = "grpcpp_channelz",
2480     srcs = [
2481         "src/cpp/server/channelz/channelz_service.cc",
2482         "src/cpp/server/channelz/channelz_service_plugin.cc",
2483     ],
2484     hdrs = [
2485         "src/cpp/server/channelz/channelz_service.h",
2486     ],
2487     language = "c++",
2488     public_hdrs = [
2489         "include/grpcpp/ext/channelz_service_plugin.h",
2490     ],
2491     deps = [
2492         ":grpc++",
2493         "//src/proto/grpc/channelz:channelz_proto",
2494     ],
2495     alwayslink = 1,
2496 )
2497
2498 grpc_cc_library(
2499     name = "grpc++_test",
2500     srcs = [
2501         "src/cpp/client/channel_test_peer.cc",
2502     ],
2503     external_deps = [
2504         "gtest",
2505     ],
2506     public_hdrs = [
2507         "include/grpc++/test/mock_stream.h",
2508         "include/grpc++/test/server_context_test_spouse.h",
2509         "include/grpcpp/test/channel_test_peer.h",
2510         "include/grpcpp/test/default_reactor_test_peer.h",
2511         "include/grpcpp/test/mock_stream.h",
2512         "include/grpcpp/test/server_context_test_spouse.h",
2513     ],
2514     deps = [
2515         ":grpc++",
2516     ],
2517 )
2518
2519 grpc_cc_library(
2520     name = "grpc_server_backward_compatibility",
2521     srcs = [
2522         "src/core/ext/filters/workarounds/workaround_utils.cc",
2523     ],
2524     hdrs = [
2525         "src/core/ext/filters/workarounds/workaround_utils.h",
2526     ],
2527     language = "c++",
2528     deps = [
2529         "grpc_base",
2530     ],
2531 )
2532
2533 grpc_cc_library(
2534     name = "grpc++_core_stats",
2535     srcs = [
2536         "src/cpp/util/core_stats.cc",
2537     ],
2538     hdrs = [
2539         "src/cpp/util/core_stats.h",
2540     ],
2541     language = "c++",
2542     deps = [
2543         ":grpc++",
2544         "//src/proto/grpc/core:stats_proto",
2545     ],
2546 )
2547
2548 grpc_cc_library(
2549     name = "grpc_opencensus_plugin",
2550     srcs = [
2551         "src/cpp/ext/filters/census/channel_filter.cc",
2552         "src/cpp/ext/filters/census/client_filter.cc",
2553         "src/cpp/ext/filters/census/context.cc",
2554         "src/cpp/ext/filters/census/grpc_plugin.cc",
2555         "src/cpp/ext/filters/census/measures.cc",
2556         "src/cpp/ext/filters/census/rpc_encoding.cc",
2557         "src/cpp/ext/filters/census/server_filter.cc",
2558         "src/cpp/ext/filters/census/views.cc",
2559     ],
2560     hdrs = [
2561         "include/grpcpp/opencensus.h",
2562         "src/cpp/ext/filters/census/channel_filter.h",
2563         "src/cpp/ext/filters/census/client_filter.h",
2564         "src/cpp/ext/filters/census/context.h",
2565         "src/cpp/ext/filters/census/grpc_plugin.h",
2566         "src/cpp/ext/filters/census/measures.h",
2567         "src/cpp/ext/filters/census/rpc_encoding.h",
2568         "src/cpp/ext/filters/census/server_filter.h",
2569     ],
2570     external_deps = [
2571         "absl-base",
2572         "absl-time",
2573         "opencensus-trace",
2574         "opencensus-trace-context_util",
2575         "opencensus-stats",
2576         "opencensus-context",
2577     ],
2578     language = "c++",
2579     deps = [
2580         ":census",
2581         ":grpc++",
2582     ],
2583 )
2584
2585 # Once upb code-gen issue is resolved, use the targets commented below to replace the ones using
2586 # upb-generated files.
2587
2588 # grpc_upb_proto_library(
2589 #     name = "upb_load_report",
2590 #     deps = ["@envoy_api//envoy/api/v2/endpoint:load_report_export"],
2591 # )
2592 #
2593 # grpc_upb_proto_library(
2594 #     name = "upb_lrs",
2595 #     deps = ["@envoy_api//envoy/service/load_stats/v2:lrs_export"],
2596 # )
2597 #
2598 # grpc_upb_proto_library(
2599 #     name = "upb_cds",
2600 #     deps = ["@envoy_api//envoy/api/v2:cds_export"],
2601 # )
2602
2603 # grpc_cc_library(
2604 #    name = "envoy_lrs_upb",
2605 #    external_deps = [
2606 #        "upb_lib",
2607 #    ],
2608 #    language = "c++",
2609 #    tags = ["no_windows"],
2610 #    deps = [
2611 #        ":upb_load_report",
2612 #        ":upb_lrs",
2613 #    ],
2614 # )
2615
2616 # grpc_cc_library(
2617 #    name = "envoy_ads_upb",
2618 #    external_deps = [
2619 #        "upb_lib",
2620 #    ],
2621 #    language = "c++",
2622 #    tags = ["no_windows"],
2623 #    deps = [
2624 #        ":upb_cds",
2625 #    ],
2626 # )
2627
2628 grpc_cc_library(
2629     name = "envoy_ads_upb",
2630     srcs = [
2631         "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c",
2632         "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c",
2633         "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c",
2634         "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c",
2635         "src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c",
2636         "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c",
2637         "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c",
2638         "src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c",
2639         "src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c",
2640         "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c",
2641         "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c",
2642         "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c",
2643         "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c",
2644         "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c",
2645         "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c",
2646         "src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c",
2647         "src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c",
2648         "src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c",
2649         "src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c",
2650         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c",
2651         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c",
2652         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c",
2653         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c",
2654         "src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c",
2655         "src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c",
2656         "src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c",
2657         "src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c",
2658         "src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c",
2659         "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c",
2660         "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c",
2661         "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c",
2662     ],
2663     hdrs = [
2664         "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h",
2665         "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h",
2666         "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h",
2667         "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h",
2668         "src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h",
2669         "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h",
2670         "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h",
2671         "src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h",
2672         "src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h",
2673         "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h",
2674         "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h",
2675         "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h",
2676         "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h",
2677         "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h",
2678         "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h",
2679         "src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h",
2680         "src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h",
2681         "src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h",
2682         "src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h",
2683         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h",
2684         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h",
2685         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h",
2686         "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h",
2687         "src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h",
2688         "src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h",
2689         "src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h",
2690         "src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h",
2691         "src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h",
2692         "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h",
2693         "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h",
2694         "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h",
2695     ],
2696     external_deps = [
2697         "upb_lib",
2698         "upb_lib_descriptor",
2699     ],
2700     language = "c++",
2701     deps = [
2702         ":envoy_annotations_upb",
2703         ":envoy_core_upb",
2704         ":envoy_type_upb",
2705         ":google_api_upb",
2706         ":proto_gen_validate_upb",
2707         ":udpa_annotations_upb",
2708         ":xds_core_upb",
2709     ],
2710 )
2711
2712 grpc_cc_library(
2713     name = "envoy_ads_upbdefs",
2714     srcs = [
2715         "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c",
2716         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c",
2717         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c",
2718         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c",
2719         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c",
2720         "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c",
2721         "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c",
2722         "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c",
2723         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c",
2724         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c",
2725         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c",
2726         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c",
2727         "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c",
2728         "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c",
2729         "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c",
2730         "src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c",
2731         "src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c",
2732         "src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c",
2733         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c",
2734         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c",
2735         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c",
2736         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c",
2737         "src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c",
2738         "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c",
2739         "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c",
2740         "src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c",
2741         "src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c",
2742         "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c",
2743         "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c",
2744         "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c",
2745     ],
2746     hdrs = [
2747         "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h",
2748         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h",
2749         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h",
2750         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h",
2751         "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h",
2752         "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h",
2753         "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h",
2754         "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h",
2755         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h",
2756         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h",
2757         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h",
2758         "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h",
2759         "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h",
2760         "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h",
2761         "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h",
2762         "src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h",
2763         "src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h",
2764         "src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h",
2765         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h",
2766         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h",
2767         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h",
2768         "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h",
2769         "src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h",
2770         "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h",
2771         "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h",
2772         "src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h",
2773         "src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h",
2774         "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h",
2775         "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h",
2776         "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h",
2777     ],
2778     external_deps = [
2779         "upb_lib",
2780         "upb_lib_descriptor_reflection",
2781         "upb_textformat_lib",
2782     ],
2783     language = "c++",
2784     deps = [
2785         ":envoy_ads_upb",
2786         ":envoy_annotations_upbdefs",
2787         ":envoy_core_upbdefs",
2788         ":envoy_type_upbdefs",
2789         ":google_api_upbdefs",
2790         ":proto_gen_validate_upbdefs",
2791         ":udpa_annotations_upbdefs",
2792         ":xds_core_upbdefs",
2793     ],
2794 )
2795
2796 grpc_cc_library(
2797     name = "envoy_annotations_upb",
2798     srcs = [
2799         "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c",
2800         "src/core/ext/upb-generated/envoy/annotations/resource.upb.c",
2801     ],
2802     hdrs = [
2803         "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h",
2804         "src/core/ext/upb-generated/envoy/annotations/resource.upb.h",
2805     ],
2806     external_deps = [
2807         "upb_lib",
2808         "upb_lib_descriptor",
2809     ],
2810     language = "c++",
2811     deps = [
2812         ":google_api_upb",
2813     ],
2814 )
2815
2816 grpc_cc_library(
2817     name = "envoy_annotations_upbdefs",
2818     srcs = [
2819         "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c",
2820         "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c",
2821     ],
2822     hdrs = [
2823         "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h",
2824         "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h",
2825     ],
2826     external_deps = [
2827         "upb_lib",
2828         "upb_lib_descriptor_reflection",
2829         "upb_textformat_lib",
2830     ],
2831     language = "c++",
2832     deps = [
2833         ":envoy_annotations_upb",
2834         ":google_api_upbdefs",
2835     ],
2836 )
2837
2838 grpc_cc_library(
2839     name = "envoy_core_upb",
2840     srcs = [
2841         "src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c",
2842         "src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c",
2843         "src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c",
2844         "src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c",
2845         "src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c",
2846         "src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c",
2847         "src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c",
2848         "src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c",
2849         "src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c",
2850         "src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c",
2851         "src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c",
2852         "src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c",
2853         "src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c",
2854     ],
2855     hdrs = [
2856         "src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h",
2857         "src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h",
2858         "src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h",
2859         "src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h",
2860         "src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h",
2861         "src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h",
2862         "src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h",
2863         "src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h",
2864         "src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h",
2865         "src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h",
2866         "src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h",
2867         "src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h",
2868         "src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h",
2869     ],
2870     external_deps = [
2871         "upb_lib",
2872         "upb_lib_descriptor",
2873     ],
2874     language = "c++",
2875     deps = [
2876         ":envoy_annotations_upb",
2877         ":envoy_type_upb",
2878         ":google_api_upb",
2879         ":proto_gen_validate_upb",
2880         ":udpa_annotations_upb",
2881         ":xds_core_upb",
2882     ],
2883 )
2884
2885 grpc_cc_library(
2886     name = "envoy_core_upbdefs",
2887     srcs = [
2888         "src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c",
2889         "src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c",
2890         "src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c",
2891         "src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c",
2892         "src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c",
2893         "src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c",
2894         "src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c",
2895         "src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c",
2896         "src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c",
2897         "src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c",
2898         "src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c",
2899         "src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c",
2900         "src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c",
2901     ],
2902     hdrs = [
2903         "src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h",
2904         "src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h",
2905         "src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h",
2906         "src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h",
2907         "src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h",
2908         "src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h",
2909         "src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h",
2910         "src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h",
2911         "src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h",
2912         "src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h",
2913         "src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h",
2914         "src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h",
2915         "src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h",
2916     ],
2917     external_deps = [
2918         "upb_lib",
2919         "upb_lib_descriptor_reflection",
2920         "upb_textformat_lib",
2921     ],
2922     language = "c++",
2923     deps = [
2924         ":envoy_core_upb",
2925         ":envoy_type_upbdefs",
2926         ":google_api_upbdefs",
2927         ":proto_gen_validate_upbdefs",
2928     ],
2929 )
2930
2931 grpc_cc_library(
2932     name = "envoy_type_upb",
2933     srcs = [
2934         "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c",
2935         "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c",
2936         "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c",
2937         "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c",
2938         "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c",
2939         "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c",
2940         "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c",
2941         "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c",
2942         "src/core/ext/upb-generated/envoy/type/v3/http.upb.c",
2943         "src/core/ext/upb-generated/envoy/type/v3/percent.upb.c",
2944         "src/core/ext/upb-generated/envoy/type/v3/range.upb.c",
2945         "src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c",
2946     ],
2947     hdrs = [
2948         "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h",
2949         "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h",
2950         "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h",
2951         "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h",
2952         "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h",
2953         "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h",
2954         "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h",
2955         "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h",
2956         "src/core/ext/upb-generated/envoy/type/v3/http.upb.h",
2957         "src/core/ext/upb-generated/envoy/type/v3/percent.upb.h",
2958         "src/core/ext/upb-generated/envoy/type/v3/range.upb.h",
2959         "src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h",
2960     ],
2961     external_deps = [
2962         "upb_lib",
2963         "upb_lib_descriptor",
2964     ],
2965     language = "c++",
2966     deps = [
2967         ":envoy_annotations_upb",
2968         ":google_api_upb",
2969         ":proto_gen_validate_upb",
2970         ":udpa_annotations_upb",
2971     ],
2972 )
2973
2974 grpc_cc_library(
2975     name = "envoy_type_upbdefs",
2976     srcs = [
2977         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c",
2978         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c",
2979         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c",
2980         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c",
2981         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c",
2982         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c",
2983         "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c",
2984         "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c",
2985         "src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c",
2986         "src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c",
2987         "src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c",
2988         "src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c",
2989     ],
2990     hdrs = [
2991         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h",
2992         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h",
2993         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h",
2994         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h",
2995         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h",
2996         "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h",
2997         "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h",
2998         "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h",
2999         "src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h",
3000         "src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h",
3001         "src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h",
3002         "src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h",
3003     ],
3004     external_deps = [
3005         "upb_lib",
3006         "upb_lib_descriptor_reflection",
3007         "upb_textformat_lib",
3008     ],
3009     language = "c++",
3010     deps = [
3011         ":envoy_type_upb",
3012         ":google_api_upbdefs",
3013         ":proto_gen_validate_upbdefs",
3014     ],
3015 )
3016
3017 grpc_cc_library(
3018     name = "proto_gen_validate_upb",
3019     srcs = [
3020         "src/core/ext/upb-generated/validate/validate.upb.c",
3021     ],
3022     hdrs = [
3023         "src/core/ext/upb-generated/validate/validate.upb.h",
3024     ],
3025     external_deps = [
3026         "upb_lib",
3027         "upb_lib_descriptor",
3028     ],
3029     language = "c++",
3030     deps = [
3031         ":google_api_upb",
3032     ],
3033 )
3034
3035 grpc_cc_library(
3036     name = "proto_gen_validate_upbdefs",
3037     srcs = [
3038         "src/core/ext/upbdefs-generated/validate/validate.upbdefs.c",
3039     ],
3040     hdrs = [
3041         "src/core/ext/upbdefs-generated/validate/validate.upbdefs.h",
3042     ],
3043     external_deps = [
3044         "upb_lib",
3045         "upb_lib_descriptor_reflection",
3046         "upb_textformat_lib",
3047     ],
3048     language = "c++",
3049     deps = [
3050         ":google_api_upbdefs",
3051         ":proto_gen_validate_upb",
3052     ],
3053 )
3054
3055 # Once upb code-gen issue is resolved, replace udpa_orca_upb with this.
3056 # grpc_upb_proto_library(
3057 #     name = "udpa_orca_upb",
3058 #     deps = ["@envoy_api//udpa/data/orca/v1:orca_load_report"]
3059 # )
3060
3061 grpc_cc_library(
3062     name = "udpa_orca_upb",
3063     srcs = [
3064         "src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c",
3065     ],
3066     hdrs = [
3067         "src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h",
3068     ],
3069     external_deps = [
3070         "upb_lib",
3071         "upb_lib_descriptor",
3072     ],
3073     language = "c++",
3074     deps = [
3075         ":proto_gen_validate_upb",
3076     ],
3077 )
3078
3079 grpc_cc_library(
3080     name = "udpa_annotations_upb",
3081     srcs = [
3082         "src/core/ext/upb-generated/udpa/annotations/migrate.upb.c",
3083         "src/core/ext/upb-generated/udpa/annotations/security.upb.c",
3084         "src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c",
3085         "src/core/ext/upb-generated/udpa/annotations/status.upb.c",
3086         "src/core/ext/upb-generated/udpa/annotations/versioning.upb.c",
3087     ],
3088     hdrs = [
3089         "src/core/ext/upb-generated/udpa/annotations/migrate.upb.h",
3090         "src/core/ext/upb-generated/udpa/annotations/security.upb.h",
3091         "src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h",
3092         "src/core/ext/upb-generated/udpa/annotations/status.upb.h",
3093         "src/core/ext/upb-generated/udpa/annotations/versioning.upb.h",
3094     ],
3095     external_deps = [
3096         "upb_lib",
3097         "upb_lib_descriptor",
3098     ],
3099     language = "c++",
3100     deps = [
3101         ":google_api_upb",
3102         ":proto_gen_validate_upb",
3103     ],
3104 )
3105
3106 grpc_cc_library(
3107     name = "udpa_annotations_upbdefs",
3108     srcs = [
3109         "src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c",
3110         "src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c",
3111         "src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c",
3112         "src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c",
3113         "src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c",
3114     ],
3115     hdrs = [
3116         "src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h",
3117         "src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h",
3118         "src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h",
3119         "src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h",
3120         "src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h",
3121     ],
3122     external_deps = [
3123         "upb_lib",
3124         "upb_lib_descriptor_reflection",
3125         "upb_textformat_lib",
3126     ],
3127     language = "c++",
3128     deps = [
3129         ":google_api_upbdefs",
3130         ":udpa_annotations_upb",
3131     ],
3132 )
3133
3134 grpc_cc_library(
3135     name = "xds_core_upb",
3136     srcs = [
3137         "src/core/ext/upb-generated/xds/core/v3/authority.upb.c",
3138         "src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c",
3139         "src/core/ext/upb-generated/xds/core/v3/context_params.upb.c",
3140         "src/core/ext/upb-generated/xds/core/v3/resource.upb.c",
3141         "src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c",
3142         "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c",
3143     ],
3144     hdrs = [
3145         "src/core/ext/upb-generated/xds/core/v3/authority.upb.h",
3146         "src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h",
3147         "src/core/ext/upb-generated/xds/core/v3/context_params.upb.h",
3148         "src/core/ext/upb-generated/xds/core/v3/resource.upb.h",
3149         "src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h",
3150         "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h",
3151     ],
3152     external_deps = [
3153         "upb_lib",
3154         "upb_lib_descriptor",
3155     ],
3156     language = "c++",
3157     deps = [
3158         ":google_api_upb",
3159         ":proto_gen_validate_upb",
3160         ":udpa_annotations_upb",
3161     ],
3162 )
3163
3164 grpc_cc_library(
3165     name = "xds_core_upbdefs",
3166     srcs = [
3167         "src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c",
3168         "src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c",
3169         "src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c",
3170         "src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c",
3171         "src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c",
3172         "src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c",
3173     ],
3174     hdrs = [
3175         "src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h",
3176         "src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h",
3177         "src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h",
3178         "src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h",
3179         "src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h",
3180         "src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h",
3181     ],
3182     external_deps = [
3183         "upb_lib",
3184         "upb_lib_descriptor_reflection",
3185         "upb_textformat_lib",
3186     ],
3187     language = "c++",
3188     deps = [
3189         ":google_api_upbdefs",
3190         ":proto_gen_validate_upbdefs",
3191         ":udpa_annotations_upbdefs",
3192         ":xds_core_upb",
3193     ],
3194 )
3195
3196 # Once upb code-gen issue is resolved, replace grpc_health_upb with this.
3197 # grpc_upb_proto_library(
3198 #     name = "grpc_health_upb",
3199 #     deps = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
3200 # )
3201
3202 grpc_cc_library(
3203     name = "grpc_health_upb",
3204     srcs = [
3205         "src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c",
3206     ],
3207     hdrs = [
3208         "src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h",
3209     ],
3210     external_deps = [
3211         "upb_lib",
3212         "upb_lib_descriptor",
3213     ],
3214     language = "c++",
3215 )
3216
3217 # Once upb code-gen issue is resolved, remove this.
3218 grpc_cc_library(
3219     name = "google_api_upb",
3220     srcs = [
3221         "src/core/ext/upb-generated/google/api/annotations.upb.c",
3222         "src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c",
3223         "src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c",
3224         "src/core/ext/upb-generated/google/api/http.upb.c",
3225         "src/core/ext/upb-generated/google/protobuf/any.upb.c",
3226         "src/core/ext/upb-generated/google/protobuf/duration.upb.c",
3227         "src/core/ext/upb-generated/google/protobuf/empty.upb.c",
3228         "src/core/ext/upb-generated/google/protobuf/struct.upb.c",
3229         "src/core/ext/upb-generated/google/protobuf/timestamp.upb.c",
3230         "src/core/ext/upb-generated/google/protobuf/wrappers.upb.c",
3231         "src/core/ext/upb-generated/google/rpc/status.upb.c",
3232     ],
3233     hdrs = [
3234         "src/core/ext/upb-generated/google/api/annotations.upb.h",
3235         "src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h",
3236         "src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h",
3237         "src/core/ext/upb-generated/google/api/http.upb.h",
3238         "src/core/ext/upb-generated/google/protobuf/any.upb.h",
3239         "src/core/ext/upb-generated/google/protobuf/duration.upb.h",
3240         "src/core/ext/upb-generated/google/protobuf/empty.upb.h",
3241         "src/core/ext/upb-generated/google/protobuf/struct.upb.h",
3242         "src/core/ext/upb-generated/google/protobuf/timestamp.upb.h",
3243         "src/core/ext/upb-generated/google/protobuf/wrappers.upb.h",
3244         "src/core/ext/upb-generated/google/rpc/status.upb.h",
3245     ],
3246     external_deps = [
3247         "upb_lib",
3248         "upb_lib_descriptor",
3249     ],
3250     language = "c++",
3251 )
3252
3253 grpc_cc_library(
3254     name = "google_api_upbdefs",
3255     srcs = [
3256         "src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c",
3257         "src/core/ext/upbdefs-generated/google/api/http.upbdefs.c",
3258         "src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c",
3259         "src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c",
3260         "src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c",
3261         "src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c",
3262         "src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c",
3263         "src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c",
3264         "src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c",
3265     ],
3266     hdrs = [
3267         "src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h",
3268         "src/core/ext/upbdefs-generated/google/api/http.upbdefs.h",
3269         "src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h",
3270         "src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h",
3271         "src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h",
3272         "src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h",
3273         "src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h",
3274         "src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h",
3275         "src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h",
3276     ],
3277     external_deps = [
3278         "upb_lib",
3279         "upb_lib_descriptor_reflection",
3280         "upb_textformat_lib",
3281     ],
3282     language = "c++",
3283     deps = [
3284         ":google_api_upb",
3285     ],
3286 )
3287
3288 # Once upb code-gen issue is resolved, replace grpc_lb_upb with this.
3289 # grpc_upb_proto_library(
3290 #     name = "grpc_lb_upb",
3291 #     deps = ["//src/proto/grpc/lb/v1:load_balancer_proto_descriptor"],
3292 # )
3293
3294 grpc_cc_library(
3295     name = "grpc_lb_upb",
3296     srcs = [
3297         "src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c",
3298     ],
3299     hdrs = [
3300         "src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h",
3301     ],
3302     external_deps = [
3303         "upb_lib",
3304         "upb_lib_descriptor",
3305     ],
3306     language = "c++",
3307     deps = [
3308         "google_api_upb",
3309     ],
3310 )
3311
3312 # Once upb code-gen issue is resolved, replace meshca_upb with this.
3313 # meshca_upb_proto_library(
3314 #     name = "meshca_upb",
3315 #     deps = ["//third_party/istio/security/proto/providers/google:meshca_proto"],
3316 # )
3317
3318 grpc_cc_library(
3319     name = "meshca_upb",
3320     srcs = [
3321         "src/core/ext/upb-generated/third_party/istio/security/proto/providers/google/meshca.upb.c",
3322     ],
3323     hdrs = [
3324         "src/core/ext/upb-generated/third_party/istio/security/proto/providers/google/meshca.upb.h",
3325     ],
3326     language = "c++",
3327     deps = [
3328         "google_api_upb",
3329     ],
3330 )
3331
3332 # Once upb code-gen issue is resolved, replace alts_upb with this.
3333 # grpc_upb_proto_library(
3334 #     name = "alts_upb",
3335 #     deps = ["//src/proto/grpc/gcp:alts_handshaker_proto"],
3336 # )
3337
3338 grpc_cc_library(
3339     name = "alts_upb",
3340     srcs = [
3341         "src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c",
3342         "src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c",
3343         "src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c",
3344     ],
3345     hdrs = [
3346         "src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h",
3347         "src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h",
3348         "src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h",
3349     ],
3350     external_deps = [
3351         "upb_lib",
3352         "upb_lib_descriptor",
3353     ],
3354     language = "c++",
3355 )
3356
3357 grpc_generate_one_off_targets()
3358
3359 filegroup(
3360     name = "root_certificates",
3361     srcs = [
3362         "etc/roots.pem",
3363     ],
3364     visibility = ["//visibility:public"],
3365 )
3366
3367 # Base classes of EventManagerInterface
3368 grpc_cc_library(
3369     name = "eventmanager_interface",
3370     hdrs = [
3371         "src/core/lib/iomgr/poller/eventmanager_interface.h",
3372     ],
3373 )
3374
3375 # Libuv-based EventManager implementation
3376 grpc_cc_library(
3377     name = "eventmanager_libuv",
3378     srcs = [
3379         "src/core/lib/iomgr/poller/eventmanager_libuv.cc",
3380     ],
3381     hdrs = [
3382         "src/core/lib/iomgr/poller/eventmanager_libuv.h",
3383     ],
3384     deps = [
3385         "gpr_base",
3386     ],
3387 )