'#1': This file describes the list of targets and dependencies.
'#2': It is used among other things to generate all of our project files.
'#3': Please refer to the templates directory for more information.
settings:
  '#01': The public version number of the library.
  '#02': ===
  '#03': Please update the 'g_stands_for' field periodically with a new g word
  '#04': not listed in doc/g_stands_for.md - and update that document to list the
  '#05': new word. When doing so, please also update BUILD.
  '#06': ===
  '#07': Master always has a "-dev" suffix
  '#08': Use "-preN" suffixes to identify pre-release versions
  '#09': Per-language overrides are possible with (eg) ruby_version tag here
  '#10': See the expand_version.py for all the quirks here
  core_version: 6.0.0-dev
  g_stands_for: gao
  version: 1.16.0-dev
filegroups:
- name: alts_proto
  headers:
  - src/core/tsi/alts/handshaker/altscontext.pb.h
  - src/core/tsi/alts/handshaker/handshaker.pb.h
  - src/core/tsi/alts/handshaker/transport_security_common.pb.h
  src:
  - src/core/tsi/alts/handshaker/altscontext.pb.c
  - src/core/tsi/alts/handshaker/handshaker.pb.c
  - src/core/tsi/alts/handshaker/transport_security_common.pb.c
  uses:
  - nanopb
- name: alts_tsi
  headers:
  - src/core/tsi/alts/crypt/gsec.h
  - src/core/tsi/alts/frame_protector/alts_counter.h
  - src/core/tsi/alts/frame_protector/alts_crypter.h
  - src/core/tsi/alts/frame_protector/alts_frame_protector.h
  - src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h
  - src/core/tsi/alts/frame_protector/frame_handler.h
  - src/core/tsi/alts/handshaker/alts_handshaker_client.h
  - src/core/tsi/alts/handshaker/alts_tsi_event.h
  - src/core/tsi/alts/handshaker/alts_tsi_handshaker.h
  - src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h
  - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h
  - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h
  - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h
  - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h
  - src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h
  - src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h
  src:
  - src/core/tsi/alts/crypt/aes_gcm.cc
  - src/core/tsi/alts/crypt/gsec.cc
  - src/core/tsi/alts/frame_protector/alts_counter.cc
  - src/core/tsi/alts/frame_protector/alts_crypter.cc
  - src/core/tsi/alts/frame_protector/alts_frame_protector.cc
  - src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc
  - src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc
  - src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc
  - src/core/tsi/alts/frame_protector/frame_handler.cc
  - src/core/tsi/alts/handshaker/alts_handshaker_client.cc
  - src/core/tsi/alts/handshaker/alts_tsi_event.cc
  - src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
  - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc
  - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc
  - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc
  - src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc
  - src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc
  uses:
  - alts_util
  - grpc_base
  - grpc_transport_chttp2_client_insecure
  - tsi_interface
  - tsi
  - grpc_shadow_boringssl
- name: alts_util
  public_headers:
  - include/grpc/grpc_security.h
  headers:
  - src/core/lib/security/credentials/alts/check_gcp_environment.h
  - src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h
  - src/core/tsi/alts/handshaker/alts_handshaker_service_api.h
  - src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.h
  - src/core/tsi/alts/handshaker/alts_tsi_utils.h
  - src/core/tsi/alts/handshaker/transport_security_common_api.h
  src:
  - src/core/lib/security/credentials/alts/check_gcp_environment.cc
  - src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc
  - src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc
  - src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
  - src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc
  - src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc
  - src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc
  - src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc
  - src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc
  - src/core/tsi/alts/handshaker/alts_tsi_utils.cc
  - src/core/tsi/alts/handshaker/transport_security_common_api.cc
  uses:
  - alts_proto
  - grpc_base
  - tsi_interface
  - nanopb
- name: census
  public_headers:
  - include/grpc/census.h
  src:
  - src/core/ext/filters/census/grpc_context.cc
  uses:
  - grpc_base
- name: cmdline
  headers:
  - test/core/util/cmdline.h
  src:
  - test/core/util/cmdline.cc
  uses:
  - gpr_base_headers
- name: gpr_base
  src:
  - src/core/lib/gpr/alloc.cc
  - src/core/lib/gpr/arena.cc
  - src/core/lib/gpr/atm.cc
  - src/core/lib/gpr/cpu_iphone.cc
  - src/core/lib/gpr/cpu_linux.cc
  - src/core/lib/gpr/cpu_posix.cc
  - src/core/lib/gpr/cpu_windows.cc
  - src/core/lib/gpr/env_linux.cc
  - src/core/lib/gpr/env_posix.cc
  - src/core/lib/gpr/env_windows.cc
  - src/core/lib/gpr/host_port.cc
  - src/core/lib/gpr/log.cc
  - src/core/lib/gpr/log_android.cc
  - src/core/lib/gpr/log_linux.cc
  - src/core/lib/gpr/log_posix.cc
  - src/core/lib/gpr/log_windows.cc
  - src/core/lib/gpr/mpscq.cc
  - src/core/lib/gpr/murmur_hash.cc
  - src/core/lib/gpr/string.cc
  - src/core/lib/gpr/string_posix.cc
  - src/core/lib/gpr/string_util_windows.cc
  - src/core/lib/gpr/string_windows.cc
  - src/core/lib/gpr/sync.cc
  - src/core/lib/gpr/sync_posix.cc
  - src/core/lib/gpr/sync_windows.cc
  - src/core/lib/gpr/time.cc
  - src/core/lib/gpr/time_posix.cc
  - src/core/lib/gpr/time_precise.cc
  - src/core/lib/gpr/time_windows.cc
  - src/core/lib/gpr/tls_pthread.cc
  - src/core/lib/gpr/tmpfile_msys.cc
  - src/core/lib/gpr/tmpfile_posix.cc
  - src/core/lib/gpr/tmpfile_windows.cc
  - src/core/lib/gpr/wrap_memcpy.cc
  - src/core/lib/gprpp/fork.cc
  - src/core/lib/gprpp/thd_posix.cc
  - src/core/lib/gprpp/thd_windows.cc
  - src/core/lib/profiling/basic_timers.cc
  - src/core/lib/profiling/stap_timers.cc
  uses:
  - gpr_base_headers
- name: gpr_base_headers
  public_headers:
  - include/grpc/support/alloc.h
  - include/grpc/support/atm.h
  - include/grpc/support/atm_gcc_atomic.h
  - include/grpc/support/atm_gcc_sync.h
  - include/grpc/support/atm_windows.h
  - include/grpc/support/cpu.h
  - include/grpc/support/log.h
  - include/grpc/support/log_windows.h
  - include/grpc/support/port_platform.h
  - include/grpc/support/string_util.h
  - include/grpc/support/sync.h
  - include/grpc/support/sync_custom.h
  - include/grpc/support/sync_generic.h
  - include/grpc/support/sync_posix.h
  - include/grpc/support/sync_windows.h
  - include/grpc/support/thd_id.h
  - include/grpc/support/time.h
  headers:
  - src/core/lib/gpr/alloc.h
  - src/core/lib/gpr/arena.h
  - src/core/lib/gpr/env.h
  - src/core/lib/gpr/host_port.h
  - src/core/lib/gpr/mpscq.h
  - src/core/lib/gpr/murmur_hash.h
  - src/core/lib/gpr/spinlock.h
  - src/core/lib/gpr/string.h
  - src/core/lib/gpr/string_windows.h
  - src/core/lib/gpr/time_precise.h
  - src/core/lib/gpr/tls.h
  - src/core/lib/gpr/tls_gcc.h
  - src/core/lib/gpr/tls_msvc.h
  - src/core/lib/gpr/tls_pthread.h
  - src/core/lib/gpr/tmpfile.h
  - src/core/lib/gpr/useful.h
  - src/core/lib/gprpp/abstract.h
  - src/core/lib/gprpp/atomic.h
  - src/core/lib/gprpp/atomic_with_atm.h
  - src/core/lib/gprpp/atomic_with_std.h
  - src/core/lib/gprpp/fork.h
  - src/core/lib/gprpp/manual_constructor.h
  - src/core/lib/gprpp/memory.h
  - src/core/lib/gprpp/mutex_lock.h
  - src/core/lib/gprpp/thd.h
  - src/core/lib/profiling/timers.h
  uses:
  - gpr_codegen
- name: gpr_codegen
  public_headers:
  - include/grpc/impl/codegen/atm.h
  - include/grpc/impl/codegen/atm_gcc_atomic.h
  - include/grpc/impl/codegen/atm_gcc_sync.h
  - include/grpc/impl/codegen/atm_windows.h
  - include/grpc/impl/codegen/fork.h
  - include/grpc/impl/codegen/gpr_slice.h
  - include/grpc/impl/codegen/gpr_types.h
  - include/grpc/impl/codegen/log.h
  - include/grpc/impl/codegen/port_platform.h
  - include/grpc/impl/codegen/sync.h
  - include/grpc/impl/codegen/sync_custom.h
  - include/grpc/impl/codegen/sync_generic.h
  - include/grpc/impl/codegen/sync_posix.h
  - include/grpc/impl/codegen/sync_windows.h
- name: grpc++_base
  deps:
  - grpc
  uses:
  - grpc++_common
  - grpc++_codegen_base
- name: grpc++_base_unsecure
  deps:
  - grpc_unsecure
  uses:
  - grpc++_common
  - grpc++_codegen_base
- name: grpc_base
  src:
  - src/core/lib/avl/avl.cc
  - src/core/lib/backoff/backoff.cc
  - src/core/lib/channel/channel_args.cc
  - src/core/lib/channel/channel_stack.cc
  - src/core/lib/channel/channel_stack_builder.cc
  - src/core/lib/channel/channel_trace.cc
  - src/core/lib/channel/channelz.cc
  - src/core/lib/channel/channelz_registry.cc
  - src/core/lib/channel/connected_channel.cc
  - src/core/lib/channel/handshaker.cc
  - src/core/lib/channel/handshaker_factory.cc
  - src/core/lib/channel/handshaker_registry.cc
  - src/core/lib/channel/status_util.cc
  - src/core/lib/compression/compression.cc
  - src/core/lib/compression/compression_internal.cc
  - src/core/lib/compression/message_compress.cc
  - src/core/lib/compression/stream_compression.cc
  - src/core/lib/compression/stream_compression_gzip.cc
  - src/core/lib/compression/stream_compression_identity.cc
  - src/core/lib/debug/stats.cc
  - src/core/lib/debug/stats_data.cc
  - src/core/lib/http/format_request.cc
  - src/core/lib/http/httpcli.cc
  - src/core/lib/http/parser.cc
  - src/core/lib/iomgr/buffer_list.cc
  - src/core/lib/iomgr/call_combiner.cc
  - src/core/lib/iomgr/combiner.cc
  - src/core/lib/iomgr/endpoint.cc
  - src/core/lib/iomgr/endpoint_pair_posix.cc
  - src/core/lib/iomgr/endpoint_pair_uv.cc
  - src/core/lib/iomgr/endpoint_pair_windows.cc
  - src/core/lib/iomgr/error.cc
  - src/core/lib/iomgr/ev_epoll1_linux.cc
  - src/core/lib/iomgr/ev_epollex_linux.cc
  - src/core/lib/iomgr/ev_epollsig_linux.cc
  - src/core/lib/iomgr/ev_poll_posix.cc
  - src/core/lib/iomgr/ev_posix.cc
  - src/core/lib/iomgr/ev_windows.cc
  - src/core/lib/iomgr/exec_ctx.cc
  - src/core/lib/iomgr/executor.cc
  - src/core/lib/iomgr/fork_posix.cc
  - src/core/lib/iomgr/fork_windows.cc
  - src/core/lib/iomgr/gethostname_fallback.cc
  - src/core/lib/iomgr/gethostname_host_name_max.cc
  - src/core/lib/iomgr/gethostname_sysconf.cc
  - src/core/lib/iomgr/internal_errqueue.cc
  - src/core/lib/iomgr/iocp_windows.cc
  - src/core/lib/iomgr/iomgr.cc
  - src/core/lib/iomgr/iomgr_custom.cc
  - src/core/lib/iomgr/iomgr_internal.cc
  - src/core/lib/iomgr/iomgr_posix.cc
  - src/core/lib/iomgr/iomgr_uv.cc
  - src/core/lib/iomgr/iomgr_windows.cc
  - src/core/lib/iomgr/is_epollexclusive_available.cc
  - src/core/lib/iomgr/load_file.cc
  - src/core/lib/iomgr/lockfree_event.cc
  - src/core/lib/iomgr/network_status_tracker.cc
  - src/core/lib/iomgr/polling_entity.cc
  - src/core/lib/iomgr/pollset.cc
  - src/core/lib/iomgr/pollset_custom.cc
  - src/core/lib/iomgr/pollset_set.cc
  - src/core/lib/iomgr/pollset_set_custom.cc
  - src/core/lib/iomgr/pollset_set_windows.cc
  - src/core/lib/iomgr/pollset_uv.cc
  - src/core/lib/iomgr/pollset_windows.cc
  - src/core/lib/iomgr/resolve_address.cc
  - src/core/lib/iomgr/resolve_address_custom.cc
  - src/core/lib/iomgr/resolve_address_posix.cc
  - src/core/lib/iomgr/resolve_address_windows.cc
  - src/core/lib/iomgr/resource_quota.cc
  - src/core/lib/iomgr/sockaddr_utils.cc
  - src/core/lib/iomgr/socket_factory_posix.cc
  - src/core/lib/iomgr/socket_mutator.cc
  - src/core/lib/iomgr/socket_utils_common_posix.cc
  - src/core/lib/iomgr/socket_utils_linux.cc
  - src/core/lib/iomgr/socket_utils_posix.cc
  - src/core/lib/iomgr/socket_utils_uv.cc
  - src/core/lib/iomgr/socket_utils_windows.cc
  - src/core/lib/iomgr/socket_windows.cc
  - src/core/lib/iomgr/tcp_client.cc
  - src/core/lib/iomgr/tcp_client_custom.cc
  - src/core/lib/iomgr/tcp_client_posix.cc
  - src/core/lib/iomgr/tcp_client_windows.cc
  - src/core/lib/iomgr/tcp_custom.cc
  - src/core/lib/iomgr/tcp_posix.cc
  - src/core/lib/iomgr/tcp_server.cc
  - src/core/lib/iomgr/tcp_server_custom.cc
  - src/core/lib/iomgr/tcp_server_posix.cc
  - src/core/lib/iomgr/tcp_server_utils_posix_common.cc
  - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
  - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
  - src/core/lib/iomgr/tcp_server_windows.cc
  - src/core/lib/iomgr/tcp_uv.cc
  - src/core/lib/iomgr/tcp_windows.cc
  - src/core/lib/iomgr/time_averaged_stats.cc
  - src/core/lib/iomgr/timer.cc
  - src/core/lib/iomgr/timer_custom.cc
  - src/core/lib/iomgr/timer_generic.cc
  - src/core/lib/iomgr/timer_heap.cc
  - src/core/lib/iomgr/timer_manager.cc
  - src/core/lib/iomgr/timer_uv.cc
  - src/core/lib/iomgr/udp_server.cc
  - src/core/lib/iomgr/unix_sockets_posix.cc
  - src/core/lib/iomgr/unix_sockets_posix_noop.cc
  - src/core/lib/iomgr/wakeup_fd_cv.cc
  - src/core/lib/iomgr/wakeup_fd_eventfd.cc
  - src/core/lib/iomgr/wakeup_fd_nospecial.cc
  - src/core/lib/iomgr/wakeup_fd_pipe.cc
  - src/core/lib/iomgr/wakeup_fd_posix.cc
  - src/core/lib/json/json.cc
  - src/core/lib/json/json_reader.cc
  - src/core/lib/json/json_string.cc
  - src/core/lib/json/json_writer.cc
  - src/core/lib/slice/b64.cc
  - src/core/lib/slice/percent_encoding.cc
  - src/core/lib/slice/slice.cc
  - src/core/lib/slice/slice_buffer.cc
  - src/core/lib/slice/slice_intern.cc
  - src/core/lib/slice/slice_string_helpers.cc
  - src/core/lib/surface/api_trace.cc
  - src/core/lib/surface/byte_buffer.cc
  - src/core/lib/surface/byte_buffer_reader.cc
  - src/core/lib/surface/call.cc
  - src/core/lib/surface/call_details.cc
  - src/core/lib/surface/call_log_batch.cc
  - src/core/lib/surface/channel.cc
  - src/core/lib/surface/channel_init.cc
  - src/core/lib/surface/channel_ping.cc
  - src/core/lib/surface/channel_stack_type.cc
  - src/core/lib/surface/completion_queue.cc
  - src/core/lib/surface/completion_queue_factory.cc
  - src/core/lib/surface/event_string.cc
  - src/core/lib/surface/lame_client.cc
  - src/core/lib/surface/metadata_array.cc
  - src/core/lib/surface/server.cc
  - src/core/lib/surface/validate_metadata.cc
  - src/core/lib/surface/version.cc
  - src/core/lib/transport/bdp_estimator.cc
  - src/core/lib/transport/byte_stream.cc
  - src/core/lib/transport/connectivity_state.cc
  - src/core/lib/transport/error_utils.cc
  - src/core/lib/transport/metadata.cc
  - src/core/lib/transport/metadata_batch.cc
  - src/core/lib/transport/pid_controller.cc
  - src/core/lib/transport/service_config.cc
  - src/core/lib/transport/static_metadata.cc
  - src/core/lib/transport/status_conversion.cc
  - src/core/lib/transport/status_metadata.cc
  - src/core/lib/transport/timeout_encoding.cc
  - src/core/lib/transport/transport.cc
  - src/core/lib/transport/transport_op_string.cc
  deps:
  - gpr
  filegroups:
  - grpc_base_headers
  uses:
  - grpc_codegen
  - grpc_trace
- name: grpc_base_headers
  public_headers:
  - include/grpc/byte_buffer.h
  - include/grpc/byte_buffer_reader.h
  - include/grpc/compression.h
  - include/grpc/fork.h
  - include/grpc/grpc.h
  - include/grpc/grpc_posix.h
  - include/grpc/grpc_security_constants.h
  - include/grpc/load_reporting.h
  - include/grpc/slice.h
  - include/grpc/slice_buffer.h
  - include/grpc/status.h
  - include/grpc/support/workaround_list.h
  headers:
  - src/core/lib/avl/avl.h
  - src/core/lib/backoff/backoff.h
  - src/core/lib/channel/channel_args.h
  - src/core/lib/channel/channel_stack.h
  - src/core/lib/channel/channel_stack_builder.h
  - src/core/lib/channel/channel_trace.h
  - src/core/lib/channel/channelz.h
  - src/core/lib/channel/channelz_registry.h
  - src/core/lib/channel/connected_channel.h
  - src/core/lib/channel/context.h
  - src/core/lib/channel/handshaker.h
  - src/core/lib/channel/handshaker_factory.h
  - src/core/lib/channel/handshaker_registry.h
  - src/core/lib/channel/status_util.h
  - src/core/lib/compression/algorithm_metadata.h
  - src/core/lib/compression/compression_internal.h
  - src/core/lib/compression/message_compress.h
  - src/core/lib/compression/stream_compression.h
  - src/core/lib/compression/stream_compression_gzip.h
  - src/core/lib/compression/stream_compression_identity.h
  - src/core/lib/debug/stats.h
  - src/core/lib/debug/stats_data.h
  - src/core/lib/gprpp/debug_location.h
  - src/core/lib/gprpp/inlined_vector.h
  - src/core/lib/gprpp/orphanable.h
  - src/core/lib/gprpp/ref_counted.h
  - src/core/lib/gprpp/ref_counted_ptr.h
  - src/core/lib/http/format_request.h
  - src/core/lib/http/httpcli.h
  - src/core/lib/http/parser.h
  - src/core/lib/iomgr/block_annotate.h
  - src/core/lib/iomgr/buffer_list.h
  - src/core/lib/iomgr/call_combiner.h
  - src/core/lib/iomgr/closure.h
  - src/core/lib/iomgr/combiner.h
  - src/core/lib/iomgr/endpoint.h
  - src/core/lib/iomgr/endpoint_pair.h
  - src/core/lib/iomgr/error.h
  - src/core/lib/iomgr/error_internal.h
  - src/core/lib/iomgr/ev_epoll1_linux.h
  - src/core/lib/iomgr/ev_epollex_linux.h
  - src/core/lib/iomgr/ev_epollsig_linux.h
  - src/core/lib/iomgr/ev_poll_posix.h
  - src/core/lib/iomgr/ev_posix.h
  - src/core/lib/iomgr/exec_ctx.h
  - src/core/lib/iomgr/executor.h
  - src/core/lib/iomgr/gethostname.h
  - src/core/lib/iomgr/internal_errqueue.h
  - src/core/lib/iomgr/iocp_windows.h
  - src/core/lib/iomgr/iomgr.h
  - src/core/lib/iomgr/iomgr_custom.h
  - src/core/lib/iomgr/iomgr_internal.h
  - src/core/lib/iomgr/iomgr_posix.h
  - src/core/lib/iomgr/is_epollexclusive_available.h
  - src/core/lib/iomgr/load_file.h
  - src/core/lib/iomgr/lockfree_event.h
  - src/core/lib/iomgr/nameser.h
  - src/core/lib/iomgr/network_status_tracker.h
  - src/core/lib/iomgr/polling_entity.h
  - src/core/lib/iomgr/pollset.h
  - src/core/lib/iomgr/pollset_custom.h
  - src/core/lib/iomgr/pollset_set.h
  - src/core/lib/iomgr/pollset_set_custom.h
  - src/core/lib/iomgr/pollset_set_windows.h
  - src/core/lib/iomgr/pollset_windows.h
  - src/core/lib/iomgr/port.h
  - src/core/lib/iomgr/resolve_address.h
  - src/core/lib/iomgr/resolve_address_custom.h
  - src/core/lib/iomgr/resource_quota.h
  - src/core/lib/iomgr/sockaddr.h
  - src/core/lib/iomgr/sockaddr_custom.h
  - src/core/lib/iomgr/sockaddr_posix.h
  - src/core/lib/iomgr/sockaddr_utils.h
  - src/core/lib/iomgr/sockaddr_windows.h
  - src/core/lib/iomgr/socket_factory_posix.h
  - src/core/lib/iomgr/socket_mutator.h
  - src/core/lib/iomgr/socket_utils.h
  - src/core/lib/iomgr/socket_utils_posix.h
  - src/core/lib/iomgr/socket_windows.h
  - src/core/lib/iomgr/sys_epoll_wrapper.h
  - src/core/lib/iomgr/tcp_client.h
  - src/core/lib/iomgr/tcp_client_posix.h
  - src/core/lib/iomgr/tcp_custom.h
  - src/core/lib/iomgr/tcp_posix.h
  - src/core/lib/iomgr/tcp_server.h
  - src/core/lib/iomgr/tcp_server_utils_posix.h
  - src/core/lib/iomgr/tcp_windows.h
  - src/core/lib/iomgr/time_averaged_stats.h
  - src/core/lib/iomgr/timer.h
  - src/core/lib/iomgr/timer_custom.h
  - src/core/lib/iomgr/timer_heap.h
  - src/core/lib/iomgr/timer_manager.h
  - src/core/lib/iomgr/udp_server.h
  - src/core/lib/iomgr/unix_sockets_posix.h
  - src/core/lib/iomgr/wakeup_fd_cv.h
  - src/core/lib/iomgr/wakeup_fd_pipe.h
  - src/core/lib/iomgr/wakeup_fd_posix.h
  - src/core/lib/json/json.h
  - src/core/lib/json/json_common.h
  - src/core/lib/json/json_reader.h
  - src/core/lib/json/json_writer.h
  - src/core/lib/slice/b64.h
  - src/core/lib/slice/percent_encoding.h
  - src/core/lib/slice/slice_hash_table.h
  - src/core/lib/slice/slice_internal.h
  - src/core/lib/slice/slice_string_helpers.h
  - src/core/lib/slice/slice_weak_hash_table.h
  - src/core/lib/surface/api_trace.h
  - src/core/lib/surface/call.h
  - src/core/lib/surface/call_test_only.h
  - src/core/lib/surface/channel.h
  - src/core/lib/surface/channel_init.h
  - src/core/lib/surface/channel_stack_type.h
  - src/core/lib/surface/completion_queue.h
  - src/core/lib/surface/completion_queue_factory.h
  - src/core/lib/surface/event_string.h
  - src/core/lib/surface/init.h
  - src/core/lib/surface/lame_client.h
  - src/core/lib/surface/server.h
  - src/core/lib/surface/validate_metadata.h
  - src/core/lib/transport/bdp_estimator.h
  - src/core/lib/transport/byte_stream.h
  - src/core/lib/transport/connectivity_state.h
  - src/core/lib/transport/error_utils.h
  - src/core/lib/transport/http2_errors.h
  - src/core/lib/transport/metadata.h
  - src/core/lib/transport/metadata_batch.h
  - src/core/lib/transport/pid_controller.h
  - src/core/lib/transport/service_config.h
  - src/core/lib/transport/static_metadata.h
  - src/core/lib/transport/status_conversion.h
  - src/core/lib/transport/status_metadata.h
  - src/core/lib/transport/timeout_encoding.h
  - src/core/lib/transport/transport.h
  - src/core/lib/transport/transport_impl.h
  deps:
  - gpr
  uses:
  - grpc_codegen
  - grpc_trace_headers
- name: grpc_cfstream
  headers:
  - src/core/lib/iomgr/cfstream_handle.h
  - src/core/lib/iomgr/endpoint_cfstream.h
  - src/core/lib/iomgr/error_cfstream.h
  src:
  - src/core/lib/iomgr/cfstream_handle.cc
  - src/core/lib/iomgr/endpoint_cfstream.cc
  - src/core/lib/iomgr/error_cfstream.cc
  - src/core/lib/iomgr/iomgr_posix_cfstream.cc
  - src/core/lib/iomgr/tcp_client_cfstream.cc
  uses:
  - grpc_base_headers
  - gpr_base_headers
- name: grpc_client_authority_filter
  headers:
  - src/core/ext/filters/http/client_authority_filter.h
  src:
  - src/core/ext/filters/http/client_authority_filter.cc
  plugin: grpc_client_authority_filter
  uses:
  - grpc_base
- name: grpc_client_channel
  headers:
  - src/core/ext/filters/client_channel/backup_poller.h
  - src/core/ext/filters/client_channel/client_channel.h
  - src/core/ext/filters/client_channel/client_channel_channelz.h
  - src/core/ext/filters/client_channel/client_channel_factory.h
  - src/core/ext/filters/client_channel/connector.h
  - src/core/ext/filters/client_channel/http_connect_handshaker.h
  - src/core/ext/filters/client_channel/http_proxy.h
  - src/core/ext/filters/client_channel/lb_policy.h
  - src/core/ext/filters/client_channel/lb_policy_factory.h
  - src/core/ext/filters/client_channel/lb_policy_registry.h
  - src/core/ext/filters/client_channel/method_params.h
  - src/core/ext/filters/client_channel/parse_address.h
  - src/core/ext/filters/client_channel/proxy_mapper.h
  - src/core/ext/filters/client_channel/proxy_mapper_registry.h
  - src/core/ext/filters/client_channel/resolver.h
  - src/core/ext/filters/client_channel/resolver_factory.h
  - src/core/ext/filters/client_channel/resolver_registry.h
  - src/core/ext/filters/client_channel/retry_throttle.h
  - src/core/ext/filters/client_channel/subchannel.h
  - src/core/ext/filters/client_channel/subchannel_index.h
  - src/core/ext/filters/client_channel/uri_parser.h
  src:
  - src/core/ext/filters/client_channel/backup_poller.cc
  - src/core/ext/filters/client_channel/channel_connectivity.cc
  - src/core/ext/filters/client_channel/client_channel.cc
  - src/core/ext/filters/client_channel/client_channel_channelz.cc
  - src/core/ext/filters/client_channel/client_channel_factory.cc
  - src/core/ext/filters/client_channel/client_channel_plugin.cc
  - src/core/ext/filters/client_channel/connector.cc
  - src/core/ext/filters/client_channel/http_connect_handshaker.cc
  - src/core/ext/filters/client_channel/http_proxy.cc
  - src/core/ext/filters/client_channel/lb_policy.cc
  - src/core/ext/filters/client_channel/lb_policy_factory.cc
  - src/core/ext/filters/client_channel/lb_policy_registry.cc
  - src/core/ext/filters/client_channel/method_params.cc
  - src/core/ext/filters/client_channel/parse_address.cc
  - src/core/ext/filters/client_channel/proxy_mapper.cc
  - src/core/ext/filters/client_channel/proxy_mapper_registry.cc
  - src/core/ext/filters/client_channel/resolver.cc
  - src/core/ext/filters/client_channel/resolver_registry.cc
  - src/core/ext/filters/client_channel/retry_throttle.cc
  - src/core/ext/filters/client_channel/subchannel.cc
  - src/core/ext/filters/client_channel/subchannel_index.cc
  - src/core/ext/filters/client_channel/uri_parser.cc
  plugin: grpc_client_channel
  uses:
  - grpc_base
  - grpc_deadline_filter
- name: grpc_codegen
  public_headers:
  - include/grpc/impl/codegen/byte_buffer.h
  - include/grpc/impl/codegen/byte_buffer_reader.h
  - include/grpc/impl/codegen/compression_types.h
  - include/grpc/impl/codegen/connectivity_state.h
  - include/grpc/impl/codegen/grpc_types.h
  - include/grpc/impl/codegen/propagation_bits.h
  - include/grpc/impl/codegen/slice.h
  - include/grpc/impl/codegen/status.h
  uses:
  - gpr_codegen
- name: grpc_deadline_filter
  headers:
  - src/core/ext/filters/deadline/deadline_filter.h
  src:
  - src/core/ext/filters/deadline/deadline_filter.cc
  plugin: grpc_deadline_filter
  uses:
  - grpc_base
- name: grpc_http_filters
  headers:
  - src/core/ext/filters/http/client/http_client_filter.h
  - src/core/ext/filters/http/message_compress/message_compress_filter.h
  - src/core/ext/filters/http/server/http_server_filter.h
  src:
  - src/core/ext/filters/http/client/http_client_filter.cc
  - src/core/ext/filters/http/http_filters_plugin.cc
  - src/core/ext/filters/http/message_compress/message_compress_filter.cc
  - src/core/ext/filters/http/server/http_server_filter.cc
  plugin: grpc_http_filters
  uses:
  - grpc_base
- name: grpc_lb_policy_grpclb
  headers:
  - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h
  src:
  - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c
  plugin: grpc_lb_policy_grpclb
  uses:
  - grpc_base
  - grpc_client_channel
  - nanopb
  - grpc_resolver_fake
- name: grpc_lb_policy_grpclb_secure
  headers:
  - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.h
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h
  src:
  - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c
  - src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c
  plugin: grpc_lb_policy_grpclb
  uses:
  - grpc_base
  - grpc_secure
  - grpc_client_channel
  - nanopb
  - grpc_resolver_fake
- name: grpc_lb_policy_pick_first
  src:
  - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
  plugin: grpc_lb_policy_pick_first
  uses:
  - grpc_base
  - grpc_client_channel
  - grpc_lb_subchannel_list
- name: grpc_lb_policy_round_robin
  src:
  - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
  plugin: grpc_lb_policy_round_robin
  uses:
  - grpc_base
  - grpc_client_channel
  - grpc_lb_subchannel_list
- name: grpc_lb_subchannel_list
  headers:
  - src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
  uses:
  - grpc_base
  - grpc_client_channel
- name: grpc_max_age_filter
  headers:
  - src/core/ext/filters/max_age/max_age_filter.h
  src:
  - src/core/ext/filters/max_age/max_age_filter.cc
  plugin: grpc_max_age_filter
  uses:
  - grpc_base
- name: grpc_message_size_filter
  headers:
  - src/core/ext/filters/message_size/message_size_filter.h
  src:
  - src/core/ext/filters/message_size/message_size_filter.cc
  plugin: grpc_message_size_filter
  uses:
  - grpc_base
- name: grpc_resolver_dns_ares
  headers:
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h
  src:
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
  - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
  plugin: grpc_resolver_dns_ares
  uses:
  - grpc_base
  - grpc_client_channel
- name: grpc_resolver_dns_native
  src:
  - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc
  plugin: grpc_resolver_dns_native
  uses:
  - grpc_base
  - grpc_client_channel
- name: grpc_resolver_fake
  headers:
  - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h
  src:
  - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
  plugin: grpc_resolver_fake
  uses:
  - grpc_base
  - grpc_client_channel
- name: grpc_resolver_sockaddr
  src:
  - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
  plugin: grpc_resolver_sockaddr
  uses:
  - grpc_base
  - grpc_client_channel
- name: grpc_secure
  public_headers:
  - include/grpc/grpc_security.h
  headers:
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h
  - src/core/lib/security/context/security_context.h
  - src/core/lib/security/credentials/alts/alts_credentials.h
  - src/core/lib/security/credentials/composite/composite_credentials.h
  - src/core/lib/security/credentials/credentials.h
  - src/core/lib/security/credentials/fake/fake_credentials.h
  - src/core/lib/security/credentials/google_default/google_default_credentials.h
  - src/core/lib/security/credentials/iam/iam_credentials.h
  - src/core/lib/security/credentials/jwt/json_token.h
  - src/core/lib/security/credentials/jwt/jwt_credentials.h
  - src/core/lib/security/credentials/jwt/jwt_verifier.h
  - src/core/lib/security/credentials/local/local_credentials.h
  - src/core/lib/security/credentials/oauth2/oauth2_credentials.h
  - src/core/lib/security/credentials/plugin/plugin_credentials.h
  - src/core/lib/security/credentials/ssl/ssl_credentials.h
  - src/core/lib/security/security_connector/alts_security_connector.h
  - src/core/lib/security/security_connector/load_system_roots.h
  - src/core/lib/security/security_connector/load_system_roots_linux.h
  - src/core/lib/security/security_connector/local_security_connector.h
  - src/core/lib/security/security_connector/security_connector.h
  - src/core/lib/security/transport/auth_filters.h
  - src/core/lib/security/transport/secure_endpoint.h
  - src/core/lib/security/transport/security_handshaker.h
  - src/core/lib/security/transport/target_authority_table.h
  - src/core/lib/security/transport/tsi_error.h
  - src/core/lib/security/util/json_util.h
  src:
  - src/core/lib/http/httpcli_security_connector.cc
  - src/core/lib/security/context/security_context.cc
  - src/core/lib/security/credentials/alts/alts_credentials.cc
  - src/core/lib/security/credentials/composite/composite_credentials.cc
  - src/core/lib/security/credentials/credentials.cc
  - src/core/lib/security/credentials/credentials_metadata.cc
  - src/core/lib/security/credentials/fake/fake_credentials.cc
  - src/core/lib/security/credentials/google_default/credentials_generic.cc
  - src/core/lib/security/credentials/google_default/google_default_credentials.cc
  - src/core/lib/security/credentials/iam/iam_credentials.cc
  - src/core/lib/security/credentials/jwt/json_token.cc
  - src/core/lib/security/credentials/jwt/jwt_credentials.cc
  - src/core/lib/security/credentials/jwt/jwt_verifier.cc
  - src/core/lib/security/credentials/local/local_credentials.cc
  - src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
  - src/core/lib/security/credentials/plugin/plugin_credentials.cc
  - src/core/lib/security/credentials/ssl/ssl_credentials.cc
  - src/core/lib/security/security_connector/alts_security_connector.cc
  - src/core/lib/security/security_connector/load_system_roots_fallback.cc
  - src/core/lib/security/security_connector/load_system_roots_linux.cc
  - src/core/lib/security/security_connector/local_security_connector.cc
  - src/core/lib/security/security_connector/security_connector.cc
  - src/core/lib/security/transport/client_auth_filter.cc
  - src/core/lib/security/transport/secure_endpoint.cc
  - src/core/lib/security/transport/security_handshaker.cc
  - src/core/lib/security/transport/server_auth_filter.cc
  - src/core/lib/security/transport/target_authority_table.cc
  - src/core/lib/security/transport/tsi_error.cc
  - src/core/lib/security/util/json_util.cc
  - src/core/lib/surface/init_secure.cc
  secure: true
  uses:
  - alts_tsi
  - grpc_base
  - grpc_transport_chttp2_alpn
  - tsi
  - grpc_shadow_boringssl
- name: grpc_server_backward_compatibility
  headers:
  - src/core/ext/filters/workarounds/workaround_utils.h
  src:
  - src/core/ext/filters/workarounds/workaround_utils.cc
  uses:
  - grpc_base
- name: grpc_shadow_boringssl
  headers:
  - src/core/tsi/grpc_shadow_boringssl.h
- name: grpc_test_util_base
  build: test
  headers:
  - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h
  - test/core/end2end/cq_verifier.h
  - test/core/end2end/fixtures/http_proxy_fixture.h
  - test/core/end2end/fixtures/proxy.h
  - test/core/iomgr/endpoint_tests.h
  - test/core/util/debugger_macros.h
  - test/core/util/fuzzer_util.h
  - test/core/util/grpc_profiler.h
  - test/core/util/histogram.h
  - test/core/util/memory_counters.h
  - test/core/util/mock_endpoint.h
  - test/core/util/parse_hexstring.h
  - test/core/util/passthru_endpoint.h
  - test/core/util/port.h
  - test/core/util/port_server_client.h
  - test/core/util/slice_splitter.h
  - test/core/util/subprocess.h
  - test/core/util/tracer_util.h
  - test/core/util/trickle_endpoint.h
  src:
  - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
  - test/core/end2end/cq_verifier.cc
  - test/core/end2end/fixtures/http_proxy_fixture.cc
  - test/core/end2end/fixtures/proxy.cc
  - test/core/iomgr/endpoint_tests.cc
  - test/core/util/debugger_macros.cc
  - test/core/util/fuzzer_util.cc
  - test/core/util/grpc_profiler.cc
  - test/core/util/histogram.cc
  - test/core/util/memory_counters.cc
  - test/core/util/mock_endpoint.cc
  - test/core/util/parse_hexstring.cc
  - test/core/util/passthru_endpoint.cc
  - test/core/util/port.cc
  - test/core/util/port_isolated_runtime_environment.cc
  - test/core/util/port_server_client.cc
  - test/core/util/slice_splitter.cc
  - test/core/util/subprocess_posix.cc
  - test/core/util/subprocess_windows.cc
  - test/core/util/tracer_util.cc
  - test/core/util/trickle_endpoint.cc
  deps:
  - gpr_test_util
  - gpr
  uses:
  - cmdline
  - grpc_base
  - grpc_client_channel
  - grpc_transport_chttp2
- name: grpc_trace
  src:
  - src/core/lib/debug/trace.cc
  deps:
  - gpr
  filegroups:
  - grpc_trace_headers
  - grpc_base_headers
- name: grpc_trace_headers
  headers:
  - src/core/lib/debug/trace.h
  deps:
  - gpr
- name: grpc_transport_chttp2
  headers:
  - src/core/ext/transport/chttp2/transport/bin_decoder.h
  - src/core/ext/transport/chttp2/transport/bin_encoder.h
  - src/core/ext/transport/chttp2/transport/chttp2_transport.h
  - src/core/ext/transport/chttp2/transport/flow_control.h
  - src/core/ext/transport/chttp2/transport/frame.h
  - src/core/ext/transport/chttp2/transport/frame_data.h
  - src/core/ext/transport/chttp2/transport/frame_goaway.h
  - src/core/ext/transport/chttp2/transport/frame_ping.h
  - src/core/ext/transport/chttp2/transport/frame_rst_stream.h
  - src/core/ext/transport/chttp2/transport/frame_settings.h
  - src/core/ext/transport/chttp2/transport/frame_window_update.h
  - src/core/ext/transport/chttp2/transport/hpack_encoder.h
  - src/core/ext/transport/chttp2/transport/hpack_mapping.h
  - src/core/ext/transport/chttp2/transport/hpack_parser.h
  - src/core/ext/transport/chttp2/transport/hpack_table.h
  - src/core/ext/transport/chttp2/transport/http2_settings.h
  - src/core/ext/transport/chttp2/transport/huffsyms.h
  - src/core/ext/transport/chttp2/transport/incoming_metadata.h
  - src/core/ext/transport/chttp2/transport/internal.h
  - src/core/ext/transport/chttp2/transport/stream_map.h
  - src/core/ext/transport/chttp2/transport/varint.h
  src:
  - src/core/ext/transport/chttp2/transport/bin_decoder.cc
  - src/core/ext/transport/chttp2/transport/bin_encoder.cc
  - src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
  - src/core/ext/transport/chttp2/transport/chttp2_transport.cc
  - src/core/ext/transport/chttp2/transport/flow_control.cc
  - src/core/ext/transport/chttp2/transport/frame_data.cc
  - src/core/ext/transport/chttp2/transport/frame_goaway.cc
  - src/core/ext/transport/chttp2/transport/frame_ping.cc
  - src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
  - src/core/ext/transport/chttp2/transport/frame_settings.cc
  - src/core/ext/transport/chttp2/transport/frame_window_update.cc
  - src/core/ext/transport/chttp2/transport/hpack_encoder.cc
  - src/core/ext/transport/chttp2/transport/hpack_mapping.cc
  - src/core/ext/transport/chttp2/transport/hpack_parser.cc
  - src/core/ext/transport/chttp2/transport/hpack_table.cc
  - src/core/ext/transport/chttp2/transport/http2_settings.cc
  - src/core/ext/transport/chttp2/transport/huffsyms.cc
  - src/core/ext/transport/chttp2/transport/incoming_metadata.cc
  - src/core/ext/transport/chttp2/transport/parsing.cc
  - src/core/ext/transport/chttp2/transport/stream_lists.cc
  - src/core/ext/transport/chttp2/transport/stream_map.cc
  - src/core/ext/transport/chttp2/transport/varint.cc
  - src/core/ext/transport/chttp2/transport/writing.cc
  plugin: grpc_chttp2_plugin
  uses:
  - grpc_base
  - grpc_transport_chttp2_alpn
  - grpc_http_filters
- name: grpc_transport_chttp2_alpn
  headers:
  - src/core/ext/transport/chttp2/alpn/alpn.h
  src:
  - src/core/ext/transport/chttp2/alpn/alpn.cc
  deps:
  - gpr
- name: grpc_transport_chttp2_client_connector
  headers:
  - src/core/ext/transport/chttp2/client/authority.h
  - src/core/ext/transport/chttp2/client/chttp2_connector.h
  src:
  - src/core/ext/transport/chttp2/client/authority.cc
  - src/core/ext/transport/chttp2/client/chttp2_connector.cc
  uses:
  - grpc_transport_chttp2
  - grpc_base
  - grpc_client_channel
- name: grpc_transport_chttp2_client_insecure
  src:
  - src/core/ext/transport/chttp2/client/insecure/channel_create.cc
  - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
  uses:
  - grpc_transport_chttp2_client_connector
  - grpc_transport_chttp2
  - grpc_base
  - grpc_client_channel
- name: grpc_transport_chttp2_client_secure
  src:
  - src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
  uses:
  - grpc_transport_chttp2
  - grpc_base
  - grpc_client_channel
  - grpc_secure
  - grpc_transport_chttp2_client_connector
- name: grpc_transport_chttp2_server
  headers:
  - src/core/ext/transport/chttp2/server/chttp2_server.h
  src:
  - src/core/ext/transport/chttp2/server/chttp2_server.cc
  uses:
  - grpc_transport_chttp2
  - grpc_base
- name: grpc_transport_chttp2_server_insecure
  src:
  - src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
  - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
  uses:
  - grpc_transport_chttp2
  - grpc_base
  - grpc_transport_chttp2_server
- name: grpc_transport_chttp2_server_secure
  src:
  - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc
  uses:
  - grpc_transport_chttp2
  - grpc_base
  - grpc_secure
  - grpc_transport_chttp2_server
- name: grpc_transport_cronet_client_secure
  public_headers:
  - include/grpc/grpc_cronet.h
  - include/grpc/grpc_security.h
  - include/grpc/grpc_security_constants.h
  headers:
  - src/core/ext/transport/cronet/transport/cronet_transport.h
  - third_party/objective_c/Cronet/bidirectional_stream_c.h
  src:
  - src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc
  - src/core/ext/transport/cronet/transport/cronet_api_dummy.cc
  - src/core/ext/transport/cronet/transport/cronet_transport.cc
  filegroups:
  - grpc_base
  - grpc_transport_chttp2
  - grpc_http_filters
- name: grpc_transport_inproc
  src:
  - src/core/ext/transport/inproc/inproc_plugin.cc
  - src/core/ext/transport/inproc/inproc_transport.cc
  plugin: grpc_inproc_plugin
  uses:
  - grpc_transport_inproc_headers
  - grpc_base
- name: grpc_transport_inproc_headers
  headers:
  - src/core/ext/transport/inproc/inproc_transport.h
  uses:
  - grpc_base_headers
- name: grpc_workaround_cronet_compression_filter
  headers:
  - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h
  src:
  - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc
  plugin: grpc_workaround_cronet_compression_filter
  uses:
  - grpc_base
  - grpc_server_backward_compatibility
- name: nanopb
  src:
  - third_party/nanopb/pb_common.c
  - third_party/nanopb/pb_decode.c
  - third_party/nanopb/pb_encode.c
  uses:
  - nanopb_headers
- name: nanopb_headers
  headers:
  - third_party/nanopb/pb.h
  - third_party/nanopb/pb_common.h
  - third_party/nanopb/pb_decode.h
  - third_party/nanopb/pb_encode.h
- name: transport_security_test_lib
  build: test
  headers:
  - test/core/tsi/transport_security_test_lib.h
  src:
  - test/core/tsi/transport_security_test_lib.cc
  deps:
  - grpc
- name: tsi
  headers:
  - src/core/tsi/alts_transport_security.h
  - src/core/tsi/fake_transport_security.h
  - src/core/tsi/local_transport_security.h
  - src/core/tsi/ssl/session_cache/ssl_session.h
  - src/core/tsi/ssl/session_cache/ssl_session_cache.h
  - src/core/tsi/ssl_transport_security.h
  - src/core/tsi/ssl_types.h
  - src/core/tsi/transport_security_grpc.h
  src:
  - src/core/tsi/alts_transport_security.cc
  - src/core/tsi/fake_transport_security.cc
  - src/core/tsi/local_transport_security.cc
  - src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc
  - src/core/tsi/ssl/session_cache/ssl_session_cache.cc
  - src/core/tsi/ssl/session_cache/ssl_session_openssl.cc
  - src/core/tsi/ssl_transport_security.cc
  - src/core/tsi/transport_security_grpc.cc
  deps:
  - gpr
  plugin: grpc_tsi_alts
  secure: true
  uses:
  - tsi_interface
  - grpc_base
  - grpc_trace
  - grpc_shadow_boringssl
- name: tsi_interface
  headers:
  - src/core/tsi/transport_security.h
  - src/core/tsi/transport_security_interface.h
  src:
  - src/core/tsi/transport_security.cc
  deps:
  - gpr
  secure: true
  uses:
  - grpc_trace
- name: grpc++_codegen_base
  language: c++
  public_headers:
  - include/grpc++/impl/codegen/async_stream.h
  - include/grpc++/impl/codegen/async_unary_call.h
  - include/grpc++/impl/codegen/byte_buffer.h
  - include/grpc++/impl/codegen/call.h
  - include/grpc++/impl/codegen/call_hook.h
  - include/grpc++/impl/codegen/channel_interface.h
  - include/grpc++/impl/codegen/client_context.h
  - include/grpc++/impl/codegen/client_unary_call.h
  - include/grpc++/impl/codegen/completion_queue.h
  - include/grpc++/impl/codegen/completion_queue_tag.h
  - include/grpc++/impl/codegen/config.h
  - include/grpc++/impl/codegen/core_codegen_interface.h
  - include/grpc++/impl/codegen/create_auth_context.h
  - include/grpc++/impl/codegen/grpc_library.h
  - include/grpc++/impl/codegen/metadata_map.h
  - include/grpc++/impl/codegen/method_handler_impl.h
  - include/grpc++/impl/codegen/rpc_method.h
  - include/grpc++/impl/codegen/rpc_service_method.h
  - include/grpc++/impl/codegen/security/auth_context.h
  - include/grpc++/impl/codegen/serialization_traits.h
  - include/grpc++/impl/codegen/server_context.h
  - include/grpc++/impl/codegen/server_interface.h
  - include/grpc++/impl/codegen/service_type.h
  - include/grpc++/impl/codegen/slice.h
  - include/grpc++/impl/codegen/status.h
  - include/grpc++/impl/codegen/status_code_enum.h
  - include/grpc++/impl/codegen/string_ref.h
  - include/grpc++/impl/codegen/stub_options.h
  - include/grpc++/impl/codegen/sync_stream.h
  - include/grpc++/impl/codegen/time.h
  - include/grpcpp/impl/codegen/async_generic_service.h
  - include/grpcpp/impl/codegen/async_stream.h
  - include/grpcpp/impl/codegen/async_unary_call.h
  - include/grpcpp/impl/codegen/byte_buffer.h
  - include/grpcpp/impl/codegen/call.h
  - include/grpcpp/impl/codegen/call_hook.h
  - include/grpcpp/impl/codegen/callback_common.h
  - include/grpcpp/impl/codegen/channel_interface.h
  - include/grpcpp/impl/codegen/client_callback.h
  - include/grpcpp/impl/codegen/client_context.h
  - include/grpcpp/impl/codegen/client_unary_call.h
  - include/grpcpp/impl/codegen/completion_queue.h
  - include/grpcpp/impl/codegen/completion_queue_tag.h
  - include/grpcpp/impl/codegen/config.h
  - include/grpcpp/impl/codegen/core_codegen_interface.h
  - include/grpcpp/impl/codegen/create_auth_context.h
  - include/grpcpp/impl/codegen/grpc_library.h
  - include/grpcpp/impl/codegen/metadata_map.h
  - include/grpcpp/impl/codegen/method_handler_impl.h
  - include/grpcpp/impl/codegen/rpc_method.h
  - include/grpcpp/impl/codegen/rpc_service_method.h
  - include/grpcpp/impl/codegen/security/auth_context.h
  - include/grpcpp/impl/codegen/serialization_traits.h
  - include/grpcpp/impl/codegen/server_context.h
  - include/grpcpp/impl/codegen/server_interface.h
  - include/grpcpp/impl/codegen/service_type.h
  - include/grpcpp/impl/codegen/slice.h
  - include/grpcpp/impl/codegen/status.h
  - include/grpcpp/impl/codegen/status_code_enum.h
  - include/grpcpp/impl/codegen/string_ref.h
  - include/grpcpp/impl/codegen/stub_options.h
  - include/grpcpp/impl/codegen/sync_stream.h
  - include/grpcpp/impl/codegen/time.h
  uses:
  - grpc_codegen
- name: grpc++_codegen_base_src
  language: c++
  src:
  - src/cpp/codegen/codegen_init.cc
  uses:
  - grpc++_codegen_base
- name: grpc++_codegen_proto
  language: c++
  public_headers:
  - include/grpc++/impl/codegen/proto_utils.h
  - include/grpcpp/impl/codegen/proto_buffer_reader.h
  - include/grpcpp/impl/codegen/proto_buffer_writer.h
  - include/grpcpp/impl/codegen/proto_utils.h
  uses:
  - grpc++_codegen_base
  - grpc++_config_proto
- name: grpc++_common
  language: c++
  public_headers:
  - include/grpc++/alarm.h
  - include/grpc++/channel.h
  - include/grpc++/client_context.h
  - include/grpc++/completion_queue.h
  - include/grpc++/create_channel.h
  - include/grpc++/create_channel_posix.h
  - include/grpc++/ext/health_check_service_server_builder_option.h
  - include/grpc++/generic/async_generic_service.h
  - include/grpc++/generic/generic_stub.h
  - include/grpc++/grpc++.h
  - include/grpc++/health_check_service_interface.h
  - include/grpc++/impl/call.h
  - include/grpc++/impl/channel_argument_option.h
  - include/grpc++/impl/client_unary_call.h
  - include/grpc++/impl/codegen/core_codegen.h
  - include/grpc++/impl/grpc_library.h
  - include/grpc++/impl/method_handler_impl.h
  - include/grpc++/impl/rpc_method.h
  - include/grpc++/impl/rpc_service_method.h
  - include/grpc++/impl/serialization_traits.h
  - include/grpc++/impl/server_builder_option.h
  - include/grpc++/impl/server_builder_plugin.h
  - include/grpc++/impl/server_initializer.h
  - include/grpc++/impl/service_type.h
  - include/grpc++/resource_quota.h
  - include/grpc++/security/auth_context.h
  - include/grpc++/security/auth_metadata_processor.h
  - include/grpc++/security/credentials.h
  - include/grpc++/security/server_credentials.h
  - include/grpc++/server.h
  - include/grpc++/server_builder.h
  - include/grpc++/server_context.h
  - include/grpc++/server_posix.h
  - include/grpc++/support/async_stream.h
  - include/grpc++/support/async_unary_call.h
  - include/grpc++/support/byte_buffer.h
  - include/grpc++/support/channel_arguments.h
  - include/grpc++/support/config.h
  - include/grpc++/support/slice.h
  - include/grpc++/support/status.h
  - include/grpc++/support/status_code_enum.h
  - include/grpc++/support/string_ref.h
  - include/grpc++/support/stub_options.h
  - include/grpc++/support/sync_stream.h
  - include/grpc++/support/time.h
  - include/grpcpp/alarm.h
  - include/grpcpp/channel.h
  - include/grpcpp/client_context.h
  - include/grpcpp/completion_queue.h
  - include/grpcpp/create_channel.h
  - include/grpcpp/create_channel_posix.h
  - include/grpcpp/ext/health_check_service_server_builder_option.h
  - include/grpcpp/generic/async_generic_service.h
  - include/grpcpp/generic/generic_stub.h
  - include/grpcpp/grpcpp.h
  - include/grpcpp/health_check_service_interface.h
  - include/grpcpp/impl/call.h
  - include/grpcpp/impl/channel_argument_option.h
  - include/grpcpp/impl/client_unary_call.h
  - include/grpcpp/impl/codegen/core_codegen.h
  - include/grpcpp/impl/grpc_library.h
  - include/grpcpp/impl/method_handler_impl.h
  - include/grpcpp/impl/rpc_method.h
  - include/grpcpp/impl/rpc_service_method.h
  - include/grpcpp/impl/serialization_traits.h
  - include/grpcpp/impl/server_builder_option.h
  - include/grpcpp/impl/server_builder_plugin.h
  - include/grpcpp/impl/server_initializer.h
  - include/grpcpp/impl/service_type.h
  - include/grpcpp/resource_quota.h
  - include/grpcpp/security/auth_context.h
  - include/grpcpp/security/auth_metadata_processor.h
  - include/grpcpp/security/credentials.h
  - include/grpcpp/security/server_credentials.h
  - include/grpcpp/server.h
  - include/grpcpp/server_builder.h
  - include/grpcpp/server_context.h
  - include/grpcpp/server_posix.h
  - include/grpcpp/support/async_stream.h
  - include/grpcpp/support/async_unary_call.h
  - include/grpcpp/support/byte_buffer.h
  - include/grpcpp/support/channel_arguments.h
  - include/grpcpp/support/client_callback.h
  - include/grpcpp/support/config.h
  - include/grpcpp/support/proto_buffer_reader.h
  - include/grpcpp/support/proto_buffer_writer.h
  - include/grpcpp/support/slice.h
  - include/grpcpp/support/status.h
  - include/grpcpp/support/status_code_enum.h
  - include/grpcpp/support/string_ref.h
  - include/grpcpp/support/stub_options.h
  - include/grpcpp/support/sync_stream.h
  - include/grpcpp/support/time.h
  headers:
  - src/cpp/client/create_channel_internal.h
  - src/cpp/common/channel_filter.h
  - src/cpp/server/dynamic_thread_pool.h
  - src/cpp/server/health/default_health_check_service.h
  - src/cpp/server/health/health.pb.h
  - src/cpp/server/thread_pool_interface.h
  - src/cpp/thread_manager/thread_manager.h
  src:
  - src/cpp/client/channel_cc.cc
  - src/cpp/client/client_context.cc
  - src/cpp/client/create_channel.cc
  - src/cpp/client/create_channel_internal.cc
  - src/cpp/client/create_channel_posix.cc
  - src/cpp/client/credentials_cc.cc
  - src/cpp/client/generic_stub.cc
  - src/cpp/common/alarm.cc
  - src/cpp/common/channel_arguments.cc
  - src/cpp/common/channel_filter.cc
  - src/cpp/common/completion_queue_cc.cc
  - src/cpp/common/core_codegen.cc
  - src/cpp/common/resource_quota_cc.cc
  - src/cpp/common/rpc_method.cc
  - src/cpp/common/version_cc.cc
  - src/cpp/server/async_generic_service.cc
  - src/cpp/server/channel_argument_option.cc
  - src/cpp/server/create_default_thread_pool.cc
  - src/cpp/server/dynamic_thread_pool.cc
  - src/cpp/server/health/default_health_check_service.cc
  - src/cpp/server/health/health.pb.c
  - src/cpp/server/health/health_check_service.cc
  - src/cpp/server/health/health_check_service_server_builder_option.cc
  - src/cpp/server/server_builder.cc
  - src/cpp/server/server_cc.cc
  - src/cpp/server/server_context.cc
  - src/cpp/server/server_credentials.cc
  - src/cpp/server/server_posix.cc
  - src/cpp/thread_manager/thread_manager.cc
  - src/cpp/util/byte_buffer_cc.cc
  - src/cpp/util/status.cc
  - src/cpp/util/string_ref.cc
  - src/cpp/util/time_cc.cc
  uses:
  - gpr_base_headers
  - grpc_base_headers
  - grpc_transport_inproc_headers
  - grpc++_codegen_base
  - nanopb_headers
- name: grpc++_config_proto
  language: c++
  public_headers:
  - include/grpc++/impl/codegen/config_protobuf.h
  - include/grpcpp/impl/codegen/config_protobuf.h
- name: grpc++_reflection_proto
  language: c++
  src:
  - src/proto/grpc/reflection/v1alpha/reflection.proto
- name: grpc++_test
  language: c++
  public_headers:
  - include/grpc++/test/mock_stream.h
  - include/grpc++/test/server_context_test_spouse.h
  - include/grpcpp/test/mock_stream.h
  - include/grpcpp/test/server_context_test_spouse.h
  deps:
  - grpc++
  - grpc
- name: grpcpp_channelz_proto
  language: c++
  src:
  - src/proto/grpc/channelz/channelz.proto
libs:
- name: address_sorting
  build: all
  language: c
  headers:
  - third_party/address_sorting/address_sorting_internal.h
  - third_party/address_sorting/include/address_sorting/address_sorting.h
  src:
  - third_party/address_sorting/address_sorting.c
  - third_party/address_sorting/address_sorting_posix.c
  - third_party/address_sorting/address_sorting_windows.c
  secure: false
- name: alts_test_util
  build: private
  language: c
  headers:
  - test/core/tsi/alts/crypt/gsec_test_util.h
  - test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.h
  src:
  - test/core/tsi/alts/crypt/gsec_test_util.cc
  - test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc
  deps:
  - grpc
  secure: true
- name: cxxabi
  build: private
  language: c
  src:
  - third_party/libcxxabi/src/abort_message.cpp
  - third_party/libcxxabi/src/cxa_aux_runtime.cpp
  - third_party/libcxxabi/src/cxa_default_handlers.cpp
  - third_party/libcxxabi/src/cxa_demangle.cpp
  - third_party/libcxxabi/src/cxa_exception_storage.cpp
  - third_party/libcxxabi/src/cxa_guard.cpp
  - third_party/libcxxabi/src/cxa_handlers.cpp
  - third_party/libcxxabi/src/cxa_noexception.cpp
  - third_party/libcxxabi/src/cxa_thread_atexit.cpp
  - third_party/libcxxabi/src/cxa_unexpected.cpp
  - third_party/libcxxabi/src/cxa_vector.cpp
  - third_party/libcxxabi/src/cxa_virtual.cpp
  - third_party/libcxxabi/src/fallback_malloc.cpp
  - third_party/libcxxabi/src/private_typeinfo.cpp
  - third_party/libcxxabi/src/stdlib_exception.cpp
  - third_party/libcxxabi/src/stdlib_new_delete.cpp
  - third_party/libcxxabi/src/stdlib_stdexcept.cpp
  - third_party/libcxxabi/src/stdlib_typeinfo.cpp
  build_system:
  - Makefile
  defaults: cxxabi
  secure: false
- name: gpr
  build: all
  language: c
  filegroups:
  - gpr_base
  secure: false
  vs_project_guid: '{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}'
- name: gpr_test_util
  build: private
  language: c
  headers:
  - test/core/util/test_config.h
  src:
  - test/core/util/test_config.cc
  deps:
  - gpr
  secure: false
  vs_project_guid: '{EAB0A629-17A9-44DB-B5FF-E91A721FE037}'
- name: grpc
  build: all
  language: c
  src:
  - src/core/lib/surface/init.cc
  baselib: true
  deps_linkage: static
  dll: true
  filegroups:
  - grpc_base
  - grpc_transport_chttp2_server_secure
  - grpc_transport_chttp2_client_secure
  - grpc_transport_chttp2_server_insecure
  - grpc_transport_chttp2_client_insecure
  - grpc_transport_inproc
  - grpc_lb_policy_grpclb_secure
  - grpc_lb_policy_pick_first
  - grpc_lb_policy_round_robin
  - grpc_resolver_dns_ares
  - grpc_resolver_dns_native
  - grpc_resolver_sockaddr
  - grpc_resolver_fake
  - grpc_secure
  - census
  - grpc_max_age_filter
  - grpc_message_size_filter
  - grpc_deadline_filter
  - grpc_client_authority_filter
  - grpc_workaround_cronet_compression_filter
  - grpc_server_backward_compatibility
  generate_plugin_registry: true
  secure: true
  vs_packages:
  - grpc.dependencies.openssl
  - grpc.dependencies.zlib
  vs_project_guid: '{29D16885-7228-4C31-81ED-5F9187C7F2A9}'
- name: grpc_cronet
  build: all
  language: c
  src:
  - src/core/lib/surface/init.cc
  baselib: true
  deps_linkage: static
  dll: true
  filegroups:
  - grpc_base
  - grpc_transport_cronet_client_secure
  - grpc_transport_chttp2_client_secure
  generate_plugin_registry: true
  platforms:
  - linux
  secure: true
- name: grpc_dll
  build: private
  language: c
  src: []
  deps:
  - gpr
  - grpc
  build_system:
  - visual_studio
  deps_linkage: static
  dll_def: grpc.def
  vs_config_type: DynamicLibrary
  vs_packages:
  - grpc.dependencies.openssl
  - grpc.dependencies.zlib
  vs_project_guid: '{A2F6CBBA-A553-41B3-A7DE-F26DECCC27F0}'
  vs_props:
  - zlib
  - openssl
  - winsock
  - global
- name: grpc_test_util
  build: private
  language: c
  headers:
  - test/core/end2end/data/ssl_test_data.h
  - test/core/security/oauth2_utils.h
  src:
  - test/core/end2end/data/client_certs.cc
  - test/core/end2end/data/server1_cert.cc
  - test/core/end2end/data/server1_key.cc
  - test/core/end2end/data/test_root_cert.cc
  - test/core/security/oauth2_utils.cc
  deps:
  - gpr_test_util
  - gpr
  - grpc
  filegroups:
  - grpc_test_util_base
  vs_project_guid: '{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}'
- name: grpc_test_util_unsecure
  build: private
  language: c
  deps:
  - gpr
  - gpr_test_util
  - grpc_unsecure
  filegroups:
  - grpc_test_util_base
  secure: false
  vs_project_guid: '{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}'
- name: grpc_unsecure
  build: all
  language: c
  src:
  - src/core/lib/surface/init.cc
  - src/core/lib/surface/init_unsecure.cc
  baselib: true
  deps_linkage: static
  dll: true
  filegroups:
  - grpc_base
  - grpc_transport_chttp2_server_insecure
  - grpc_transport_chttp2_client_insecure
  - grpc_transport_inproc
  - grpc_resolver_dns_ares
  - grpc_resolver_dns_native
  - grpc_resolver_sockaddr
  - grpc_resolver_fake
  - grpc_lb_policy_grpclb
  - grpc_lb_policy_pick_first
  - grpc_lb_policy_round_robin
  - census
  - grpc_max_age_filter
  - grpc_message_size_filter
  - grpc_deadline_filter
  - grpc_client_authority_filter
  - grpc_workaround_cronet_compression_filter
  - grpc_server_backward_compatibility
  generate_plugin_registry: true
  secure: false
  vs_project_guid: '{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}'
- name: reconnect_server
  build: private
  language: c
  headers:
  - test/core/util/reconnect_server.h
  src:
  - test/core/util/reconnect_server.cc
  deps:
  - test_tcp_server
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: test_tcp_server
  build: private
  language: c
  headers:
  - test/core/util/test_tcp_server.h
  src:
  - test/core/util/test_tcp_server.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc++
  build: all
  language: c++
  headers:
  - include/grpc++/impl/codegen/core_codegen.h
  - include/grpcpp/impl/codegen/core_codegen.h
  - src/cpp/client/secure_credentials.h
  - src/cpp/common/secure_auth_context.h
  - src/cpp/server/secure_server_credentials.h
  src:
  - src/cpp/client/insecure_credentials.cc
  - src/cpp/client/secure_credentials.cc
  - src/cpp/common/auth_property_iterator.cc
  - src/cpp/common/secure_auth_context.cc
  - src/cpp/common/secure_channel_arguments.cc
  - src/cpp/common/secure_create_auth_context.cc
  - src/cpp/server/insecure_server_credentials.cc
  - src/cpp/server/secure_server_credentials.cc
  deps:
  - grpc
  baselib: true
  dll: true
  filegroups:
  - grpc++_base
  - grpc++_codegen_base
  - grpc++_codegen_proto
  - grpc++_codegen_base_src
  secure: check
  vs_project_guid: '{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}'
- name: grpc++_core_stats
  build: private
  language: c++
  headers:
  - src/cpp/util/core_stats.h
  src:
  - src/proto/grpc/core/stats.proto
  - src/cpp/util/core_stats.cc
  deps:
  - grpc++
- name: grpc++_cronet
  build: all
  language: c++
  src:
  - src/cpp/client/cronet_credentials.cc
  - src/cpp/client/insecure_credentials.cc
  - src/cpp/common/insecure_create_auth_context.cc
  - src/cpp/server/insecure_server_credentials.cc
  deps:
  - gpr
  - grpc_cronet
  baselib: true
  dll: true
  filegroups:
  - grpc++_base
  - grpc++_codegen_base
  - grpc++_codegen_base_src
  - grpc_transport_chttp2_client_insecure
  - grpc_transport_chttp2_server_insecure
  - census
  platforms:
  - linux
  secure: true
- name: grpc++_error_details
  build: all
  language: c++
  public_headers:
  - include/grpc++/support/error_details.h
  - include/grpcpp/support/error_details.h
  src:
  - src/proto/grpc/status/status.proto
  - src/cpp/util/error_details.cc
  deps:
  - grpc++
  baselib: true
  vs_project_guid: '{9F58AD72-49E1-4D10-B826-9E190AB0AAC0}'
- name: grpc++_proto_reflection_desc_db
  build: private
  language: c++
  headers:
  - test/cpp/util/proto_reflection_descriptor_database.h
  src:
  - test/cpp/util/proto_reflection_descriptor_database.cc
  deps:
  - grpc++
  - grpc
  filegroups:
  - grpc++_reflection_proto
  - grpc++_config_proto
- name: grpc++_reflection
  build: all
  language: c++
  public_headers:
  - include/grpc++/ext/proto_server_reflection_plugin.h
  - include/grpcpp/ext/proto_server_reflection_plugin.h
  headers:
  - src/cpp/ext/proto_server_reflection.h
  src:
  - src/cpp/ext/proto_server_reflection.cc
  - src/cpp/ext/proto_server_reflection_plugin.cc
  deps:
  - grpc++
  - grpc
  filegroups:
  - grpc++_reflection_proto
- name: grpc++_test_config
  build: private
  language: c++
  headers:
  - test/cpp/util/test_config.h
  src:
  - test/cpp/util/test_config_cc.cc
- name: grpc++_test_util
  build: private
  language: c++
  headers:
  - test/cpp/end2end/test_service_impl.h
  - test/cpp/util/byte_buffer_proto_helper.h
  - test/cpp/util/channel_trace_proto_helper.h
  - test/cpp/util/create_test_channel.h
  - test/cpp/util/string_ref_helper.h
  - test/cpp/util/subprocess.h
  - test/cpp/util/test_credentials_provider.h
  src:
  - src/proto/grpc/channelz/channelz.proto
  - src/proto/grpc/health/v1/health.proto
  - src/proto/grpc/testing/echo_messages.proto
  - src/proto/grpc/testing/echo.proto
  - src/proto/grpc/testing/duplicate/echo_duplicate.proto
  - test/cpp/end2end/test_service_impl.cc
  - test/cpp/util/byte_buffer_proto_helper.cc
  - test/cpp/util/channel_trace_proto_helper.cc
  - test/cpp/util/create_test_channel.cc
  - test/cpp/util/string_ref_helper.cc
  - test/cpp/util/subprocess.cc
  - test/cpp/util/test_credentials_provider.cc
  deps:
  - grpc++
  - grpc_test_util
  - grpc
  filegroups:
  - grpc++_codegen_base
  - grpc++_codegen_base_src
  - grpc++_codegen_proto
  - grpc++_config_proto
- name: grpc++_test_util_unsecure
  build: private
  language: c++
  headers:
  - test/cpp/end2end/test_service_impl.h
  - test/cpp/util/byte_buffer_proto_helper.h
  - test/cpp/util/string_ref_helper.h
  - test/cpp/util/subprocess.h
  src:
  - src/proto/grpc/health/v1/health.proto
  - src/proto/grpc/testing/echo_messages.proto
  - src/proto/grpc/testing/echo.proto
  - src/proto/grpc/testing/duplicate/echo_duplicate.proto
  - test/cpp/end2end/test_service_impl.cc
  - test/cpp/util/byte_buffer_proto_helper.cc
  - test/cpp/util/string_ref_helper.cc
  - test/cpp/util/subprocess.cc
  deps:
  - grpc++_unsecure
  - grpc_test_util_unsecure
  - grpc_unsecure
  filegroups:
  - grpc++_codegen_base
  - grpc++_codegen_base_src
  - grpc++_codegen_proto
  - grpc++_config_proto
- name: grpc++_unsecure
  build: all
  language: c++
  src:
  - src/cpp/client/insecure_credentials.cc
  - src/cpp/common/insecure_create_auth_context.cc
  - src/cpp/server/insecure_server_credentials.cc
  deps:
  - gpr
  - grpc_unsecure
  baselib: true
  dll: true
  filegroups:
  - grpc++_base_unsecure
  - grpc++_codegen_base
  - grpc++_codegen_base_src
  secure: false
  vs_project_guid: '{6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}'
- name: grpc_benchmark
  build: test
  language: c++
  headers:
  - test/cpp/microbenchmarks/fullstack_context_mutators.h
  - test/cpp/microbenchmarks/fullstack_fixtures.h
  - test/cpp/microbenchmarks/helpers.h
  src:
  - test/cpp/microbenchmarks/helpers.cc
  deps:
  - benchmark
  - grpc++_unsecure
  - grpc_test_util_unsecure
  - grpc_unsecure
  defaults: benchmark
- name: grpc_cli_libs
  build: private
  language: c++
  headers:
  - test/cpp/util/cli_call.h
  - test/cpp/util/cli_credentials.h
  - test/cpp/util/config_grpc_cli.h
  - test/cpp/util/grpc_tool.h
  - test/cpp/util/proto_file_parser.h
  - test/cpp/util/service_describer.h
  src:
  - test/cpp/util/cli_call.cc
  - test/cpp/util/cli_credentials.cc
  - test/cpp/util/grpc_tool.cc
  - test/cpp/util/proto_file_parser.cc
  - test/cpp/util/service_describer.cc
  deps:
  - grpc++_proto_reflection_desc_db
  - grpc++
  - grpc
  filegroups:
  - grpc++_reflection_proto
  - grpc++_config_proto
- name: grpc_plugin_support
  build: protoc
  language: c++
  headers:
  - src/compiler/config.h
  - src/compiler/cpp_generator.h
  - src/compiler/cpp_generator_helpers.h
  - src/compiler/csharp_generator.h
  - src/compiler/csharp_generator_helpers.h
  - src/compiler/generator_helpers.h
  - src/compiler/node_generator.h
  - src/compiler/node_generator_helpers.h
  - src/compiler/objective_c_generator.h
  - src/compiler/objective_c_generator_helpers.h
  - src/compiler/php_generator.h
  - src/compiler/php_generator_helpers.h
  - src/compiler/protobuf_plugin.h
  - src/compiler/python_generator.h
  - src/compiler/python_generator_helpers.h
  - src/compiler/python_private_generator.h
  - src/compiler/ruby_generator.h
  - src/compiler/ruby_generator_helpers-inl.h
  - src/compiler/ruby_generator_map-inl.h
  - src/compiler/ruby_generator_string-inl.h
  - src/compiler/schema_interface.h
  src:
  - src/compiler/cpp_generator.cc
  - src/compiler/csharp_generator.cc
  - src/compiler/node_generator.cc
  - src/compiler/objective_c_generator.cc
  - src/compiler/php_generator.cc
  - src/compiler/python_generator.cc
  - src/compiler/ruby_generator.cc
  filegroups:
  - grpc++_config_proto
  secure: false
  vs_project_guid: '{B6E81D84-2ACB-41B8-8781-493A944C7817}'
  vs_props:
  - protoc
- name: grpcpp_channelz
  build: all
  language: c++
  public_headers:
  - include/grpcpp/ext/channelz_service_plugin.h
  headers:
  - src/cpp/server/channelz/channelz_service.h
  src:
  - src/cpp/server/channelz/channelz_service.cc
  - src/cpp/server/channelz/channelz_service_plugin.cc
  deps:
  - grpc++
  - grpc
  filegroups:
  - grpcpp_channelz_proto
- name: http2_client_main
  build: private
  language: c++
  headers:
  - test/cpp/interop/http2_client.h
  src:
  - src/proto/grpc/testing/empty.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/test.proto
  - test/cpp/interop/http2_client.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - grpc++_test_config
- name: interop_client_helper
  build: private
  language: c++
  headers:
  - test/cpp/interop/client_helper.h
  src:
  - src/proto/grpc/testing/messages.proto
  - test/cpp/interop/client_helper.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr
- name: interop_client_main
  build: private
  language: c++
  headers:
  - test/cpp/interop/interop_client.h
  src:
  - src/proto/grpc/testing/empty.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/test.proto
  - test/cpp/interop/client.cc
  - test/cpp/interop/interop_client.cc
  deps:
  - interop_client_helper
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
- name: interop_server_helper
  build: private
  language: c++
  headers:
  - test/cpp/interop/server_helper.h
  src:
  - test/cpp/interop/server_helper.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr
- name: interop_server_lib
  build: private
  language: c++
  src:
  - src/proto/grpc/testing/empty.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/test.proto
  - test/cpp/interop/interop_server.cc
  deps:
  - interop_server_helper
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
- name: interop_server_main
  build: private
  language: c++
  src:
  - test/cpp/interop/interop_server_bootstrap.cc
  deps:
  - interop_server_lib
- name: qps
  build: private
  language: c++
  headers:
  - test/cpp/qps/benchmark_config.h
  - test/cpp/qps/client.h
  - test/cpp/qps/driver.h
  - test/cpp/qps/histogram.h
  - test/cpp/qps/interarrival.h
  - test/cpp/qps/parse_json.h
  - test/cpp/qps/qps_server_builder.h
  - test/cpp/qps/qps_worker.h
  - test/cpp/qps/report.h
  - test/cpp/qps/server.h
  - test/cpp/qps/stats.h
  - test/cpp/qps/usage_timer.h
  src:
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/payloads.proto
  - src/proto/grpc/testing/stats.proto
  - src/proto/grpc/testing/control.proto
  - src/proto/grpc/testing/benchmark_service.proto
  - src/proto/grpc/testing/report_qps_scenario_service.proto
  - src/proto/grpc/testing/worker_service.proto
  - test/cpp/qps/benchmark_config.cc
  - test/cpp/qps/client_async.cc
  - test/cpp/qps/client_sync.cc
  - test/cpp/qps/driver.cc
  - test/cpp/qps/parse_json.cc
  - test/cpp/qps/qps_server_builder.cc
  - test/cpp/qps/qps_worker.cc
  - test/cpp/qps/report.cc
  - test/cpp/qps/server_async.cc
  - test/cpp/qps/server_sync.cc
  - test/cpp/qps/usage_timer.cc
  deps:
  - grpc_test_util
  - grpc++_test_util
  - grpc++_core_stats
  - grpc++
  - grpc
- name: grpc_csharp_ext
  build: all
  language: csharp
  src:
  - src/csharp/ext/grpc_csharp_ext.c
  deps:
  - grpc
  - gpr
  LDFLAGS: $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy)
  deps_linkage: static
  dll: only
  vs_config_type: DynamicLibrary
  vs_packages:
  - grpc.dependencies.openssl
  - grpc.dependencies.zlib
  vs_project_guid: '{D64C6D63-4458-4A88-AB38-35678384A7E4}'
  vs_props:
  - zlib
  - openssl
  - winsock
  - global
targets:
- name: algorithm_test
  build: test
  language: c
  src:
  - test/core/compression/algorithm_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: alloc_test
  build: test
  language: c
  src:
  - test/core/gpr/alloc_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: alpn_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/alpn_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: alts_credentials_fuzzer
  build: fuzzer
  language: c
  src:
  - test/core/security/alts_credentials_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/security/corpus/alts_credentials_corpus
  maxlen: 2048
- name: api_fuzzer
  build: fuzzer
  language: c
  src:
  - test/core/end2end/fuzzers/api_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/end2end/fuzzers/api_fuzzer_corpus
  dict: test/core/end2end/fuzzers/api_fuzzer.dictionary
  maxlen: 2048
- name: arena_test
  cpu_cost: 10
  build: test
  language: c
  src:
  - test/core/gpr/arena_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: avl_test
  build: test
  language: c
  src:
  - test/core/avl/avl_test.cc
  deps:
  - gpr_test_util
  - gpr
  - grpc
  uses_polling: false
- name: bad_server_response_test
  build: test
  language: c
  src:
  - test/core/end2end/bad_server_response_test.cc
  deps:
  - test_tcp_server
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: bin_decoder_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/bin_decoder_test.cc
  deps:
  - grpc_test_util
  - grpc
  uses_polling: false
- name: bin_encoder_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/bin_encoder_test.cc
  deps:
  - grpc_test_util
  - grpc
  uses_polling: false
- name: buffer_list_test
  build: test
  language: c
  src:
  - test/core/iomgr/buffer_list_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
- name: channel_create_test
  build: test
  language: c
  src:
  - test/core/surface/channel_create_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: check_epollexclusive
  build: tool
  language: c
  src:
  - test/build/check_epollexclusive.c
  deps:
  - grpc
  - gpr
- name: chttp2_hpack_encoder_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/hpack_encoder_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: chttp2_stream_map_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/stream_map_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: chttp2_varint_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/varint_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: client_fuzzer
  build: fuzzer
  language: c
  src:
  - test/core/end2end/fuzzers/client_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/end2end/fuzzers/client_fuzzer_corpus
  dict: test/core/end2end/fuzzers/hpack.dictionary
  maxlen: 2048
- name: cmdline_test
  build: test
  language: c
  src:
  - test/core/util/cmdline_test.cc
  deps:
  - gpr
  - gpr_test_util
  - grpc_test_util
  uses_polling: false
- name: combiner_test
  cpu_cost: 10
  build: test
  language: c
  src:
  - test/core/iomgr/combiner_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: compression_test
  build: test
  language: c
  src:
  - test/core/compression/compression_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: concurrent_connectivity_test
  cpu_cost: 2.0
  build: test
  language: c
  src:
  - test/core/surface/concurrent_connectivity_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: connection_refused_test
  cpu_cost: 0.1
  build: test
  language: c
  src:
  - test/core/end2end/connection_refused_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: dns_resolver_connectivity_test
  cpu_cost: 0.1
  build: test
  language: c
  src:
  - test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: dns_resolver_cooldown_test
  build: test
  language: c
  src:
  - test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: dns_resolver_test
  build: test
  language: c
  src:
  - test/core/client_channel/resolvers/dns_resolver_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: dualstack_socket_test
  cpu_cost: 0.1
  build: test
  language: c
  src:
  - test/core/end2end/dualstack_socket_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: endpoint_pair_test
  build: test
  language: c
  src:
  - test/core/iomgr/endpoint_pair_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: error_test
  cpu_cost: 30
  build: test
  language: c
  src:
  - test/core/iomgr/error_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: ev_epollex_linux_test
  cpu_cost: 3
  build: test
  language: c
  src:
  - test/core/iomgr/ev_epollex_linux_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
- name: ev_epollsig_linux_test
  cpu_cost: 3
  build: test
  language: c
  src:
  - test/core/iomgr/ev_epollsig_linux_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
- name: fake_resolver_test
  build: test
  language: c
  src:
  - test/core/client_channel/resolvers/fake_resolver_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: fake_transport_security_test
  build: test
  language: c
  src:
  - test/core/tsi/fake_transport_security_test.cc
  deps:
  - gpr_test_util
  - gpr
  - grpc
  filegroups:
  - transport_security_test_lib
  platforms:
  - linux
  - posix
  - mac
- name: fd_conservation_posix_test
  build: test
  language: c
  src:
  - test/core/iomgr/fd_conservation_posix_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: fd_posix_test
  build: test
  language: c
  src:
  - test/core/iomgr/fd_posix_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: fling_client
  build: test
  run: false
  language: c
  src:
  - test/core/fling/client.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: fling_server
  build: test
  run: false
  language: c
  src:
  - test/core/fling/server.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: fling_stream_test
  cpu_cost: 1.5
  build: test
  language: c
  src:
  - test/core/fling/fling_stream_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: fling_test
  cpu_cost: 1.5
  build: test
  language: c
  src:
  - test/core/fling/fling_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: fork_test
  build: test
  language: c
  src:
  - test/core/gprpp/fork_test.cc
  deps:
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  uses_polling: false
- name: goaway_server_test
  cpu_cost: 0.1
  build: test
  language: c
  src:
  - test/core/end2end/goaway_server_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: gpr_cpu_test
  cpu_cost: 30
  build: test
  language: c
  src:
  - test/core/gpr/cpu_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_env_test
  build: test
  language: c
  src:
  - test/core/gpr/env_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_host_port_test
  build: test
  language: c
  src:
  - test/core/gpr/host_port_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_log_test
  build: test
  language: c
  src:
  - test/core/gpr/log_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_manual_constructor_test
  cpu_cost: 3
  build: test
  language: c
  src:
  - test/core/gprpp/manual_constructor_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_mpscq_test
  cpu_cost: 30
  build: test
  language: c
  src:
  - test/core/gpr/mpscq_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_spinlock_test
  cpu_cost: 3
  build: test
  language: c
  src:
  - test/core/gpr/spinlock_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_string_test
  build: test
  language: c
  src:
  - test/core/gpr/string_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_sync_test
  cpu_cost: 10
  build: test
  language: c
  src:
  - test/core/gpr/sync_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_thd_test
  cpu_cost: 10
  build: test
  language: c
  src:
  - test/core/gprpp/thd_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_time_test
  build: test
  language: c
  src:
  - test/core/gpr/time_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_tls_test
  build: test
  language: c
  src:
  - test/core/gpr/tls_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: gpr_useful_test
  build: test
  language: c
  src:
  - test/core/gpr/useful_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: grpc_auth_context_test
  build: test
  language: c
  src:
  - test/core/security/auth_context_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: grpc_b64_test
  build: test
  language: c
  src:
  - test/core/slice/b64_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: grpc_byte_buffer_reader_test
  build: test
  language: c
  src:
  - test/core/surface/byte_buffer_reader_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: grpc_channel_args_test
  build: test
  language: c
  src:
  - test/core/channel/channel_args_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: grpc_channel_stack_builder_test
  build: test
  language: c
  src:
  - test/core/channel/channel_stack_builder_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc_channel_stack_test
  build: test
  language: c
  src:
  - test/core/channel/channel_stack_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: grpc_completion_queue_test
  build: test
  language: c
  src:
  - test/core/surface/completion_queue_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc_completion_queue_threading_test
  build: test
  language: c
  src:
  - test/core/surface/completion_queue_threading_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: grpc_create_jwt
  build: tool
  language: c
  src:
  - test/core/security/create_jwt.cc
  deps:
  - grpc
  - gpr
  filegroups:
  - cmdline
  secure: true
  uses_polling: false
- name: grpc_credentials_test
  build: test
  language: c
  src:
  - test/core/security/credentials_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc_fetch_oauth2
  build: test
  run: false
  language: c
  src:
  - test/core/security/fetch_oauth2.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc_ipv6_loopback_available_test
  build: test
  language: c
  src:
  - test/core/iomgr/grpc_ipv6_loopback_available_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: grpc_json_token_test
  build: test
  language: c
  src:
  - test/core/security/json_token_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - linux
  - posix
  - mac
  uses_polling: false
- name: grpc_jwt_verifier_test
  build: test
  language: c
  src:
  - test/core/security/jwt_verifier_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: grpc_print_google_default_creds_token
  build: tool
  language: c
  src:
  - test/core/security/print_google_default_creds_token.cc
  deps:
  - grpc
  - gpr
  filegroups:
  - cmdline
  uses_polling: false
- name: grpc_security_connector_test
  build: test
  language: c
  src:
  - test/core/security/security_connector_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc_ssl_credentials_test
  build: test
  language: c
  src:
  - test/core/security/ssl_credentials_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc_verify_jwt
  build: tool
  language: c
  src:
  - test/core/security/verify_jwt.cc
  deps:
  - grpc
  - gpr
  filegroups:
  - cmdline
  uses_polling: false
- name: handshake_client
  build: test
  language: c
  src:
  - test/core/handshake/client_ssl.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
  secure: true
- name: handshake_server
  build: test
  language: c
  headers:
  - test/core/handshake/server_ssl_common.h
  src:
  - test/core/handshake/server_ssl.cc
  - test/core/handshake/server_ssl_common.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
  secure: true
- name: handshake_server_with_readahead_handshaker
  build: test
  language: c
  headers:
  - test/core/handshake/server_ssl_common.h
  src:
  - test/core/handshake/readahead_handshaker_server_ssl.cc
  - test/core/handshake/server_ssl_common.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
  secure: true
- name: handshake_verify_peer_options
  build: test
  language: c
  src:
  - test/core/handshake/verify_peer_options.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
  secure: true
- name: histogram_test
  build: test
  language: c
  src:
  - test/core/util/histogram_test.cc
  deps:
  - grpc_test_util
  - gpr
  uses_polling: false
- name: hpack_parser_fuzzer_test
  build: fuzzer
  language: c
  src:
  - test/core/transport/chttp2/hpack_parser_fuzzer_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/transport/chttp2/hpack_parser_corpus
  dict: test/core/end2end/fuzzers/hpack.dictionary
  maxlen: 512
- name: hpack_parser_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/hpack_parser_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: hpack_table_test
  build: test
  language: c
  src:
  - test/core/transport/chttp2/hpack_table_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: http_parser_test
  build: test
  language: c
  src:
  - test/core/http/parser_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: http_request_fuzzer_test
  build: fuzzer
  language: c
  src:
  - test/core/http/request_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/http/request_corpus
  maxlen: 2048
- name: http_response_fuzzer_test
  build: fuzzer
  language: c
  src:
  - test/core/http/response_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/http/response_corpus
  maxlen: 2048
- name: httpcli_format_request_test
  build: test
  language: c
  src:
  - test/core/http/format_request_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: httpcli_test
  cpu_cost: 0.5
  build: test
  language: c
  src:
  - test/core/http/httpcli_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: httpscli_test
  cpu_cost: 0.5
  build: test
  language: c
  src:
  - test/core/http/httpscli_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - linux
- name: init_test
  build: test
  language: c
  src:
  - test/core/surface/init_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: inproc_callback_test
  build: test
  language: c
  headers:
  - test/core/end2end/end2end_tests.h
  src:
  - test/core/end2end/inproc_callback_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: invalid_call_argument_test
  cpu_cost: 0.1
  build: test
  language: c
  src:
  - test/core/end2end/invalid_call_argument_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: json_fuzzer_test
  build: fuzzer
  language: c
  src:
  - test/core/json/fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/json/corpus
  maxlen: 512
- name: json_rewrite
  build: test
  run: false
  language: c
  src:
  - test/core/json/json_rewrite.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: json_rewrite_test
  build: test
  language: c
  src:
  - test/core/json/json_rewrite_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: json_stream_error_test
  build: test
  language: c
  src:
  - test/core/json/json_stream_error_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: json_test
  build: test
  language: c
  src:
  - test/core/json/json_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: lame_client_test
  build: test
  language: c
  src:
  - test/core/surface/lame_client_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: load_file_test
  build: test
  language: c
  src:
  - test/core/iomgr/load_file_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: low_level_ping_pong_benchmark
  build: benchmark
  language: c
  src:
  - test/core/network_benchmarks/low_level_ping_pong.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: memory_profile_client
  build: test
  run: false
  language: c
  src:
  - test/core/memory_usage/client.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: memory_profile_server
  build: test
  run: false
  language: c
  src:
  - test/core/memory_usage/server.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: memory_profile_test
  cpu_cost: 1.5
  build: test
  language: c
  src:
  - test/core/memory_usage/memory_usage_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: message_compress_test
  build: test
  language: c
  src:
  - test/core/compression/message_compress_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: minimal_stack_is_minimal_test
  build: test
  language: c
  src:
  - test/core/channel/minimal_stack_is_minimal_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: multiple_server_queues_test
  build: test
  language: c
  src:
  - test/core/end2end/multiple_server_queues_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: murmur_hash_test
  build: test
  language: c
  src:
  - test/core/gpr/murmur_hash_test.cc
  deps:
  - gpr_test_util
  - gpr
  uses_polling: false
- name: nanopb_fuzzer_response_test
  build: fuzzer
  language: c
  src:
  - test/core/nanopb/fuzzer_response.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/nanopb/corpus_response
  maxlen: 128
- name: nanopb_fuzzer_serverlist_test
  build: fuzzer
  language: c
  src:
  - test/core/nanopb/fuzzer_serverlist.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/nanopb/corpus_serverlist
  maxlen: 128
- name: no_server_test
  cpu_cost: 0.1
  build: test
  language: c
  src:
  - test/core/end2end/no_server_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: num_external_connectivity_watchers_test
  build: test
  language: c
  src:
  - test/core/surface/num_external_connectivity_watchers_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: parse_address_test
  build: test
  language: c
  src:
  - test/core/client_channel/parse_address_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: percent_decode_fuzzer
  build: fuzzer
  language: c
  src:
  - test/core/slice/percent_decode_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/slice/percent_decode_corpus
  maxlen: 32
- name: percent_encode_fuzzer
  build: fuzzer
  language: c
  src:
  - test/core/slice/percent_encode_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/slice/percent_encode_corpus
  maxlen: 32
- name: percent_encoding_test
  build: test
  language: c
  src:
  - test/core/slice/percent_encoding_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: pollset_set_test
  build: test
  language: c
  src:
  - test/core/iomgr/pollset_set_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - linux
- name: resolve_address_posix_test
  build: test
  language: c
  src:
  - test/core/iomgr/resolve_address_posix_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: resolve_address_using_ares_resolver_test
  build: test
  language: c
  src:
  - test/core/iomgr/resolve_address_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  args:
  - --resolver=ares
- name: resolve_address_using_native_resolver_test
  build: test
  language: c
  src:
  - test/core/iomgr/resolve_address_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  args:
  - --resolver=native
- name: resource_quota_test
  cpu_cost: 30
  build: test
  language: c
  src:
  - test/core/iomgr/resource_quota_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: secure_channel_create_test
  build: test
  language: c
  src:
  - test/core/surface/secure_channel_create_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: secure_endpoint_test
  build: test
  language: c
  src:
  - test/core/security/secure_endpoint_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: sequential_connectivity_test
  build: test
  language: c
  src:
  - test/core/surface/sequential_connectivity_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
- name: server_chttp2_test
  build: test
  language: c
  src:
  - test/core/surface/server_chttp2_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: server_fuzzer
  build: fuzzer
  language: c
  src:
  - test/core/end2end/fuzzers/server_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/end2end/fuzzers/server_fuzzer_corpus
  dict: test/core/end2end/fuzzers/hpack.dictionary
  maxlen: 2048
- name: server_test
  build: test
  language: c
  src:
  - test/core/surface/server_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: slice_buffer_test
  build: test
  language: c
  src:
  - test/core/slice/slice_buffer_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: slice_string_helpers_test
  build: test
  language: c
  src:
  - test/core/slice/slice_string_helpers_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: slice_test
  build: test
  language: c
  src:
  - test/core/slice/slice_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: sockaddr_resolver_test
  build: test
  language: c
  src:
  - test/core/client_channel/resolvers/sockaddr_resolver_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: sockaddr_utils_test
  build: test
  language: c
  src:
  - test/core/iomgr/sockaddr_utils_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: socket_utils_test
  build: test
  language: c
  src:
  - test/core/iomgr/socket_utils_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: ssl_server_fuzzer
  build: fuzzer
  language: c
  src:
  - test/core/security/ssl_server_fuzzer.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/security/corpus/ssl_server_corpus
  maxlen: 2048
- name: ssl_transport_security_test
  build: test
  language: c
  src:
  - test/core/tsi/ssl_transport_security_test.cc
  deps:
  - gpr_test_util
  - gpr
  - grpc
  filegroups:
  - transport_security_test_lib
  platforms:
  - linux
  - posix
  - mac
- name: status_conversion_test
  build: test
  language: c
  src:
  - test/core/transport/status_conversion_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: stream_compression_test
  build: test
  language: c
  src:
  - test/core/compression/stream_compression_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: stream_owned_slice_test
  build: test
  language: c
  src:
  - test/core/transport/stream_owned_slice_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: tcp_client_posix_test
  cpu_cost: 0.5
  build: test
  language: c
  src:
  - test/core/iomgr/tcp_client_posix_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: tcp_client_uv_test
  cpu_cost: 0.5
  build: test
  language: c
  src:
  - test/core/iomgr/tcp_client_uv_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - native
- name: tcp_posix_test
  cpu_cost: 0.2
  build: test
  language: c
  src:
  - test/core/iomgr/tcp_posix_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: tcp_server_posix_test
  build: test
  language: c
  src:
  - test/core/iomgr/tcp_server_posix_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: tcp_server_uv_test
  build: test
  language: c
  src:
  - test/core/iomgr/tcp_server_uv_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - native
- name: time_averaged_stats_test
  build: test
  language: c
  src:
  - test/core/iomgr/time_averaged_stats_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: timeout_encoding_test
  build: test
  language: c
  src:
  - test/core/transport/timeout_encoding_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: timer_heap_test
  build: test
  language: c
  src:
  - test/core/iomgr/timer_heap_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  uses_polling: false
- name: timer_list_test
  build: test
  language: c
  src:
  - test/core/iomgr/timer_list_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  uses_polling: false
- name: transport_connectivity_state_test
  build: test
  language: c
  src:
  - test/core/transport/connectivity_state_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: transport_metadata_test
  build: test
  language: c
  src:
  - test/core/transport/metadata_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: transport_security_test
  build: test
  language: c
  src:
  - test/core/tsi/transport_security_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - linux
  - posix
  - mac
- name: udp_server_test
  build: test
  language: c
  src:
  - test/core/iomgr/udp_server_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: uri_fuzzer_test
  build: fuzzer
  language: c
  src:
  - test/core/client_channel/uri_fuzzer_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  corpus_dirs:
  - test/core/client_channel/uri_corpus
  maxlen: 128
- name: uri_parser_test
  build: test
  language: c
  src:
  - test/core/client_channel/uri_parser_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: wakeup_fd_cv_test
  build: test
  language: c
  src:
  - test/core/iomgr/wakeup_fd_cv_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_iomgrs:
  - uv
  platforms:
  - mac
  - linux
  - posix
- name: alarm_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/common/alarm_test.cc
  deps:
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
- name: alts_counter_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/frame_protector/alts_counter_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_crypt_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/crypt/aes_gcm_test.cc
  deps:
  - alts_test_util
  - gpr_test_util
  - gpr
  - grpc
- name: alts_crypter_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/frame_protector/alts_crypter_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_frame_handler_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/frame_protector/frame_handler_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_frame_protector_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/frame_protector/alts_frame_protector_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
  filegroups:
  - transport_security_test_lib
- name: alts_grpc_record_protocol_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_handshaker_client_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/handshaker/alts_handshaker_client_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_handshaker_service_api_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/handshaker/alts_handshaker_service_api_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_iovec_record_protocol_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_security_connector_test
  build: test
  language: c++
  src:
  - test/core/security/alts_security_connector_test.cc
  deps:
  - gpr
  - grpc
- name: alts_tsi_handshaker_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_tsi_utils_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/handshaker/alts_tsi_utils_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: alts_zero_copy_grpc_protector_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: async_end2end_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/async_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: auth_property_iterator_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/common/auth_property_iterator_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: backoff_test
  build: test
  language: c++
  src:
  - test/core/backoff/backoff_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: bdp_estimator_test
  build: test
  language: c++
  src:
  - test/core/transport/bdp_estimator_test.cc
  deps:
  - grpc++_test_util
  - grpc++
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: bm_arena
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_arena.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: bm_call_create
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_call_create.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: bm_channel
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_channel.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: bm_chttp2_hpack
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_chttp2_hpack.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: bm_chttp2_transport
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_chttp2_transport.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
- name: bm_closure
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_closure.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
- name: bm_cq
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_cq.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
- name: bm_cq_multiple_threads
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_cq_multiple_threads.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: bm_error
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_error.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: bm_fullstack_streaming_ping_pong
  build: test
  language: c++
  headers:
  - test/cpp/microbenchmarks/fullstack_streaming_ping_pong.h
  src:
  - test/cpp/microbenchmarks/bm_fullstack_streaming_ping_pong.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  excluded_poll_engines:
  - poll
  - poll-cv
  platforms:
  - mac
  - linux
  - posix
  timeout_seconds: 1200
- name: bm_fullstack_streaming_pump
  build: test
  language: c++
  headers:
  - test/cpp/microbenchmarks/fullstack_streaming_pump.h
  src:
  - test/cpp/microbenchmarks/bm_fullstack_streaming_pump.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  excluded_poll_engines:
  - poll
  - poll-cv
  platforms:
  - mac
  - linux
  - posix
  timeout_seconds: 1200
- name: bm_fullstack_trickle
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_fullstack_trickle.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  exclude_configs:
  - tsan
  excluded_poll_engines:
  - poll
  - poll-cv
  platforms:
  - mac
  - linux
  - posix
  timeout_seconds: 1200
- name: bm_fullstack_unary_ping_pong
  build: test
  language: c++
  headers:
  - test/cpp/microbenchmarks/fullstack_unary_ping_pong.h
  src:
  - test/cpp/microbenchmarks/bm_fullstack_unary_ping_pong.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  excluded_poll_engines:
  - poll
  - poll-cv
  platforms:
  - mac
  - linux
  - posix
  timeout_seconds: 1200
- name: bm_metadata
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_metadata.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: bm_pollset
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/bm_pollset.cc
  deps:
  - grpc_benchmark
  - benchmark
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
  - grpc++_test_config
  benchmark: true
  defaults: benchmark
  platforms:
  - mac
  - linux
  - posix
- name: byte_stream_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/transport/byte_stream_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: channel_arguments_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/common/channel_arguments_test.cc
  deps:
  - grpc++
  - grpc
  - gpr
  uses_polling: false
- name: channel_filter_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/common/channel_filter_test.cc
  deps:
  - grpc++
  - grpc
  - gpr
  uses_polling: false
- name: channel_trace_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/channel/channel_trace_test.cc
  deps:
  - grpc_test_util
  - grpc++_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  filegroups:
  - grpcpp_channelz_proto
  uses:
  - grpc++_test
- name: channelz_registry_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/channel/channelz_registry_test.cc
  deps:
  - grpc_test_util
  - grpc++_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
  uses_polling: false
- name: channelz_service_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/channelz_service_test.cc
  deps:
  - grpcpp_channelz
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  filegroups:
  - grpcpp_channelz_proto
- name: channelz_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/channel/channelz_test.cc
  deps:
  - grpc_test_util
  - grpc++_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  filegroups:
  - grpcpp_channelz_proto
  uses:
  - grpc++_test
- name: check_gcp_environment_linux_test
  build: test
  language: c++
  src:
  - test/core/security/check_gcp_environment_linux_test.cc
  deps:
  - grpc
  - gpr
- name: check_gcp_environment_windows_test
  build: test
  language: c++
  src:
  - test/core/security/check_gcp_environment_windows_test.cc
  deps:
  - grpc
  - gpr
- name: chttp2_settings_timeout_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/transport/chttp2/settings_timeout_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: true
- name: cli_call_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/util/cli_call_test.cc
  deps:
  - grpc_cli_libs
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: client_callback_end2end_test
  gtest: true
  cpu_cost: 0.5
  build: test
  language: c++
  src:
  - test/cpp/end2end/client_callback_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: client_channel_stress_test
  gtest: false
  build: test
  language: c++
  src:
  - src/proto/grpc/lb/v1/load_balancer.proto
  - test/cpp/client/client_channel_stress_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: client_crash_test
  gtest: true
  cpu_cost: 0.1
  build: test
  language: c++
  src:
  - test/cpp/end2end/client_crash_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: client_crash_test_server
  build: test
  run: false
  language: c++
  src:
  - test/cpp/end2end/client_crash_test_server.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: client_lb_end2end_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/client_lb_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: codegen_test_full
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/control.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/payloads.proto
  - src/proto/grpc/testing/benchmark_service.proto
  - src/proto/grpc/testing/report_qps_scenario_service.proto
  - src/proto/grpc/testing/worker_service.proto
  - src/proto/grpc/testing/stats.proto
  - test/cpp/codegen/codegen_test_full.cc
  deps:
  - grpc++_core_stats
  - grpc++
  - grpc
  - gpr
  filegroups:
  - grpc++_codegen_base
  uses_polling: false
- name: codegen_test_minimal
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/control.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/payloads.proto
  - src/proto/grpc/testing/benchmark_service.proto
  - src/proto/grpc/testing/report_qps_scenario_service.proto
  - src/proto/grpc/testing/worker_service.proto
  - src/proto/grpc/testing/stats.proto
  - test/cpp/codegen/codegen_test_minimal.cc
  deps:
  - grpc++_core_stats
  - grpc
  - gpr
  filegroups:
  - grpc++_codegen_base
  - grpc++_codegen_base_src
  uses_polling: false
- name: credentials_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/client/credentials_test.cc
  deps:
  - grpc++
  - grpc
  - gpr
- name: cxx_byte_buffer_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/util/byte_buffer_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: cxx_slice_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/util/slice_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: cxx_string_ref_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/util/string_ref_test.cc
  deps:
  - grpc++
  - grpc
  uses_polling: false
- name: cxx_time_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/util/time_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: end2end_test
  gtest: true
  cpu_cost: 0.5
  build: test
  language: c++
  src:
  - test/cpp/end2end/end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: error_details_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/echo_messages.proto
  - test/cpp/util/error_details_test.cc
  deps:
  - grpc++_error_details
  - grpc++
- name: exception_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/exception_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: filter_end2end_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/filter_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: generic_end2end_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/generic_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: golden_file_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/compiler_test.proto
  - test/cpp/codegen/golden_file_test.cc
  deps:
  - grpc++
  - grpc
  - gpr
  args:
  - --generated_file_path=gens/src/proto/grpc/testing/
  uses_polling: false
- name: grpc_alts_credentials_options_test
  build: test
  language: c++
  src:
  - test/core/security/grpc_alts_credentials_options_test.cc
  deps:
  - grpc
  - gpr
- name: grpc_cli
  build: test
  run: false
  language: c++
  src:
  - test/cpp/util/grpc_cli.cc
  deps:
  - grpc_cli_libs
  - grpc++_proto_reflection_desc_db
  - grpc++
  - grpc
  - gpr
  - grpc++_test_config
- name: grpc_cpp_plugin
  build: protoc
  language: c++
  src:
  - src/compiler/cpp_plugin.cc
  deps:
  - grpc_plugin_support
  secure: false
  vs_config_type: Application
  vs_project_guid: '{7E51A25F-AC59-488F-906C-C60FAAE706AA}'
- name: grpc_csharp_plugin
  build: protoc
  language: c++
  src:
  - src/compiler/csharp_plugin.cc
  deps:
  - grpc_plugin_support
  secure: false
  vs_config_type: Application
  vs_project_guid: '{3C813052-A49A-4662-B90A-1ADBEC7EE453}'
- name: grpc_linux_system_roots_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/security/linux_system_roots_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: grpc_node_plugin
  build: protoc
  language: c++
  src:
  - src/compiler/node_plugin.cc
  deps:
  - grpc_plugin_support
  secure: false
  vs_config_type: Application
- name: grpc_objective_c_plugin
  build: protoc
  language: c++
  src:
  - src/compiler/objective_c_plugin.cc
  deps:
  - grpc_plugin_support
  secure: false
  vs_config_type: Application
  vs_project_guid: '{19564640-CEE6-4921-ABA5-676ED79A36F6}'
- name: grpc_php_plugin
  build: protoc
  language: c++
  src:
  - src/compiler/php_plugin.cc
  deps:
  - grpc_plugin_support
  secure: false
  vs_config_type: Application
- name: grpc_python_plugin
  build: protoc
  language: c++
  src:
  - src/compiler/python_plugin.cc
  deps:
  - grpc_plugin_support
  secure: false
  vs_config_type: Application
  vs_project_guid: '{DF52D501-A6CF-4E6F-BA38-6EBE2E8DAFB2}'
- name: grpc_ruby_plugin
  build: protoc
  language: c++
  src:
  - src/compiler/ruby_plugin.cc
  deps:
  - grpc_plugin_support
  secure: false
  vs_config_type: Application
  vs_project_guid: '{069E9D05-B78B-4751-9252-D21EBAE7DE8E}'
- name: grpc_tool_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/echo.proto
  - src/proto/grpc/testing/echo_messages.proto
  - test/cpp/util/grpc_tool_test.cc
  deps:
  - grpc_cli_libs
  - grpc++_proto_reflection_desc_db
  - grpc++_reflection
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  filegroups:
  - grpc++_codegen_proto
- name: grpclb_api_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/lb/v1/load_balancer.proto
  - test/cpp/grpclb/grpclb_api_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
- name: grpclb_end2end_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/lb/v1/load_balancer.proto
  - test/cpp/end2end/grpclb_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: h2_ssl_cert_test
  gtest: true
  build: test
  language: c++
  headers:
  - test/core/end2end/end2end_tests.h
  src:
  - test/core/end2end/h2_ssl_cert_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
- name: h2_ssl_session_reuse_test
  gtest: true
  build: test
  language: c++
  headers:
  - test/core/end2end/end2end_tests.h
  src:
  - test/core/end2end/h2_ssl_session_reuse_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
- name: health_service_end2end_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/health_service_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: http2_client
  build: test
  run: false
  language: c++
  src: []
  deps:
  - http2_client_main
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: hybrid_end2end_test
  flaky: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/hybrid_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: inlined_vector_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/gprpp/inlined_vector_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
- name: inproc_sync_unary_ping_pong_test
  build: test
  language: c++
  src:
  - test/cpp/qps/inproc_sync_unary_ping_pong_test.cc
  deps:
  - qps
  - grpc++_core_stats
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: interop_client
  build: test
  run: false
  language: c++
  src: []
  deps:
  - interop_client_main
  - interop_client_helper
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: interop_server
  build: test
  run: false
  language: c++
  src: []
  deps:
  - interop_server_main
  - interop_server_helper
  - interop_server_lib
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: interop_test
  cpu_cost: 0.1
  build: test
  language: c++
  src:
  - test/cpp/interop/interop_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: json_run_localhost
  build: test
  run: false
  language: c++
  src:
  - test/cpp/qps/json_run_localhost.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: memory_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/gprpp/memory_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
  uses_polling: false
- name: metrics_client
  build: test
  run: false
  language: c++
  headers:
  - test/cpp/util/metrics_server.h
  src:
  - src/proto/grpc/testing/metrics.proto
  - test/cpp/interop/metrics_client.cc
  deps:
  - grpc++
  - grpc
  - gpr
  - grpc++_test_config
- name: mock_test
  gtest: true
  build: test
  language: c++
  headers:
  - include/grpc++/test/mock_stream.h
  - include/grpcpp/test/mock_stream.h
  src:
  - test/cpp/end2end/mock_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: nonblocking_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/nonblocking_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: noop-benchmark
  build: test
  language: c++
  src:
  - test/cpp/microbenchmarks/noop-benchmark.cc
  deps:
  - benchmark
  defaults: benchmark
- name: orphanable_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/gprpp/orphanable_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
- name: proto_server_reflection_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/proto_server_reflection_test.cc
  deps:
  - grpc++_proto_reflection_desc_db
  - grpc++_reflection
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: proto_utils_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/codegen/proto_utils_test.cc
  deps:
  - grpc++
  - grpc
  filegroups:
  - grpc++_codegen_base
  - grpc++_codegen_proto
  uses_polling: false
- name: qps_interarrival_test
  build: test
  run: false
  language: c++
  src:
  - test/cpp/qps/qps_interarrival_test.cc
  deps:
  - qps
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
  uses_polling: false
- name: qps_json_driver
  build: test
  run: false
  language: c++
  src:
  - test/cpp/qps/qps_json_driver.cc
  deps:
  - qps
  - grpc++_core_stats
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
- name: qps_openloop_test
  cpu_cost: 0.5
  build: test
  language: c++
  src:
  - test/cpp/qps/qps_openloop_test.cc
  deps:
  - qps
  - grpc++_core_stats
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: qps_worker
  build: test
  run: false
  language: c++
  headers:
  - test/cpp/qps/client.h
  - test/cpp/qps/server.h
  src:
  - test/cpp/qps/worker.cc
  deps:
  - qps
  - grpc++_core_stats
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
- name: raw_end2end_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/raw_end2end_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: reconnect_interop_client
  build: test
  run: false
  language: c++
  src:
  - src/proto/grpc/testing/empty.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/test.proto
  - test/cpp/interop/reconnect_interop_client.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
- name: reconnect_interop_server
  build: test
  run: false
  language: c++
  src:
  - src/proto/grpc/testing/empty.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/test.proto
  - test/cpp/interop/reconnect_interop_server.cc
  deps:
  - reconnect_server
  - test_tcp_server
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
- name: ref_counted_ptr_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/gprpp/ref_counted_ptr_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
- name: ref_counted_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/gprpp/ref_counted_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
- name: retry_throttle_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/client_channel/retry_throttle_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: secure_auth_context_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/common/secure_auth_context_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: secure_sync_unary_ping_pong_test
  build: test
  language: c++
  src:
  - test/cpp/qps/secure_sync_unary_ping_pong_test.cc
  deps:
  - qps
  - grpc++_core_stats
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
  platforms:
  - mac
  - linux
  - posix
- name: server_builder_plugin_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/server_builder_plugin_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: server_builder_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/echo_messages.proto
  - src/proto/grpc/testing/echo.proto
  - test/cpp/server/server_builder_test.cc
  deps:
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - gpr_test_util
  - grpc++_unsecure
  - grpc_unsecure
  - gpr
- name: server_builder_with_socket_mutator_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/echo_messages.proto
  - src/proto/grpc/testing/echo.proto
  - test/cpp/server/server_builder_with_socket_mutator_test.cc
  deps:
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - gpr_test_util
  - grpc++_unsecure
  - grpc_unsecure
  - gpr
  platforms:
  - posix
- name: server_context_test_spouse_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/test/server_context_test_spouse_test.cc
  deps:
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  uses:
  - grpc++_test
- name: server_crash_test
  gtest: true
  cpu_cost: 0.1
  build: test
  language: c++
  src:
  - test/cpp/end2end/server_crash_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: server_crash_test_client
  build: test
  run: false
  language: c++
  src:
  - test/cpp/end2end/server_crash_test_client.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: server_early_return_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/server_early_return_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: server_request_call_test
  gtest: true
  build: test
  language: c++
  src:
  - src/proto/grpc/testing/echo_messages.proto
  - src/proto/grpc/testing/echo.proto
  - test/cpp/server/server_request_call_test.cc
  deps:
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - gpr_test_util
  - grpc++_unsecure
  - grpc_unsecure
  - gpr
- name: shutdown_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/shutdown_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
- name: slice_hash_table_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/slice/slice_hash_table_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: slice_weak_hash_table_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/slice/slice_weak_hash_table_test.cc
  deps:
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  uses_polling: false
- name: stats_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/debug/stats_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
  exclude_configs:
  - tsan
  timeout_seconds: 1200
  uses_polling: false
- name: status_metadata_test
  gtest: true
  build: test
  language: c++
  src:
  - test/core/transport/status_metadata_test.cc
  deps:
  - grpc
  uses_polling: false
- name: status_util_test
  gtest: true
  cpu_cost: 0.1
  build: test
  language: c++
  src:
  - test/core/channel/status_util_test.cc
  deps:
  - grpc
  uses_polling: false
- name: streaming_throughput_test
  gtest: true
  build: test
  language: c++
  src:
  - test/cpp/end2end/streaming_throughput_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: stress_test
  build: test
  run: false
  language: c++
  headers:
  - test/cpp/interop/client_helper.h
  - test/cpp/interop/interop_client.h
  - test/cpp/interop/stress_interop_client.h
  - test/cpp/util/create_test_channel.h
  - test/cpp/util/metrics_server.h
  src:
  - src/proto/grpc/testing/empty.proto
  - src/proto/grpc/testing/messages.proto
  - src/proto/grpc/testing/metrics.proto
  - src/proto/grpc/testing/test.proto
  - test/cpp/interop/interop_client.cc
  - test/cpp/interop/stress_interop_client.cc
  - test/cpp/interop/stress_test.cc
  - test/cpp/util/metrics_server.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  - grpc++_test_config
- name: thread_manager_test
  build: test
  language: c++
  src:
  - test/cpp/thread_manager/thread_manager_test.cc
  deps:
  - grpc++_unsecure
  - grpc_unsecure
  - gpr
  - grpc++_test_config
- name: thread_stress_test
  gtest: true
  cpu_cost: 100
  build: test
  language: c++
  src:
  - test/cpp/end2end/thread_stress_test.cc
  deps:
  - grpc++_test_util_unsecure
  - grpc_test_util_unsecure
  - grpc++_unsecure
  - grpc_unsecure
  - gpr_test_util
  - gpr
- name: transport_pid_controller_test
  build: test
  language: c++
  src:
  - test/core/transport/pid_controller_test.cc
  deps:
  - grpc++_test_util
  - grpc++
  - grpc_test_util
  - grpc
  - gpr_test_util
  - gpr
- name: transport_security_common_api_test
  build: test
  language: c++
  src:
  - test/core/tsi/alts/handshaker/transport_security_common_api_test.cc
  deps:
  - alts_test_util
  - gpr
  - grpc
- name: writes_per_rpc_test
  gtest: true
  cpu_cost: 0.5
  build: test
  language: c++
  src:
  - test/cpp/performance/writes_per_rpc_test.cc
  deps:
  - grpc++_test_util
  - grpc_test_util
  - grpc++
  - grpc
  - gpr_test_util
  - gpr
  platforms:
  - mac
  - linux
  - posix
- name: public_headers_must_be_c89
  build: test
  language: c89
  src:
  - test/core/surface/public_headers_must_be_c89.c
  deps:
  - grpc
  - gpr
- name: gen_hpack_tables
  build: tool
  language: cc
  src:
  - tools/codegen/core/gen_hpack_tables.cc
  deps:
  - gpr
  - grpc
  uses_polling: false
- name: gen_legal_metadata_characters
  build: tool
  language: cc
  src:
  - tools/codegen/core/gen_legal_metadata_characters.cc
  deps: []
- name: gen_percent_encoding_tables
  build: tool
  language: cc
  src:
  - tools/codegen/core/gen_percent_encoding_tables.cc
  deps: []
  uses_polling: false
vspackages:
- linkage: static
  name: grpc.dependencies.zlib
  props: false
  redist: true
  version: 1.2.8.10
- linkage: static
  name: grpc.dependencies.openssl
  props: true
  redist: true
  version: 1.0.204.1
- name: gflags
  props: false
  redist: false
  version: 2.1.2.1
- name: gtest
  props: false
  redist: false
  version: 1.7.0.1
configs:
  asan:
    CC: clang
    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer
      -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
    CXX: clang++
    LD: clang++
    LDFLAGS: -fsanitize=address
    LDXX: clang++
    compile_the_world: true
    test_environ:
      ASAN_OPTIONS: detect_leaks=1:color=always
      LSAN_OPTIONS: suppressions=test/core/util/lsan_suppressions.txt:report_objects=1
  asan-noleaks:
    CC: clang
    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer
      -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
    CXX: clang++
    LD: clang++
    LDFLAGS: -fsanitize=address
    LDXX: clang++
    compile_the_world: true
    test_environ:
      ASAN_OPTIONS: detect_leaks=0:color=always
  asan-trace-cmp:
    CC: clang
    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize-coverage=trace-cmp
      -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument
      -DGPR_NO_DIRECT_SYSCALLS
    CXX: clang++
    LD: clang++
    LDFLAGS: -fsanitize=address
    LDXX: clang++
    compile_the_world: true
    test_environ:
      ASAN_OPTIONS: detect_leaks=1:color=always
      LSAN_OPTIONS: suppressions=test/core/util/lsan_suppressions.txt:report_objects=1
  basicprof:
    CPPFLAGS: -O2 -DGRPC_BASIC_PROFILER -DGRPC_TIMERS_RDTSC
    DEFINES: NDEBUG
  c++-compat:
    CFLAGS: -Wc++-compat
    CPPFLAGS: -O0
    DEFINES: _DEBUG DEBUG
  counters:
    CPPFLAGS: -O2 -DGPR_LOW_LEVEL_COUNTERS
    DEFINES: NDEBUG
  dbg:
    CPPFLAGS: -O0
    DEFINES: _DEBUG DEBUG
  gcov:
    CC: gcc
    CPPFLAGS: -O0 -fprofile-arcs -ftest-coverage -Wno-return-type
    CXX: g++
    DEFINES: _DEBUG DEBUG GPR_GCOV
    LD: gcc
    LDFLAGS: -fprofile-arcs -ftest-coverage -rdynamic -lstdc++
    LDXX: g++
  helgrind:
    CPPFLAGS: -O0
    DEFINES: _DEBUG DEBUG
    LDFLAGS: -rdynamic
    valgrind: --tool=helgrind
  lto:
    CPPFLAGS: -O2
    DEFINES: NDEBUG
  memcheck:
    CPPFLAGS: -O0
    DEFINES: _DEBUG DEBUG
    LDFLAGS: -rdynamic
    valgrind: --tool=memcheck --leak-check=full
  msan:
    CC: clang
    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=memory -fsanitize-memory-track-origins
      -fsanitize-memory-use-after-dtor -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0
      -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie -DGPR_NO_DIRECT_SYSCALLS
    CXX: clang++
    DEFINES: NDEBUG
    LD: clang++
    LDFLAGS: -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1
      -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,)
    LDXX: clang++
    compile_the_world: true
    test_environ:
      MSAN_OPTIONS: poison_in_dtor=1
  mutrace:
    CPPFLAGS: -O3 -fno-omit-frame-pointer
    DEFINES: NDEBUG
    LDFLAGS: -rdynamic
  noexcept:
    CPPFLAGS: -O2 -Wframe-larger-than=16384
    CXXFLAGS: -fno-exceptions
    DEFINES: NDEBUG
  opt:
    CPPFLAGS: -O2 -Wframe-larger-than=16384
    DEFINES: NDEBUG
  stapprof:
    CPPFLAGS: -O2 -DGRPC_STAP_PROFILER
    DEFINES: NDEBUG
  tsan:
    CC: clang
    CPPFLAGS: -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument
      -DGPR_NO_DIRECT_SYSCALLS
    CXX: clang++
    DEFINES: GRPC_TSAN
    LD: clang++
    LDFLAGS: -fsanitize=thread
    LDXX: clang++
    compile_the_world: true
    test_environ:
      TSAN_OPTIONS: suppressions=test/core/util/tsan_suppressions.txt:halt_on_error=1:second_deadlock_stack=1
  ubsan:
    CC: clang
    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=undefined -fno-omit-frame-pointer
      -Wno-unused-command-line-argument -Wvarargs
    CXX: clang++
    DEFINES: NDEBUG GRPC_UBSAN
    LD: clang++
    LDFLAGS: -fsanitize=undefined,unsigned-integer-overflow
    LDXX: clang++
    compile_the_world: true
    test_environ:
      UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1:suppressions=test/core/util/ubsan_suppressions.txt
defaults:
  ares:
    CFLAGS: -Wno-sign-conversion $(if $(subst Darwin,,$(SYSTEM)),,-Wno-shorten-64-to-32)
      $(if $(subst MINGW32,,$(SYSTEM)),-Wno-invalid-source-encoding,)
    CPPFLAGS: -Ithird_party/cares -Ithird_party/cares/cares -fvisibility=hidden -D_GNU_SOURCE
      $(if $(subst Darwin,,$(SYSTEM)),,-Ithird_party/cares/config_darwin) $(if $(subst
      FreeBSD,,$(SYSTEM)),,-Ithird_party/cares/config_freebsd) $(if $(subst Linux,,$(SYSTEM)),,-Ithird_party/cares/config_linux)
      $(if $(subst OpenBSD,,$(SYSTEM)),,-Ithird_party/cares/config_openbsd) -DWIN32_LEAN_AND_MEAN
      -D_HAS_EXCEPTIONS=0 -DNOMINMAX $(if $(subst MINGW32,,$(SYSTEM)),-DHAVE_CONFIG_H,)
  benchmark:
    CPPFLAGS: -Ithird_party/benchmark/include -DHAVE_POSIX_REGEX
  boringssl:
    CFLAGS: -Wno-sign-conversion -Wno-conversion -Wno-unused-value -Wno-unknown-pragmas
      -Wno-implicit-function-declaration -Wno-unused-variable -Wno-sign-compare -Wno-implicit-fallthrough
      $(NO_W_EXTRA_SEMI)
    CPPFLAGS: -Ithird_party/boringssl/include -fvisibility=hidden -DOPENSSL_NO_ASM
      -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN -D_HAS_EXCEPTIONS=0 -DNOMINMAX
    CXXFLAGS: -fno-rtti -fno-exceptions
  cxxabi:
    CPPFLAGS: -D_LIBCPP_DISABLE_EXTERN_TEMPLATE -D_LIBCXXABI_BUILDING_LIBRARY -D_LIBCXXABI_NO_EXCEPTIONS
      -Ithird_party/libcxxabi/include -nostdinc++ -Ithird_party/libcxx/include $(W_NO_UNUSED_BUT_SET_VARIABLE)
      $(W_NO_MAYBE_UNINITIALIZED) -fvisibility=hidden
    CXXFLAGS: $(W_NO_CXX14_COMPAT)
  global:
    COREFLAGS: -fno-rtti -fno-exceptions
    CPPFLAGS: -g -Wall -Wextra -Werror -Wno-long-long -Wno-unused-parameter -DOSATOMIC_USE_INLINED=1
      -Wno-deprecated-declarations -Ithird_party/nanopb -DPB_FIELD_32BIT
    CXXFLAGS: -Wnon-virtual-dtor
    LDFLAGS: -g
  zlib:
    CFLAGS: -Wno-sign-conversion -Wno-conversion -Wno-unused-value -Wno-implicit-function-declaration
      -Wno-implicit-fallthrough $(W_NO_SHIFT_NEGATIVE_VALUE) -fvisibility=hidden
openssl_fallback:
  base_uri: https://openssl.org/source/old/1.0.2/
  extraction_dir: openssl-1.0.2f
  tarball: openssl-1.0.2f.tar.gz
php_config_m4:
  deps:
  - grpc
  - gpr
  - boringssl
  - z
  - address_sorting
  headers:
  - src/php/ext/grpc/byte_buffer.h
  - src/php/ext/grpc/call.h
  - src/php/ext/grpc/call_credentials.h
  - src/php/ext/grpc/channel.h
  - src/php/ext/grpc/channel_credentials.h
  - src/php/ext/grpc/completion_queue.h
  - src/php/ext/grpc/php7_wrapper.h
  - src/php/ext/grpc/php_grpc.h
  - src/php/ext/grpc/server.h
  - src/php/ext/grpc/server_credentials.h
  - src/php/ext/grpc/timeval.h
  - src/php/ext/grpc/version.h
  src:
  - src/php/ext/grpc/byte_buffer.c
  - src/php/ext/grpc/call.c
  - src/php/ext/grpc/call_credentials.c
  - src/php/ext/grpc/channel.c
  - src/php/ext/grpc/channel_credentials.c
  - src/php/ext/grpc/completion_queue.c
  - src/php/ext/grpc/php_grpc.c
  - src/php/ext/grpc/server.c
  - src/php/ext/grpc/server_credentials.c
  - src/php/ext/grpc/timeval.c
python_dependencies:
  deps:
  - grpc
  - gpr
  - ares
  - boringssl
  - z
  - address_sorting
ruby_gem:
  deps:
  - grpc
  - gpr
  - ares
  - boringssl
  - z
  - address_sorting