diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index d3e4f6b9074..37f8109d7b6 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -92,21 +92,6 @@ load("@hedron_compile_commands//:workspace_setup_transitive_transitive_transitiv hedron_compile_commands_setup_transitive_transitive_transitive() -http_archive( - name = "rules_python", - sha256 = "be04b635c7be4604be1ef20542e9870af3c49778ce841ee2d92fcb42f9d9516a", - strip_prefix = "rules_python-0.35.0", - urls = [ - # Implements retry by relisting each url multiple times to be used as a failover. - # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries - "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.35.0.tar.gz", - "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.35.0.tar.gz", - "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.35.0.tar.gz", - "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.35.0.tar.gz", - "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.35.0.tar.gz", - ], -) - http_archive( name = "platforms", sha256 = "8150406605389ececb6da07cbcb509d5637a3ab9a24bc69b1101531367d89d74", @@ -211,3 +196,55 @@ npm_translate_lock( load("@npm//:repositories.bzl", "npm_repositories") npm_repositories() + +# Sub in the system openssl for boringssl since we don't want two implementations of +# ssl in the same address space. +new_local_repository( + name = "boringssl", + build_file_content = """ +cc_library( + name = "crypto", + linkopts = ["-lcrypto"], + visibility = ["//visibility:public"], +) +cc_library( + name = "ssl", + linkopts = ["-lssl"], + visibility = ["//visibility:public"], +) +""", + path = "bazel/_openssl_placeholder_for_grpc", +) + +# Overloads for the vendored repositories. +# +# WARNING: Don't change the order of the deps() calls and local_repositories. +# They're read linearly dependencies that come first override later +# ones. Dependency updates might change the correct order, though it's +# unlikely. This is obviously a temporary solution and will no longer +# be necessary once migration to bzlmod is complete. + +# Note: rules_python is implicitly loaded with a grpc-compatible version. + +local_repository( + name = "com_google_absl", + path = "src/third_party/abseil-cpp/dist", +) + +local_repository( + name = "com_google_protobuf", + path = "src/third_party/protobuf/dist", +) + +local_repository( + name = "com_github_grpc_grpc", + path = "src/third_party/grpc/dist", +) + +load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps") + +grpc_deps() + +load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") + +grpc_extra_deps() diff --git a/bazel/_openssl_placeholder_for_grpc/.placeholder b/bazel/_openssl_placeholder_for_grpc/.placeholder new file mode 100644 index 00000000000..fdffa2a0fd7 --- /dev/null +++ b/bazel/_openssl_placeholder_for_grpc/.placeholder @@ -0,0 +1 @@ +# placeholder diff --git a/bazel/mongo_src_rules.bzl b/bazel/mongo_src_rules.bzl index c6917f1efa0..f103d3a8d00 100644 --- a/bazel/mongo_src_rules.bzl +++ b/bazel/mongo_src_rules.bzl @@ -4,6 +4,10 @@ BUILD files in the "src/" subtree. load("@poetry//:dependencies.bzl", "dependency") load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_github_grpc_grpc//bazel:generate_cc.bzl", "generate_cc") +load("@com_github_grpc_grpc//bazel:protobuf.bzl", "well_known_proto_libs") +load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") load( "//bazel:header_deps.bzl", "HEADER_DEP_SUFFIX", @@ -1328,6 +1332,7 @@ def mongo_cc_library( hdrs = [], textual_hdrs = [], deps = [], + cc_deps = [], header_deps = [], testonly = False, visibility = None, @@ -1354,6 +1359,7 @@ def mongo_cc_library( textual_hdrs: Textual headers. Might be used to include cpp files without compiling them. deps: The targets the library depends on. + cc_deps: Same as deps, but doesn't get added as shared library dep. header_deps: The targets the library depends on only for headers, omits linking. testonly: Whether or not the target is purely for tests. @@ -1461,7 +1467,7 @@ def mongo_cc_library( create_link_deps( name = name + LINK_DEP_SUFFIX, target_name = name, - link_deps = [name] + deps, + link_deps = [name] + deps + cc_deps, tags = ["scons_link_lists"], target_compatible_with = target_compatible_with + enterprise_compatible, ) @@ -1471,7 +1477,7 @@ def mongo_cc_library( name = name + SHARED_ARCHIVE_SUFFIX, srcs = srcs + SANITIZER_DENYLIST_HEADERS, hdrs = hdrs + fincludes_hdr + MONGO_GLOBAL_ACCESSIBLE_HEADERS, - deps = deps + [name + HEADER_DEP_SUFFIX], + deps = deps + cc_deps + [name + HEADER_DEP_SUFFIX], textual_hdrs = textual_hdrs, visibility = visibility, testonly = testonly, @@ -1494,7 +1500,7 @@ def mongo_cc_library( name = name + WITH_DEBUG_SUFFIX, srcs = srcs + SANITIZER_DENYLIST_HEADERS, hdrs = hdrs + fincludes_hdr + MONGO_GLOBAL_ACCESSIBLE_HEADERS, - deps = deps + [name + HEADER_DEP_SUFFIX], + deps = deps + cc_deps + [name + HEADER_DEP_SUFFIX], textual_hdrs = textual_hdrs, visibility = visibility, testonly = testonly, @@ -1509,7 +1515,7 @@ def mongo_cc_library( features = MONGO_GLOBAL_FEATURES + select({ "//bazel/config:linkstatic_disabled": ["supports_pic", "pic"], "//bazel/config:shared_archive_enabled": ["supports_pic", "pic"], - "//conditions:default": ["pie"], + "//conditions:default": ["-pic", "pie"], }) + features, target_compatible_with = target_compatible_with + enterprise_compatible, additional_linker_inputs = additional_linker_inputs + MONGO_GLOBAL_ADDITIONAL_LINKER_INPUTS, @@ -1552,7 +1558,7 @@ def mongo_cc_library( "//conditions:default": None, }), visibility = visibility, - deps = deps + [name + HEADER_DEP_SUFFIX], + deps = deps + cc_deps + [name + HEADER_DEP_SUFFIX], ) def _mongo_cc_binary_and_program( @@ -1634,7 +1640,7 @@ def _mongo_cc_binary_and_program( "local_defines": MONGO_GLOBAL_DEFINES + local_defines, "defines": defines, "includes": includes, - "features": MONGO_GLOBAL_FEATURES + ["pie"] + features + select({ + "features": MONGO_GLOBAL_FEATURES + ["-pic", "pie"] + features + select({ "@platforms//os:windows": ["generate_pdb_file"], "//conditions:default": [], }), @@ -1914,3 +1920,118 @@ symlink = rule( ), }, ) + +def strip_deps_impl(ctx): + cc_toolchain = find_cpp_toolchain(ctx) + feature_configuration = cc_common.configure_features( + ctx = ctx, + cc_toolchain = cc_toolchain, + requested_features = ctx.features, + unsupported_features = ctx.disabled_features, + ) + + linker_input = ctx.attr.input[CcInfo].linking_context.linker_inputs.to_list()[0] + linking_context = cc_common.create_linking_context(linker_inputs = depset(direct = [linker_input], transitive = [])) + + return [DefaultInfo(files = ctx.attr.input.files), CcInfo( + compilation_context = ctx.attr.input[CcInfo].compilation_context, + linking_context = linking_context, + )] + +strip_deps = rule( + strip_deps_impl, + attrs = { + "input": attr.label( + providers = [CcInfo], + ), + }, + provides = [CcInfo], + toolchains = ["@bazel_tools//tools/cpp:toolchain_type"], + fragments = ["cpp"], +) + +def dummy_file_impl(ctx): + ctx.actions.write( + output = ctx.outputs.output, + content = "", + ) + + return [DefaultInfo(files = depset([ctx.outputs.output]))] + +dummy_file = rule( + dummy_file_impl, + attrs = { + "output": attr.output( + doc = "The output of this rule.", + ), + }, +) + +def mongo_proto_library( + name, + srcs, + **kwargs): + proto_library( + name = name, + srcs = srcs, + **kwargs + ) + + dummy_file( + name = name + "_dummy_debug_symbol", + output = "lib" + name + ".so.debug", + ) + +def mongo_cc_proto_library( + name, + deps, + **kwargs): + native.cc_proto_library( + name = name, + deps = deps, + **kwargs + ) + + dummy_file( + name = name + "_dummy_debug_symbol", + output = "lib" + name + ".so.debug", + ) + +def mongo_cc_grpc_library( + name, + srcs, + cc_proto, + deps = [], + grpc_only = True, + proto_only = False, + well_known_protos = False, + generate_mocks = False, + **kwargs): + codegen_grpc_target = "_" + name + "_grpc_codegen" + generate_cc( + name = codegen_grpc_target, + srcs = srcs, + plugin = "//src/third_party/grpc:grpc_cpp_plugin", + well_known_protos = well_known_protos, + generate_mocks = generate_mocks, + **kwargs + ) + + # cc_proto_library tacks on unnecessary link-time dependencies to + # @com_google_protobuf and @com_google_absl, forcefully remove them + # to avoid intefering with thin targets link line generation. + cc_proto_target = "_" + name + "_cc_proto_stripped_deps" + strip_deps( + name = cc_proto_target, + input = cc_proto, + ) + + mongo_cc_library( + name = name, + srcs = [":" + codegen_grpc_target], + hdrs = [":" + codegen_grpc_target], + deps = deps + + ["//src/third_party/grpc:grpc++_codegen_proto"], + cc_deps = [":" + cc_proto_target], + **kwargs + ) diff --git a/bazel/toolchains/mongo_cc_toolchain_config.bzl b/bazel/toolchains/mongo_cc_toolchain_config.bzl index 2e62ec8c890..27a99fb16c1 100644 --- a/bazel/toolchains/mongo_cc_toolchain_config.bzl +++ b/bazel/toolchains/mongo_cc_toolchain_config.bzl @@ -389,12 +389,12 @@ def _impl(ctx): supports_pic_feature = feature( name = "supports_pic", - enabled = False, + enabled = True, ) pic_feature = feature( name = "pic", - enabled = False, + enabled = True, flag_sets = [ flag_set( actions = [ @@ -603,6 +603,42 @@ def _impl(ctx): ], ) + # Warn when hiding a virtual function. + overloaded_virtual_warning_feature = feature( + name = "overloaded_virtual_warning", + enabled = False, + flag_sets = [ + flag_set( + actions = all_cpp_compile_actions, + flag_groups = [flag_group(flags = ["-Woverloaded-virtual"])], + ), + ], + ) + + # Warn when hiding a virtual function. + no_overloaded_virtual_warning_feature = feature( + name = "no_overloaded_virtual_warning", + enabled = False, + flag_sets = [ + flag_set( + actions = all_cpp_compile_actions, + flag_groups = [flag_group(flags = ["-Wno-overloaded-virtual"])], + ), + ], + ) + + # Warn about moves of prvalues, which can inhibit copy elision. + pessimizing_move_warning_feature = feature( + name = "pessimizing_move_warning", + enabled = True, + flag_sets = [ + flag_set( + actions = all_cpp_compile_actions, + flag_groups = [flag_group(flags = ["-Wpessimizing-move"])], + ), + ], + ) + features = [ bin_dirs_feature, default_compile_flags_feature, @@ -636,6 +672,9 @@ def _impl(ctx): no_deprecated_enum_enum_conversion_feature, no_volatile_feature, fsized_deallocation_feature, + overloaded_virtual_warning_feature, + no_overloaded_virtual_warning_feature, + pessimizing_move_warning_feature, ] return [ diff --git a/site_scons/site_tools/protobuf_compiler.py b/site_scons/site_tools/protobuf_compiler.py index 4bb918b9f76..320acc412dd 100644 --- a/site_scons/site_tools/protobuf_compiler.py +++ b/site_scons/site_tools/protobuf_compiler.py @@ -119,8 +119,6 @@ def protoc_emitter(target, source, env): new_targets += [env.File(f"{base_file_name}{ext}") for ext in exts] - env.Alias("generated-sources", new_targets) - return new_targets, source diff --git a/src/mongo/transport/SConscript b/src/mongo/transport/SConscript index 0e8674348bd..a09e7b1e975 100644 --- a/src/mongo/transport/SConscript +++ b/src/mongo/transport/SConscript @@ -134,7 +134,8 @@ tlEnv.CppUnitTest( "$BUILD_DIR/mongo/util/concurrency/thread_pool", "$BUILD_DIR/mongo/util/periodic_runner_factory" if shouldBuildGRPC(tlEnv) else [], "$BUILD_DIR/third_party/asio-master/asio", - "$BUILD_DIR/third_party/shim_grpc" if shouldBuildGRPC(tlEnv) else [], + "$BUILD_DIR/third_party/grpc/grpc++_reflection" if shouldBuildGRPC(tlEnv) else [], + "$BUILD_DIR/third_party/protobuf/protobuf" if shouldBuildGRPC(tlEnv) else [], "message_compressor", "message_compressor_options_server", "service_executor", diff --git a/src/mongo/transport/grpc/BUILD.bazel b/src/mongo/transport/grpc/BUILD.bazel index d5430aa1828..1ea4abf9f0b 100644 --- a/src/mongo/transport/grpc/BUILD.bazel +++ b/src/mongo/transport/grpc/BUILD.bazel @@ -1,4 +1,4 @@ -load("//bazel:mongo_src_rules.bzl", "idl_generator", "mongo_cc_library") +load("//bazel:mongo_src_rules.bzl", "idl_generator", "mongo_cc_grpc_library", "mongo_cc_library", "mongo_cc_proto_library", "mongo_proto_library") package(default_visibility = ["//visibility:public"]) @@ -9,6 +9,11 @@ exports_files( ]), ) +GRPC_TARGET_COMPATIBLE_WITH = select({ + "//bazel/config:build_grpc_enabled": [], + "//conditions:default": ["@platforms//:incompatible"], +}) + idl_generator( name = "grpc_feature_flag_gen", src = "grpc_feature_flag.idl", @@ -21,3 +26,25 @@ idl_generator( name = "grpc_parameters_gen", src = "grpc_parameters.idl", ) + +mongo_proto_library( + name = "core_test_proto", + srcs = [ + "core_test.proto", + ], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +mongo_cc_proto_library( + name = "core_test_cc_proto", + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [":core_test_proto"], +) + +mongo_cc_grpc_library( + name = "core_test_grpc_proto", + srcs = [":core_test_proto"], + cc_proto = ":core_test_cc_proto", + generate_mocks = True, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) diff --git a/src/mongo/transport/grpc/SConscript b/src/mongo/transport/grpc/SConscript index 8a50f378b6d..9fb0519b895 100644 --- a/src/mongo/transport/grpc/SConscript +++ b/src/mongo/transport/grpc/SConscript @@ -33,7 +33,8 @@ env.Library( "$BUILD_DIR/mongo/util/options_parser/options_parser", ], LIBDEPS=[ - "$BUILD_DIR/third_party/shim_grpc", + "$BUILD_DIR/third_party/grpc/grpc++_reflection", + "$BUILD_DIR/third_party/protobuf/protobuf", ], ) @@ -61,7 +62,8 @@ env.Library( "$BUILD_DIR/mongo/base", "$BUILD_DIR/mongo/db/service_context", "$BUILD_DIR/mongo/rpc/client_metadata", - "$BUILD_DIR/third_party/shim_grpc", + "$BUILD_DIR/third_party/grpc/grpc++_reflection", + "$BUILD_DIR/third_party/protobuf/protobuf", "grpc_transport_layer", ], ) @@ -89,7 +91,8 @@ env.CppUnitTest( "$BUILD_DIR/mongo/transport/service_executor", "$BUILD_DIR/mongo/util/clock_source_mock", "$BUILD_DIR/mongo/util/periodic_runner_factory", - "$BUILD_DIR/third_party/shim_grpc", + "$BUILD_DIR/third_party/grpc/grpc++_reflection", + "$BUILD_DIR/third_party/protobuf/protobuf", "grpc_transport_layer", "grpc_transport_mock", ], @@ -112,6 +115,7 @@ protoEnv.AppendUnique( protoEnv.Append( CPPPATH=[ "$BUILD_DIR/third_party/protobuf/dist/src", + "#/bazel-bin", ] ) @@ -119,10 +123,11 @@ protoEnv.CppUnitTest( target="grpc_core_test", source=[ "core_test.cpp", - "core_test.proto", ], LIBDEPS=[ "$BUILD_DIR/mongo/base", - "$BUILD_DIR/third_party/shim_grpc", + "$BUILD_DIR/third_party/grpc/grpc++_reflection", + "$BUILD_DIR/third_party/protobuf/protobuf", + "core_test_grpc_proto", ], ) diff --git a/src/third_party/grpc/BUILD.bazel b/src/third_party/grpc/BUILD.bazel new file mode 100644 index 00000000000..3801a4eeaea --- /dev/null +++ b/src/third_party/grpc/BUILD.bazel @@ -0,0 +1,3472 @@ +load("//bazel:mongo_src_rules.bzl", "mongo_cc_binary", "mongo_cc_grpc_library", "mongo_cc_library", "mongo_cc_proto_library", "mongo_proto_library") + +package(default_visibility = ["//visibility:public"]) + +GRPC_PUBLIC_HDRS = [ + "dist/include/grpc/grpc_audit_logging.h", + "dist/include/grpc/byte_buffer.h", + "dist/include/grpc/byte_buffer_reader.h", + "dist/include/grpc/compression.h", + "dist/include/grpc/fork.h", + "dist/include/grpc/grpc.h", + "dist/include/grpc/grpc_posix.h", + "dist/include/grpc/grpc_security.h", + "dist/include/grpc/grpc_security_constants.h", + "dist/include/grpc/slice.h", + "dist/include/grpc/slice_buffer.h", + "dist/include/grpc/status.h", + "dist/include/grpc/load_reporting.h", + "dist/include/grpc/support/workaround_list.h", + "dist/include/grpc/impl/codegen/byte_buffer.h", + "dist/include/grpc/impl/codegen/byte_buffer_reader.h", + "dist/include/grpc/impl/codegen/compression_types.h", + "dist/include/grpc/impl/codegen/connectivity_state.h", + "dist/include/grpc/impl/codegen/grpc_types.h", + "dist/include/grpc/impl/codegen/propagation_bits.h", + "dist/include/grpc/impl/codegen/status.h", + "dist/include/grpc/impl/codegen/slice.h", + "dist/include/grpc/impl/compression_types.h", + "dist/include/grpc/impl/connectivity_state.h", + "dist/include/grpc/impl/grpc_types.h", + "dist/include/grpc/impl/propagation_bits.h", + "dist/include/grpc/impl/slice_type.h", +] + +GPR_PUBLIC_HDRS = [ + "dist/include/grpc/support/alloc.h", + "dist/include/grpc/support/atm_gcc_atomic.h", + "dist/include/grpc/support/atm_gcc_sync.h", + "dist/include/grpc/support/atm_windows.h", + "dist/include/grpc/support/cpu.h", + "dist/include/grpc/support/json.h", + "dist/include/grpc/support/log.h", + "dist/include/grpc/support/log_windows.h", + "dist/include/grpc/support/port_platform.h", + "dist/include/grpc/support/string_util.h", + "dist/include/grpc/support/sync.h", + "dist/include/grpc/support/sync_abseil.h", + "dist/include/grpc/support/sync_custom.h", + "dist/include/grpc/support/sync_generic.h", + "dist/include/grpc/support/sync_posix.h", + "dist/include/grpc/support/sync_windows.h", + "dist/include/grpc/support/thd_id.h", + "dist/include/grpc/support/time.h", + "dist/include/grpc/impl/codegen/atm.h", + "dist/include/grpc/impl/codegen/atm_gcc_atomic.h", + "dist/include/grpc/impl/codegen/atm_gcc_sync.h", + "dist/include/grpc/impl/codegen/atm_windows.h", + "dist/include/grpc/impl/codegen/fork.h", + "dist/include/grpc/impl/codegen/gpr_types.h", + "dist/include/grpc/impl/codegen/log.h", + "dist/include/grpc/impl/codegen/port_platform.h", + "dist/include/grpc/impl/codegen/sync.h", + "dist/include/grpc/impl/codegen/sync_abseil.h", + "dist/include/grpc/impl/codegen/sync_custom.h", + "dist/include/grpc/impl/codegen/sync_generic.h", + "dist/include/grpc/impl/codegen/sync_posix.h", + "dist/include/grpc/impl/codegen/sync_windows.h", +] + +# This is not in use in favor of cc_grpc_library but should theoretically work if we need to +# switch to it. +# proto_lang_toolchain( +# name = "grpc_proto_toolchain", +# command_line = "--grpc_out=generate_mock_code=true:$(OUT)", +# output_files = "multiple", +# plugin = ":grpc_cpp_plugin", +# plugin_format_flag = "--plugin=protoc-gen-grpc=%s", +# runtime = "//src/third_party/protobuf:protoc", +#) + +GRPC_TARGET_COMPATIBLE_WITH = select({ + "//bazel/config:build_grpc_enabled": [], + "//conditions:default": ["@platforms//:incompatible"], +}) + +# TODO(aaronmondal): Migrate this to the upstream implementation at +# "@protobuf//bazel:proto_library.bzl". Don't confuse this +# with the deprecated implementation in rules_proto. +mongo_proto_library( + name = "helloworld_proto", + srcs = ["dist/examples/protos/helloworld.proto"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +# TODO(aaronmondal): Migrate this to the upstream implementation at +# "@protobuf//bazel:cc_proto_library.bzl". +mongo_cc_proto_library( + name = "helloworld_cc_proto", + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [":helloworld_proto"], +) + +mongo_cc_grpc_library( + name = "helloworld_cc_grpc", + srcs = [":helloworld_proto"], + cc_proto = ":helloworld_cc_proto", + generate_mocks = True, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +# ========================= +# grpc overlay starts here. +# ========================= + +GRPC_COPTS = [ + "-D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING", +] + select({ + "//bazel/config:gcc_or_clang": [ + "-Wno-sign-compare", + "-Wno-comment", + "-Wno-implicit-fallthrough", + ], + "//conditions:default": [], +}) + select({ + "//bazel/config:compiler_type_gcc": [ + "-Wno-stringop-overread", # false positive: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98465#c30 + "-Wno-stringop-overflow", + "-Wno-attributes", + #"-Wno-class-memaccess", + #"-Wno-overloaded-virtual", + "-Wno-error", + ], + "//bazel/config:compiler_type_msvc": [ + "/wd4334", # '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + "/wd4116", # unnamed type definition in parentheses + "/wd4146", # unary minus operator applied to unsigned type, result still unsigned + "/wd4715", # not all control paths return a value + "/wd4200", # nonstandard extension used: zero-sized array in struct/union + "/wd4312", # 'reinterpret_cast': conversion from 'unsigned int' to 'void *' of greater size + "/wd4090", # 'function': different 'const' qualifiers + ], + "//conditions:default": [], +}) + +GRPC_FEATURES = [ + "no_overloaded_virtual_warning_feature", +] + +mongo_cc_binary( + name = "grpc_cpp_plugin", + srcs = [ + "dist/src/compiler/cpp_plugin.cc", + "dist/src/compiler/cpp_plugin.h", + ], + copts = GRPC_COPTS + ["-Isrc/third_party/grpc/dist"] + ["-Isrc/third_party/grpc/dist/include"], + deps = [ + "grpc_plugin_support", + "//src/third_party/protobuf:protoc", + ], +) + +mongo_cc_library( + name = "grpc_plugin_support", + srcs = [ + "dist/src/compiler/cpp_generator.cc", + "dist/src/compiler/csharp_generator.cc", + "dist/src/compiler/node_generator.cc", + "dist/src/compiler/objective_c_generator.cc", + "dist/src/compiler/php_generator.cc", + "dist/src/compiler/proto_parser_helper.cc", + "dist/src/compiler/python_generator.cc", + "dist/src/compiler/ruby_generator.cc", + ], + hdrs = [ + "dist/src/compiler/config.h", + "dist/src/compiler/cpp_generator.h", + "dist/src/compiler/cpp_generator_helpers.h", + "dist/src/compiler/cpp_plugin.h", + "dist/src/compiler/csharp_generator.h", + "dist/src/compiler/node_generator.h", + "dist/src/compiler/node_generator_helpers.h", + "dist/src/compiler/php_generator.h", + "dist/src/compiler/protobuf_plugin.h", + "dist/src/compiler/python_generator.h", + "dist/src/compiler/python_generator_helpers.h", + "dist/src/compiler/python_private_generator.h", + "dist/src/compiler/ruby_generator.h", + "dist/src/compiler/ruby_generator_helpers-inl.h", + "dist/src/compiler/ruby_generator_map-inl.h", + "dist/src/compiler/schema_interface.h", + "dist/src/compiler/config_protobuf.h", + "dist/src/compiler/csharp_generator_helpers.h", + "dist/src/compiler/generator_helpers.h", + "dist/src/compiler/objective_c_generator.h", + "dist/src/compiler/php_generator_helpers.h", + "dist/src/compiler/objective_c_generator_helpers.h", + "dist/src/compiler/proto_parser_helper.h", + "dist/src/compiler/ruby_generator_string-inl.h", + # grpcpp + "dist/include/grpcpp/alarm.h", + "dist/include/grpcpp/channel.h", + "dist/include/grpcpp/client_context.h", + "dist/include/grpcpp/completion_queue.h", + "dist/include/grpcpp/create_channel.h", + "dist/include/grpcpp/create_channel_binder.h", + "dist/include/grpcpp/create_channel_posix.h", + "dist/include/grpcpp/ext/admin_services.h", + "dist/include/grpcpp/ext/call_metric_recorder.h", + "dist/include/grpcpp/ext/channelz_service_plugin.h", + "dist/include/grpcpp/ext/csm_observability.h", + "dist/include/grpcpp/ext/gcp_observability.h", + "dist/include/grpcpp/ext/health_check_service_server_builder_option.h", + "dist/include/grpcpp/ext/orca_service.h", + "dist/include/grpcpp/ext/proto_server_reflection_plugin.h", + "dist/include/grpcpp/ext/server_load_reporting.h", + "dist/include/grpcpp/ext/server_metric_recorder.h", + "dist/include/grpcpp/generic/async_generic_service.h", + "dist/include/grpcpp/generic/generic_stub.h", + "dist/include/grpcpp/grpcpp.h", + "dist/include/grpcpp/health_check_service_interface.h", + "dist/include/grpcpp/impl/call.h", + "dist/include/grpcpp/impl/call_hook.h", + "dist/include/grpcpp/impl/call_op_set.h", + "dist/include/grpcpp/impl/call_op_set_interface.h", + "dist/include/grpcpp/impl/channel_argument_option.h", + "dist/include/grpcpp/impl/channel_interface.h", + "dist/include/grpcpp/impl/client_unary_call.h", + "dist/include/grpcpp/impl/codegen/async_generic_service.h", + "dist/include/grpcpp/impl/codegen/async_stream.h", + "dist/include/grpcpp/impl/codegen/async_unary_call.h", + "dist/include/grpcpp/impl/codegen/byte_buffer.h", + "dist/include/grpcpp/impl/codegen/call.h", + "dist/include/grpcpp/impl/codegen/call_hook.h", + "dist/include/grpcpp/impl/codegen/call_op_set.h", + "dist/include/grpcpp/impl/codegen/call_op_set_interface.h", + "dist/include/grpcpp/impl/codegen/callback_common.h", + "dist/include/grpcpp/impl/codegen/channel_interface.h", + "dist/include/grpcpp/impl/codegen/client_callback.h", + "dist/include/grpcpp/impl/codegen/client_context.h", + "dist/include/grpcpp/impl/codegen/client_interceptor.h", + "dist/include/grpcpp/impl/codegen/client_unary_call.h", + "dist/include/grpcpp/impl/codegen/completion_queue.h", + "dist/include/grpcpp/impl/codegen/completion_queue_tag.h", + "dist/include/grpcpp/impl/codegen/config.h", + "dist/include/grpcpp/impl/codegen/config_protobuf.h", + "dist/include/grpcpp/impl/codegen/create_auth_context.h", + "dist/include/grpcpp/impl/codegen/delegating_channel.h", + "dist/include/grpcpp/impl/codegen/intercepted_channel.h", + "dist/include/grpcpp/impl/codegen/interceptor.h", + "dist/include/grpcpp/impl/codegen/interceptor_common.h", + "dist/include/grpcpp/impl/codegen/message_allocator.h", + "dist/include/grpcpp/impl/codegen/metadata_map.h", + "dist/include/grpcpp/impl/codegen/method_handler.h", + "dist/include/grpcpp/impl/codegen/method_handler_impl.h", + "dist/include/grpcpp/impl/codegen/proto_buffer_reader.h", + "dist/include/grpcpp/impl/codegen/proto_buffer_writer.h", + "dist/include/grpcpp/impl/codegen/proto_utils.h", + "dist/include/grpcpp/impl/codegen/rpc_method.h", + "dist/include/grpcpp/impl/codegen/rpc_service_method.h", + "dist/include/grpcpp/impl/codegen/security/auth_context.h", + "dist/include/grpcpp/impl/codegen/serialization_traits.h", + "dist/include/grpcpp/impl/codegen/server_callback.h", + "dist/include/grpcpp/impl/codegen/server_callback_handlers.h", + "dist/include/grpcpp/impl/codegen/server_context.h", + "dist/include/grpcpp/impl/codegen/server_interceptor.h", + "dist/include/grpcpp/impl/codegen/server_interface.h", + "dist/include/grpcpp/impl/codegen/service_type.h", + "dist/include/grpcpp/impl/codegen/slice.h", + "dist/include/grpcpp/impl/codegen/status.h", + "dist/include/grpcpp/impl/codegen/status_code_enum.h", + "dist/include/grpcpp/impl/codegen/string_ref.h", + "dist/include/grpcpp/impl/codegen/stub_options.h", + "dist/include/grpcpp/impl/codegen/sync.h", + "dist/include/grpcpp/impl/codegen/sync_stream.h", + "dist/include/grpcpp/impl/codegen/time.h", + "dist/include/grpcpp/impl/completion_queue_tag.h", + "dist/include/grpcpp/impl/create_auth_context.h", + "dist/include/grpcpp/impl/delegating_channel.h", + "dist/include/grpcpp/impl/grpc_library.h", + "dist/include/grpcpp/impl/intercepted_channel.h", + "dist/include/grpcpp/impl/interceptor_common.h", + "dist/include/grpcpp/impl/metadata_map.h", + "dist/include/grpcpp/impl/method_handler_impl.h", + "dist/include/grpcpp/impl/proto_utils.h", + "dist/include/grpcpp/impl/rpc_method.h", + "dist/include/grpcpp/impl/rpc_service_method.h", + "dist/include/grpcpp/impl/serialization_traits.h", + "dist/include/grpcpp/impl/server_builder_option.h", + "dist/include/grpcpp/impl/server_builder_plugin.h", + "dist/include/grpcpp/impl/server_callback_handlers.h", + "dist/include/grpcpp/impl/server_initializer.h", + "dist/include/grpcpp/impl/service_type.h", + "dist/include/grpcpp/impl/status.h", + "dist/include/grpcpp/impl/sync.h", + "dist/include/grpcpp/opencensus.h", + "dist/include/grpcpp/resource_quota.h", + "dist/include/grpcpp/security/alts_context.h", + "dist/include/grpcpp/security/alts_util.h", + "dist/include/grpcpp/security/audit_logging.h", + "dist/include/grpcpp/security/auth_context.h", + "dist/include/grpcpp/security/auth_metadata_processor.h", + "dist/include/grpcpp/security/authorization_policy_provider.h", + "dist/include/grpcpp/security/binder_credentials.h", + "dist/include/grpcpp/security/binder_security_policy.h", + "dist/include/grpcpp/security/credentials.h", + "dist/include/grpcpp/security/cronet_credentials.h", + "dist/include/grpcpp/security/server_credentials.h", + "dist/include/grpcpp/security/tls_certificate_provider.h", + "dist/include/grpcpp/security/tls_certificate_verifier.h", + "dist/include/grpcpp/security/tls_credentials_options.h", + "dist/include/grpcpp/server.h", + "dist/include/grpcpp/server_builder.h", + "dist/include/grpcpp/server_context.h", + "dist/include/grpcpp/server_interface.h", + "dist/include/grpcpp/server_posix.h", + "dist/include/grpcpp/support/async_stream.h", + "dist/include/grpcpp/support/async_unary_call.h", + "dist/include/grpcpp/support/byte_buffer.h", + "dist/include/grpcpp/support/callback_common.h", + "dist/include/grpcpp/support/channel_arguments.h", + "dist/include/grpcpp/support/client_callback.h", + "dist/include/grpcpp/support/client_interceptor.h", + "dist/include/grpcpp/support/config.h", + "dist/include/grpcpp/support/error_details.h", + "dist/include/grpcpp/support/interceptor.h", + "dist/include/grpcpp/support/message_allocator.h", + "dist/include/grpcpp/support/method_handler.h", + "dist/include/grpcpp/support/proto_buffer_reader.h", + "dist/include/grpcpp/support/proto_buffer_writer.h", + "dist/include/grpcpp/support/server_callback.h", + "dist/include/grpcpp/support/server_interceptor.h", + "dist/include/grpcpp/support/slice.h", + "dist/include/grpcpp/support/status.h", + "dist/include/grpcpp/support/status_code_enum.h", + "dist/include/grpcpp/support/string_ref.h", + "dist/include/grpcpp/support/stub_options.h", + "dist/include/grpcpp/support/sync_stream.h", + "dist/include/grpcpp/support/time.h", + "dist/include/grpcpp/support/validate_service_config.h", + "dist/include/grpcpp/test/channel_test_peer.h", + "dist/include/grpcpp/test/client_context_test_peer.h", + "dist/include/grpcpp/test/default_reactor_test_peer.h", + "dist/include/grpcpp/test/mock_stream.h", + "dist/include/grpcpp/test/server_context_test_spouse.h", + "dist/include/grpcpp/version_info.h", + "dist/include/grpcpp/xds_server_builder.h", + ], + copts = GRPC_COPTS + ["-Isrc/third_party/grpc/dist"] + ["-Isrc/third_party/grpc/dist/include"], + deps = [ + "//src/third_party/protobuf", + ], +) + +mongo_cc_library( + name = "utf8_range", + srcs = [ + "dist/third_party/utf8_range/naive.c", + "dist/third_party/utf8_range/range2-neon.c", + "dist/third_party/utf8_range/range2-sse.c", + ], + hdrs = [ + "dist/third_party/utf8_range/utf8_range.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + includes = ["dist/third_party/utf8_range"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +mongo_cc_library( + name = "upb_base", + srcs = [ + "//src/third_party/grpc:dist/third_party/upb/upb/base/status.c", + ], + hdrs = [ + "dist/third_party/upb/upb/base/descriptor_constants.h", + "dist/third_party/upb/upb/base/status.h", + "dist/third_party/upb/upb/port/def.inc", + "dist/third_party/upb/upb/port/undef.inc", + "dist/third_party/upb/upb/upb.hpp", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + includes = ["dist/third_party/upb"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +mongo_cc_library( + name = "upb_mem", + srcs = [ + "dist/third_party/upb/upb/mem/alloc.c", + "dist/third_party/upb/upb/mem/arena.c", + ], + hdrs = [ + "dist/third_party/upb/upb/mem/alloc.h", + "dist/third_party/upb/upb/mem/arena.h", + "dist/third_party/upb/upb/mem/arena_internal.h", + "dist/third_party/upb/upb/port/atomic.h", + "dist/third_party/upb/upb/port/def.inc", + "dist/third_party/upb/upb/port/undef.inc", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + includes = ["dist/third_party/upb"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +mongo_cc_library( + name = "upb_hash", + srcs = [ + "dist/third_party/upb/upb/hash/common.c", + ], + hdrs = [ + "dist/third_party/upb/upb/base/log2.h", + "dist/third_party/upb/upb/base/string_view.h", + "dist/third_party/upb/upb/hash/common.h", + "dist/third_party/upb/upb/hash/int_table.h", + "dist/third_party/upb/upb/hash/str_table.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_base", + ":upb_mem", + ], +) + +mongo_cc_library( + name = "upb_mini_table", + srcs = [ + "dist/third_party/upb/upb/mini_table/extension_registry.c", + "dist/third_party/upb/upb/mini_table/internal/message.c", + "dist/third_party/upb/upb/mini_table/message.c", + ], + hdrs = [ + "dist/third_party/upb/upb/mini_table/enum.h", + "dist/third_party/upb/upb/mini_table/extension.h", + "dist/third_party/upb/upb/mini_table/extension_registry.h", + "dist/third_party/upb/upb/mini_table/field.h", + "dist/third_party/upb/upb/mini_table/file.h", + "dist/third_party/upb/upb/mini_table/internal/enum.h", + "dist/third_party/upb/upb/mini_table/internal/extension.h", + "dist/third_party/upb/upb/mini_table/internal/field.h", + "dist/third_party/upb/upb/mini_table/internal/file.h", + "dist/third_party/upb/upb/mini_table/internal/message.h", + "dist/third_party/upb/upb/mini_table/internal/sub.h", + "dist/third_party/upb/upb/mini_table/message.h", + "dist/third_party/upb/upb/mini_table/sub.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_base", + ":upb_hash", + ":upb_mem", + ], +) + +mongo_cc_library( + name = "upb_mini_descriptor", + srcs = [ + "dist/third_party/upb/upb/mini_descriptor/build_enum.c", + "dist/third_party/upb/upb/mini_descriptor/decode.c", + "dist/third_party/upb/upb/mini_descriptor/internal/base92.c", + "dist/third_party/upb/upb/mini_descriptor/internal/encode.c", + "dist/third_party/upb/upb/mini_descriptor/link.c", + ], + hdrs = [ + "dist/third_party/upb/upb/mini_descriptor/build_enum.h", + "dist/third_party/upb/upb/mini_descriptor/decode.h", + "dist/third_party/upb/upb/mini_descriptor/internal/base92.h", + "dist/third_party/upb/upb/mini_descriptor/internal/decoder.h", + "dist/third_party/upb/upb/mini_descriptor/internal/encode.h", + "dist/third_party/upb/upb/mini_descriptor/internal/modifiers.h", + "dist/third_party/upb/upb/mini_descriptor/internal/wire_constants.h", + "dist/third_party/upb/upb/mini_descriptor/link.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_base", + ":upb_mem", + ":upb_mini_table", + ], +) + +mongo_cc_library( + name = "upb_message", + srcs = [ + "dist/third_party/upb/upb/message/message.c", + ], + hdrs = [ + "dist/third_party/upb/upb/message/accessors_internal.h", + "dist/third_party/upb/upb/message/extension_internal.h", + "dist/third_party/upb/upb/message/internal.h", + "dist/third_party/upb/upb/message/internal/map_entry.h", + "dist/third_party/upb/upb/message/message.h", + "dist/third_party/upb/upb/message/tagged_ptr.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_mem", + ":upb_mini_table", + ], +) + +mongo_cc_library( + name = "upb_collections", + srcs = [ + "dist/third_party/upb/upb/collections/array.c", + "dist/third_party/upb/upb/collections/map.c", + "dist/third_party/upb/upb/collections/map_sorter.c", + ], + hdrs = [ + "dist/third_party/upb/upb/collections/array.h", + "dist/third_party/upb/upb/collections/array_internal.h", + "dist/third_party/upb/upb/collections/map.h", + "dist/third_party/upb/upb/collections/map_gencode_util.h", + "dist/third_party/upb/upb/collections/map_internal.h", + "dist/third_party/upb/upb/collections/map_sorter_internal.h", + "dist/third_party/upb/upb/collections/message_value.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_base", + ":upb_hash", + ":upb_mem", + ":upb_message", + ":upb_mini_table", + ], +) + +mongo_cc_library( + name = "upb_eps_copy_input_stream", + srcs = [ + "dist/third_party/upb/upb/wire/eps_copy_input_stream.c", + ], + hdrs = [ + "dist/third_party/upb/upb/wire/eps_copy_input_stream.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_mem", + ], +) + +mongo_cc_library( + name = "upb_wire_reader", + srcs = [ + "dist/third_party/upb/upb/wire/reader.c", + ], + hdrs = [ + "dist/third_party/upb/upb/wire/reader.h", + "dist/third_party/upb/upb/wire/swap_internal.h", + "dist/third_party/upb/upb/wire/types.h", + ], + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_eps_copy_input_stream", + ], +) + +mongo_cc_library( + name = "upb_wire", + srcs = [ + "dist/third_party/upb/upb/wire/decode.c", + "dist/third_party/upb/upb/wire/decode_fast.c", + "dist/third_party/upb/upb/wire/encode.c", + ], + hdrs = [ + "dist/third_party/upb/upb/wire/common.h", + "dist/third_party/upb/upb/wire/common_internal.h", + "dist/third_party/upb/upb/wire/decode.h", + "dist/third_party/upb/upb/wire/decode_fast.h", + "dist/third_party/upb/upb/wire/decode_internal.h", + "dist/third_party/upb/upb/wire/encode.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_base", + ":upb_collections", + ":upb_eps_copy_input_stream", + ":upb_mem", + ":upb_message", + ":upb_mini_table", + ":upb_wire_reader", + ":utf8_range", + ], +) + +mongo_cc_library( + name = "upb_message_accessors", + srcs = [ + "dist/third_party/upb/upb/message/accessors.c", + ], + hdrs = [ + "dist/third_party/upb/upb/message/accessors.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_collections", + ":upb_eps_copy_input_stream", + ":upb_message", + ":upb_mini_table", + ":upb_wire", + ":upb_wire_reader", + ], +) + +mongo_cc_library( + name = "upb_reflection", + srcs = [ + "dist/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c", + "dist/third_party/upb/upb/reflection/def_builder.c", + "dist/third_party/upb/upb/reflection/def_pool.c", + "dist/third_party/upb/upb/reflection/def_type.c", + "dist/third_party/upb/upb/reflection/desc_state.c", + "dist/third_party/upb/upb/reflection/enum_def.c", + "dist/third_party/upb/upb/reflection/enum_reserved_range.c", + "dist/third_party/upb/upb/reflection/enum_value_def.c", + "dist/third_party/upb/upb/reflection/extension_range.c", + "dist/third_party/upb/upb/reflection/field_def.c", + "dist/third_party/upb/upb/reflection/file_def.c", + "dist/third_party/upb/upb/reflection/message.c", + "dist/third_party/upb/upb/reflection/message_def.c", + "dist/third_party/upb/upb/reflection/message_reserved_range.c", + "dist/third_party/upb/upb/reflection/method_def.c", + "dist/third_party/upb/upb/reflection/oneof_def.c", + "dist/third_party/upb/upb/reflection/service_def.c", + ], + hdrs = [ + "dist/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h", + "dist/third_party/upb/upb/extension_registry.h", + "dist/third_party/upb/upb/generated_code_support.h", + "dist/third_party/upb/upb/reflection/common.h", + "dist/third_party/upb/upb/reflection/def.h", + "dist/third_party/upb/upb/reflection/def.hpp", + "dist/third_party/upb/upb/reflection/def_builder_internal.h", + "dist/third_party/upb/upb/reflection/def_pool.h", + "dist/third_party/upb/upb/reflection/def_pool_internal.h", + "dist/third_party/upb/upb/reflection/def_type.h", + "dist/third_party/upb/upb/reflection/desc_state_internal.h", + "dist/third_party/upb/upb/reflection/enum_def.h", + "dist/third_party/upb/upb/reflection/enum_def_internal.h", + "dist/third_party/upb/upb/reflection/enum_reserved_range.h", + "dist/third_party/upb/upb/reflection/enum_reserved_range_internal.h", + "dist/third_party/upb/upb/reflection/enum_value_def.h", + "dist/third_party/upb/upb/reflection/enum_value_def_internal.h", + "dist/third_party/upb/upb/reflection/extension_range.h", + "dist/third_party/upb/upb/reflection/extension_range_internal.h", + "dist/third_party/upb/upb/reflection/field_def.h", + "dist/third_party/upb/upb/reflection/field_def_internal.h", + "dist/third_party/upb/upb/reflection/file_def.h", + "dist/third_party/upb/upb/reflection/file_def_internal.h", + "dist/third_party/upb/upb/reflection/message.h", + "dist/third_party/upb/upb/reflection/message_def.h", + "dist/third_party/upb/upb/reflection/message_def_internal.h", + "dist/third_party/upb/upb/reflection/message_reserved_range.h", + "dist/third_party/upb/upb/reflection/message_reserved_range_internal.h", + "dist/third_party/upb/upb/reflection/method_def.h", + "dist/third_party/upb/upb/reflection/method_def_internal.h", + "dist/third_party/upb/upb/reflection/oneof_def.h", + "dist/third_party/upb/upb/reflection/oneof_def_internal.h", + "dist/third_party/upb/upb/reflection/service_def.h", + "dist/third_party/upb/upb/reflection/service_def_internal.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + includes = [ + "dist/src/core/ext/upb-generated", + ], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_collections", + ":upb_hash", + ":upb_message_accessors", + ":upb_mini_descriptor", + ":upb_mini_table", + ], +) + +mongo_cc_library( + name = "upb_lex", + srcs = [ + "dist/third_party/upb/upb/lex/atoi.c", + "dist/third_party/upb/upb/lex/round_trip.c", + "dist/third_party/upb/upb/lex/strtod.c", + "dist/third_party/upb/upb/lex/unicode.c", + ], + hdrs = [ + "dist/third_party/upb/upb/lex/atoi.h", + "dist/third_party/upb/upb/lex/round_trip.h", + "dist/third_party/upb/upb/lex/strtod.h", + "dist/third_party/upb/upb/lex/unicode.h", + "dist/third_party/upb/upb/port/def.inc", + "dist/third_party/upb/upb/port/undef.inc", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + includes = [ + "dist/third_party/upb", + ], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +mongo_cc_library( + name = "upb_textformat", + srcs = [ + "dist/third_party/upb/upb/text/encode.c", + ], + hdrs = [ + "dist/third_party/upb/upb/port/vsnprintf_compat.h", + "dist/third_party/upb/upb/text/encode.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_collections", + ":upb_eps_copy_input_stream", + ":upb_lex", + ":upb_reflection", + ":upb_wire", + ":upb_wire_reader", + ], +) + +mongo_cc_library( + name = "upb_json", + srcs = [ + "dist/third_party/upb/upb/json/decode.c", + "dist/third_party/upb/upb/json/encode.c", + ], + hdrs = [ + "dist/third_party/upb/upb/json/decode.h", + "dist/third_party/upb/upb/json/encode.h", + "dist/third_party/upb/upb/port/vsnprintf_compat.h", + ], + copts = GRPC_COPTS, + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":upb_collections", + ":upb_lex", + ":upb_reflection", + ":upb_wire", + ], +) + +mongo_cc_library( + name = "address_sorting", + srcs = [ + "dist/third_party/address_sorting/address_sorting.c", + "dist/third_party/address_sorting/address_sorting_posix.c", + "dist/third_party/address_sorting/address_sorting_windows.c", + ], + hdrs = [ + "dist/third_party/address_sorting/address_sorting_internal.h", + "dist/third_party/address_sorting/include/address_sorting/address_sorting.h", + ], + features = GRPC_FEATURES, + includes = ["dist/third_party/address_sorting/include"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +# TODO(aaronmondal): Might need to port this before merge. +# # older rhel7 platforms with older glibc give a warning `__warn_memset_zero_len` which +# # can not be selectively repressed, so we are disabling all warnings for this library. +# if gpr_env['TARGET_ARCH'] in ['x86_64', 's390x', 'ppc64le']: +# gpr_env.Append( +# CCFLAGS=[ +# '-Wno-error', +# ], +# LINKFLAGS=[ +# '-Wl,--no-fatal-warnings', +# ], +# ) + +mongo_cc_library( + name = "gpr", + srcs = [ + "dist/src/core/lib/config/config_vars.cc", + "dist/src/core/lib/config/config_vars_non_generated.cc", + "dist/src/core/lib/config/load_config.cc", + "dist/src/core/lib/event_engine/thread_local.cc", + "dist/src/core/lib/gpr/alloc.cc", + "dist/src/core/lib/gpr/android/log.cc", + "dist/src/core/lib/gpr/atm.cc", + "dist/src/core/lib/gpr/iphone/cpu.cc", + "dist/src/core/lib/gpr/linux/cpu.cc", + "dist/src/core/lib/gpr/linux/log.cc", + "dist/src/core/lib/gpr/log.cc", + "dist/src/core/lib/gpr/msys/tmpfile.cc", + "dist/src/core/lib/gpr/posix/cpu.cc", + "dist/src/core/lib/gpr/posix/log.cc", + "dist/src/core/lib/gpr/posix/string.cc", + "dist/src/core/lib/gpr/posix/sync.cc", + "dist/src/core/lib/gpr/posix/time.cc", + "dist/src/core/lib/gpr/posix/tmpfile.cc", + "dist/src/core/lib/gpr/string.cc", + "dist/src/core/lib/gpr/sync.cc", + "dist/src/core/lib/gpr/sync_abseil.cc", + "dist/src/core/lib/gpr/time.cc", + "dist/src/core/lib/gpr/time_precise.cc", + "dist/src/core/lib/gpr/windows/cpu.cc", + "dist/src/core/lib/gpr/windows/log.cc", + "dist/src/core/lib/gpr/windows/string.cc", + "dist/src/core/lib/gpr/windows/string_util.cc", + "dist/src/core/lib/gpr/windows/sync.cc", + "dist/src/core/lib/gpr/windows/time.cc", + "dist/src/core/lib/gpr/windows/tmpfile.cc", + "dist/src/core/lib/gpr/wrap_memcpy.cc", + "dist/src/core/lib/gprpp/crash.cc", + "dist/src/core/lib/gprpp/examine_stack.cc", + "dist/src/core/lib/gprpp/fork.cc", + "dist/src/core/lib/gprpp/host_port.cc", + "dist/src/core/lib/gprpp/linux/env.cc", + "dist/src/core/lib/gprpp/mpscq.cc", + "dist/src/core/lib/gprpp/posix/env.cc", + "dist/src/core/lib/gprpp/posix/stat.cc", + "dist/src/core/lib/gprpp/posix/thd.cc", + "dist/src/core/lib/gprpp/strerror.cc", + "dist/src/core/lib/gprpp/tchar.cc", + "dist/src/core/lib/gprpp/time_util.cc", + "dist/src/core/lib/gprpp/windows/env.cc", + "dist/src/core/lib/gprpp/windows/stat.cc", + "dist/src/core/lib/gprpp/windows/thd.cc", + ], + hdrs = [ + # grpc support + "dist/include/grpc/support/alloc.h", + "dist/include/grpc/support/atm.h", + "dist/include/grpc/support/atm_gcc_atomic.h", + "dist/include/grpc/support/atm_gcc_sync.h", + "dist/include/grpc/support/atm_windows.h", + "dist/include/grpc/support/cpu.h", + "dist/include/grpc/support/json.h", + "dist/include/grpc/support/log.h", + "dist/include/grpc/support/log_windows.h", + "dist/include/grpc/support/port_platform.h", + "dist/include/grpc/support/string_util.h", + "dist/include/grpc/support/sync.h", + "dist/include/grpc/support/sync_abseil.h", + "dist/include/grpc/support/sync_custom.h", + "dist/include/grpc/support/sync_generic.h", + "dist/include/grpc/support/sync_posix.h", + "dist/include/grpc/support/sync_windows.h", + "dist/include/grpc/support/thd_id.h", + "dist/include/grpc/support/time.h", + "dist/include/grpc/support/workaround_list.h", + + # gprpp + "dist/src/core/lib/gprpp/atomic_utils.h", + "dist/src/core/lib/gprpp/bitset.h", + "dist/src/core/lib/gprpp/chunked_vector.h", + "dist/src/core/lib/gprpp/construct_destruct.h", + "dist/src/core/lib/gprpp/cpp_impl_of.h", + "dist/src/core/lib/gprpp/crash.h", + "dist/src/core/lib/gprpp/debug_location.h", + "dist/src/core/lib/gprpp/dual_ref_counted.h", + "dist/src/core/lib/gprpp/env.h", + "dist/src/core/lib/gprpp/examine_stack.h", + "dist/src/core/lib/gprpp/fork.h", + "dist/src/core/lib/gprpp/host_port.h", + "dist/src/core/lib/gprpp/if_list.h", + "dist/src/core/lib/gprpp/load_file.h", + "dist/src/core/lib/gprpp/manual_constructor.h", + "dist/src/core/lib/gprpp/match.h", + "dist/src/core/lib/gprpp/memory.h", + "dist/src/core/lib/gprpp/mpscq.h", + "dist/src/core/lib/gprpp/no_destruct.h", + "dist/src/core/lib/gprpp/notification.h", + "dist/src/core/lib/gprpp/orphanable.h", + "dist/src/core/lib/gprpp/overload.h", + "dist/src/core/lib/gprpp/packed_table.h", + "dist/src/core/lib/gprpp/per_cpu.h", + "dist/src/core/lib/gprpp/ref_counted.h", + "dist/src/core/lib/gprpp/ref_counted_ptr.h", + "dist/src/core/lib/gprpp/ref_counted_string.h", + "dist/src/core/lib/gprpp/single_set_ptr.h", + "dist/src/core/lib/gprpp/sorted_pack.h", + "dist/src/core/lib/gprpp/stat.h", + "dist/src/core/lib/gprpp/status_helper.h", + "dist/src/core/lib/gprpp/strerror.h", + "dist/src/core/lib/gprpp/sync.h", + "dist/src/core/lib/gprpp/table.h", + "dist/src/core/lib/gprpp/tchar.h", + "dist/src/core/lib/gprpp/thd.h", + "dist/src/core/lib/gprpp/time.h", + "dist/src/core/lib/gprpp/time_averaged_stats.h", + "dist/src/core/lib/gprpp/time_util.h", + "dist/src/core/lib/gprpp/type_list.h", + "dist/src/core/lib/gprpp/unique_type_name.h", + "dist/src/core/lib/gprpp/uuid_v4.h", + "dist/src/core/lib/gprpp/validation_errors.h", + "dist/src/core/lib/gprpp/work_serializer.h", + + # gpr + "dist/src/core/lib/gpr/alloc.h", + "dist/src/core/lib/gpr/log_internal.h", + "dist/src/core/lib/gpr/spinlock.h", + "dist/src/core/lib/gpr/string.h", + "dist/src/core/lib/gpr/subprocess.h", + "dist/src/core/lib/gpr/time_precise.h", + "dist/src/core/lib/gpr/tmpfile.h", + "dist/src/core/lib/gpr/useful.h", + + # config + "dist/src/core/lib/config/config_vars.h", + "dist/src/core/lib/config/core_configuration.h", + "dist/src/core/lib/config/load_config.h", + + # event_engine + "dist/src/core/lib/event_engine/ares_resolver.h", + "dist/src/core/lib/event_engine/channel_args_endpoint_config.h", + "dist/src/core/lib/event_engine/common_closures.h", + "dist/src/core/lib/event_engine/default_event_engine.h", + "dist/src/core/lib/event_engine/default_event_engine_factory.h", + "dist/src/core/lib/event_engine/forkable.h", + "dist/src/core/lib/event_engine/grpc_polled_fd.h", + "dist/src/core/lib/event_engine/handle_containers.h", + "dist/src/core/lib/event_engine/memory_allocator_factory.h", + "dist/src/core/lib/event_engine/nameser.h", + "dist/src/core/lib/event_engine/poller.h", + "dist/src/core/lib/event_engine/posix.h", + "dist/src/core/lib/event_engine/resolved_address_internal.h", + "dist/src/core/lib/event_engine/shim.h", + "dist/src/core/lib/event_engine/tcp_socket_utils.h", + "dist/src/core/lib/event_engine/thread_local.h", + "dist/src/core/lib/event_engine/time_util.h", + "dist/src/core/lib/event_engine/trace.h", + "dist/src/core/lib/event_engine/utils.h", + ], + copts = GRPC_COPTS + ["-Isrc/third_party/grpc/dist"], + features = GRPC_FEATURES, + includes = ["dist/include"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + "//src/third_party/abseil-cpp:absl_bad_optional_access", + "//src/third_party/abseil-cpp:absl_base", + "//src/third_party/abseil-cpp:absl_civil_time", + "//src/third_party/abseil-cpp:absl_cord", + "//src/third_party/abseil-cpp:absl_cord_internal", + "//src/third_party/abseil-cpp:absl_cordz_functions", + "//src/third_party/abseil-cpp:absl_cordz_handle", + "//src/third_party/abseil-cpp:absl_cordz_info", + "//src/third_party/abseil-cpp:absl_debugging_internal", + "//src/third_party/abseil-cpp:absl_demangle_internal", + "//src/third_party/abseil-cpp:absl_exponential_biased", + "//src/third_party/abseil-cpp:absl_flags", + "//src/third_party/abseil-cpp:absl_flags_marshalling", + "//src/third_party/abseil-cpp:absl_graphcycles_internal", + "//src/third_party/abseil-cpp:absl_int128", + "//src/third_party/abseil-cpp:absl_log_severity", + "//src/third_party/abseil-cpp:absl_malloc_internal", + "//src/third_party/abseil-cpp:absl_random_distributions", + "//src/third_party/abseil-cpp:absl_random_internal_platform", + "//src/third_party/abseil-cpp:absl_random_internal_pool_urbg", + "//src/third_party/abseil-cpp:absl_random_internal_randen", + "//src/third_party/abseil-cpp:absl_random_internal_randen_hwaes", + "//src/third_party/abseil-cpp:absl_random_internal_randen_hwaes_impl", + "//src/third_party/abseil-cpp:absl_random_internal_randen_slow", + "//src/third_party/abseil-cpp:absl_random_internal_seed_material", + "//src/third_party/abseil-cpp:absl_random_seed_gen_exception", + "//src/third_party/abseil-cpp:absl_random_seed_sequences", + "//src/third_party/abseil-cpp:absl_raw_logging_internal", + "//src/third_party/abseil-cpp:absl_spinlock_wait", + "//src/third_party/abseil-cpp:absl_stacktrace", + "//src/third_party/abseil-cpp:absl_status", + "//src/third_party/abseil-cpp:absl_str_format_internal", + "//src/third_party/abseil-cpp:absl_strings", + "//src/third_party/abseil-cpp:absl_strings_internal", + "//src/third_party/abseil-cpp:absl_symbolize", + "//src/third_party/abseil-cpp:absl_synchronization", + "//src/third_party/abseil-cpp:absl_throw_delegate", + "//src/third_party/abseil-cpp:absl_time", + "//src/third_party/abseil-cpp:absl_time_zone", + ], +) + +mongo_cc_library( + name = "grpc", + srcs = [ + "dist/src/core/ext/filters/backend_metrics/backend_metric_filter.cc", + "dist/src/core/ext/filters/census/grpc_context.cc", + "dist/src/core/ext/filters/channel_idle/channel_idle_filter.cc", + "dist/src/core/ext/filters/channel_idle/idle_filter_state.cc", + "dist/src/core/ext/filters/client_channel/backend_metric.cc", + "dist/src/core/ext/filters/client_channel/backup_poller.cc", + "dist/src/core/ext/filters/client_channel/channel_connectivity.cc", + "dist/src/core/ext/filters/client_channel/client_channel.cc", + "dist/src/core/ext/filters/client_channel/client_channel_channelz.cc", + "dist/src/core/ext/filters/client_channel/client_channel_factory.cc", + "dist/src/core/ext/filters/client_channel/client_channel_plugin.cc", + "dist/src/core/ext/filters/client_channel/client_channel_service_config.cc", + "dist/src/core/ext/filters/client_channel/config_selector.cc", + "dist/src/core/ext/filters/client_channel/dynamic_filters.cc", + "dist/src/core/ext/filters/client_channel/global_subchannel_pool.cc", + "dist/src/core/ext/filters/client_channel/http_proxy_mapper.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc", + "dist/src/core/ext/filters/client_channel/local_subchannel_pool.cc", + "dist/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc", + "dist/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc", + "dist/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc", + "dist/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc", + "dist/src/core/ext/filters/client_channel/resolver/polling_resolver.cc", + "dist/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc", + "dist/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc", + "dist/src/core/ext/filters/client_channel/retry_filter.cc", + "dist/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc", + "dist/src/core/ext/filters/client_channel/retry_service_config.cc", + "dist/src/core/ext/filters/client_channel/retry_throttle.cc", + "dist/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc", + "dist/src/core/ext/filters/client_channel/subchannel.cc", + "dist/src/core/ext/filters/client_channel/subchannel_pool_interface.cc", + "dist/src/core/ext/filters/client_channel/subchannel_stream_client.cc", + "dist/src/core/ext/filters/deadline/deadline_filter.cc", + "dist/src/core/ext/filters/fault_injection/fault_injection_filter.cc", + "dist/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc", + "dist/src/core/ext/filters/http/client/http_client_filter.cc", + "dist/src/core/ext/filters/http/client_authority_filter.cc", + "dist/src/core/ext/filters/http/http_filters_plugin.cc", + "dist/src/core/ext/filters/http/message_compress/compression_filter.cc", + "dist/src/core/ext/filters/http/server/http_server_filter.cc", + "dist/src/core/ext/filters/message_size/message_size_filter.cc", + "dist/src/core/ext/filters/rbac/rbac_filter.cc", + "dist/src/core/ext/filters/rbac/rbac_service_config_parser.cc", + "dist/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc", + "dist/src/core/ext/filters/stateful_session/stateful_session_filter.cc", + "dist/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc", + "dist/src/core/ext/gcp/metadata_query.cc", + "dist/src/core/ext/transport/chttp2/alpn/alpn.cc", + "dist/src/core/ext/transport/chttp2/client/chttp2_connector.cc", + "dist/src/core/ext/transport/chttp2/server/chttp2_server.cc", + "dist/src/core/ext/transport/chttp2/transport/bin_decoder.cc", + "dist/src/core/ext/transport/chttp2/transport/bin_encoder.cc", + "dist/src/core/ext/transport/chttp2/transport/chttp2_transport.cc", + "dist/src/core/ext/transport/chttp2/transport/decode_huff.cc", + "dist/src/core/ext/transport/chttp2/transport/flow_control.cc", + "dist/src/core/ext/transport/chttp2/transport/frame_data.cc", + "dist/src/core/ext/transport/chttp2/transport/frame_goaway.cc", + "dist/src/core/ext/transport/chttp2/transport/frame_ping.cc", + "dist/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc", + "dist/src/core/ext/transport/chttp2/transport/frame_settings.cc", + "dist/src/core/ext/transport/chttp2/transport/frame_window_update.cc", + "dist/src/core/ext/transport/chttp2/transport/hpack_encoder.cc", + "dist/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc", + "dist/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc", + "dist/src/core/ext/transport/chttp2/transport/hpack_parser.cc", + "dist/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc", + "dist/src/core/ext/transport/chttp2/transport/http2_settings.cc", + "dist/src/core/ext/transport/chttp2/transport/http_trace.cc", + "dist/src/core/ext/transport/chttp2/transport/huffsyms.cc", + "dist/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc", + "dist/src/core/ext/transport/chttp2/transport/parsing.cc", + "dist/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc", + "dist/src/core/ext/transport/chttp2/transport/ping_callbacks.cc", + "dist/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc", + "dist/src/core/ext/transport/chttp2/transport/stream_lists.cc", + "dist/src/core/ext/transport/chttp2/transport/varint.cc", + "dist/src/core/ext/transport/chttp2/transport/write_size_policy.cc", + "dist/src/core/ext/transport/chttp2/transport/writing.cc", + "dist/src/core/ext/transport/inproc/inproc_plugin.cc", + "dist/src/core/ext/transport/inproc/inproc_transport.cc", + "dist/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c", + "dist/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c", + "dist/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c", + "dist/src/core/ext/upb-generated/envoy/annotations/resource.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c", + "dist/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c", + "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c", + "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c", + "dist/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c", + "dist/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/http.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/range.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c", + "dist/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c", + "dist/src/core/ext/upb-generated/google/api/annotations.upb.c", + "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c", + "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c", + "dist/src/core/ext/upb-generated/google/api/http.upb.c", + "dist/src/core/ext/upb-generated/google/api/httpbody.upb.c", + "dist/src/core/ext/upb-generated/google/protobuf/any.upb.c", + "dist/src/core/ext/upb-generated/google/protobuf/duration.upb.c", + "dist/src/core/ext/upb-generated/google/protobuf/empty.upb.c", + "dist/src/core/ext/upb-generated/google/protobuf/struct.upb.c", + "dist/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c", + "dist/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c", + "dist/src/core/ext/upb-generated/google/rpc/status.upb.c", + "dist/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c", + "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c", + "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c", + "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c", + "dist/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c", + "dist/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c", + "dist/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c", + "dist/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c", + "dist/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c", + "dist/src/core/ext/upb-generated/udpa/annotations/security.upb.c", + "dist/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c", + "dist/src/core/ext/upb-generated/udpa/annotations/status.upb.c", + "dist/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c", + "dist/src/core/ext/upb-generated/validate/validate.upb.c", + "dist/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c", + "dist/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c", + "dist/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c", + "dist/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c", + "dist/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/authority.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/extension.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/resource.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c", + "dist/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c", + "dist/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c", + "dist/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c", + "dist/src/core/ext/upb-generated/xds/type/v3/cel.upb.c", + "dist/src/core/ext/upb-generated/xds/type/v3/range.upb.c", + "dist/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c", + "dist/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c", + "dist/src/core/ext/xds/certificate_provider_store.cc", + "dist/src/core/ext/xds/file_watcher_certificate_provider_factory.cc", + "dist/src/core/ext/xds/xds_api.cc", + "dist/src/core/ext/xds/xds_audit_logger_registry.cc", + "dist/src/core/ext/xds/xds_bootstrap.cc", + "dist/src/core/ext/xds/xds_bootstrap_grpc.cc", + "dist/src/core/ext/xds/xds_certificate_provider.cc", + "dist/src/core/ext/xds/xds_channel_stack_modifier.cc", + "dist/src/core/ext/xds/xds_client.cc", + "dist/src/core/ext/xds/xds_client_grpc.cc", + "dist/src/core/ext/xds/xds_client_stats.cc", + "dist/src/core/ext/xds/xds_cluster.cc", + "dist/src/core/ext/xds/xds_cluster_specifier_plugin.cc", + "dist/src/core/ext/xds/xds_common_types.cc", + "dist/src/core/ext/xds/xds_endpoint.cc", + "dist/src/core/ext/xds/xds_health_status.cc", + "dist/src/core/ext/xds/xds_http_fault_filter.cc", + "dist/src/core/ext/xds/xds_http_filters.cc", + "dist/src/core/ext/xds/xds_http_rbac_filter.cc", + "dist/src/core/ext/xds/xds_http_stateful_session_filter.cc", + "dist/src/core/ext/xds/xds_lb_policy_registry.cc", + "dist/src/core/ext/xds/xds_listener.cc", + "dist/src/core/ext/xds/xds_route_config.cc", + "dist/src/core/ext/xds/xds_routing.cc", + "dist/src/core/ext/xds/xds_server_config_fetcher.cc", + "dist/src/core/ext/xds/xds_transport_grpc.cc", + "dist/src/core/lib/address_utils/parse_address.cc", + "dist/src/core/lib/address_utils/sockaddr_utils.cc", + "dist/src/core/lib/backoff/backoff.cc", + "dist/src/core/lib/backoff/random_early_detection.cc", + "dist/src/core/lib/channel/call_tracer.cc", + "dist/src/core/lib/channel/channel_args.cc", + "dist/src/core/lib/channel/channel_args_preconditioning.cc", + "dist/src/core/lib/channel/channel_stack.cc", + "dist/src/core/lib/channel/channel_stack_builder.cc", + "dist/src/core/lib/channel/channel_stack_builder_impl.cc", + "dist/src/core/lib/channel/channel_trace.cc", + "dist/src/core/lib/channel/channelz.cc", + "dist/src/core/lib/channel/channelz_registry.cc", + "dist/src/core/lib/channel/connected_channel.cc", + "dist/src/core/lib/channel/promise_based_filter.cc", + "dist/src/core/lib/channel/server_call_tracer_filter.cc", + "dist/src/core/lib/channel/status_util.cc", + "dist/src/core/lib/compression/compression.cc", + "dist/src/core/lib/compression/compression_internal.cc", + "dist/src/core/lib/compression/message_compress.cc", + "dist/src/core/lib/config/core_configuration.cc", + "dist/src/core/lib/debug/event_log.cc", + "dist/src/core/lib/debug/histogram_view.cc", + "dist/src/core/lib/debug/stats.cc", + "dist/src/core/lib/debug/stats_data.cc", + "dist/src/core/lib/debug/trace.cc", + "dist/src/core/lib/event_engine/ares_resolver.cc", + "dist/src/core/lib/event_engine/cf_engine/cf_engine.cc", + "dist/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc", + "dist/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc", + "dist/src/core/lib/event_engine/channel_args_endpoint_config.cc", + "dist/src/core/lib/event_engine/default_event_engine.cc", + "dist/src/core/lib/event_engine/default_event_engine_factory.cc", + "dist/src/core/lib/event_engine/event_engine.cc", + "dist/src/core/lib/event_engine/forkable.cc", + "dist/src/core/lib/event_engine/memory_allocator.cc", + "dist/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc", + "dist/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc", + "dist/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc", + "dist/src/core/lib/event_engine/posix_engine/internal_errqueue.cc", + "dist/src/core/lib/event_engine/posix_engine/lockfree_event.cc", + "dist/src/core/lib/event_engine/posix_engine/posix_endpoint.cc", + "dist/src/core/lib/event_engine/posix_engine/posix_engine.cc", + "dist/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc", + "dist/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc", + "dist/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc", + "dist/src/core/lib/event_engine/posix_engine/timer.cc", + "dist/src/core/lib/event_engine/posix_engine/timer_heap.cc", + "dist/src/core/lib/event_engine/posix_engine/timer_manager.cc", + "dist/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc", + "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc", + "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc", + "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc", + "dist/src/core/lib/event_engine/resolved_address.cc", + "dist/src/core/lib/event_engine/shim.cc", + "dist/src/core/lib/event_engine/slice.cc", + "dist/src/core/lib/event_engine/slice_buffer.cc", + "dist/src/core/lib/event_engine/tcp_socket_utils.cc", + "dist/src/core/lib/event_engine/thread_pool/thread_count.cc", + "dist/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc", + "dist/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc", + "dist/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc", + "dist/src/core/lib/event_engine/time_util.cc", + "dist/src/core/lib/event_engine/trace.cc", + "dist/src/core/lib/event_engine/utils.cc", + "dist/src/core/lib/event_engine/windows/iocp.cc", + "dist/src/core/lib/event_engine/windows/win_socket.cc", + "dist/src/core/lib/event_engine/windows/windows_endpoint.cc", + "dist/src/core/lib/event_engine/windows/windows_engine.cc", + "dist/src/core/lib/event_engine/windows/windows_listener.cc", + "dist/src/core/lib/event_engine/work_queue/basic_work_queue.cc", + "dist/src/core/lib/experiments/config.cc", + "dist/src/core/lib/experiments/experiments.cc", + "dist/src/core/lib/gprpp/load_file.cc", + "dist/src/core/lib/gprpp/per_cpu.cc", + "dist/src/core/lib/gprpp/ref_counted_string.cc", + "dist/src/core/lib/gprpp/status_helper.cc", + "dist/src/core/lib/gprpp/time.cc", + "dist/src/core/lib/gprpp/time_averaged_stats.cc", + "dist/src/core/lib/gprpp/validation_errors.cc", + "dist/src/core/lib/gprpp/work_serializer.cc", + "dist/src/core/lib/handshaker/proxy_mapper_registry.cc", + "dist/src/core/lib/http/format_request.cc", + "dist/src/core/lib/http/httpcli.cc", + "dist/src/core/lib/http/httpcli_security_connector.cc", + "dist/src/core/lib/http/parser.cc", + "dist/src/core/lib/iomgr/buffer_list.cc", + "dist/src/core/lib/iomgr/call_combiner.cc", + "dist/src/core/lib/iomgr/cfstream_handle.cc", + "dist/src/core/lib/iomgr/closure.cc", + "dist/src/core/lib/iomgr/combiner.cc", + "dist/src/core/lib/iomgr/dualstack_socket_posix.cc", + "dist/src/core/lib/iomgr/endpoint.cc", + "dist/src/core/lib/iomgr/endpoint_cfstream.cc", + "dist/src/core/lib/iomgr/endpoint_pair_posix.cc", + "dist/src/core/lib/iomgr/endpoint_pair_windows.cc", + "dist/src/core/lib/iomgr/error.cc", + "dist/src/core/lib/iomgr/error_cfstream.cc", + "dist/src/core/lib/iomgr/ev_apple.cc", + "dist/src/core/lib/iomgr/ev_epoll1_linux.cc", + "dist/src/core/lib/iomgr/ev_poll_posix.cc", + "dist/src/core/lib/iomgr/ev_posix.cc", + "dist/src/core/lib/iomgr/ev_windows.cc", + "dist/src/core/lib/iomgr/event_engine_shims/closure.cc", + "dist/src/core/lib/iomgr/event_engine_shims/endpoint.cc", + "dist/src/core/lib/iomgr/event_engine_shims/tcp_client.cc", + "dist/src/core/lib/iomgr/exec_ctx.cc", + "dist/src/core/lib/iomgr/executor.cc", + "dist/src/core/lib/iomgr/fork_posix.cc", + "dist/src/core/lib/iomgr/fork_windows.cc", + "dist/src/core/lib/iomgr/gethostname_fallback.cc", + "dist/src/core/lib/iomgr/gethostname_host_name_max.cc", + "dist/src/core/lib/iomgr/gethostname_sysconf.cc", + "dist/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc", + "dist/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc", + "dist/src/core/lib/iomgr/internal_errqueue.cc", + "dist/src/core/lib/iomgr/iocp_windows.cc", + "dist/src/core/lib/iomgr/iomgr.cc", + "dist/src/core/lib/iomgr/iomgr_internal.cc", + "dist/src/core/lib/iomgr/iomgr_posix.cc", + "dist/src/core/lib/iomgr/iomgr_posix_cfstream.cc", + "dist/src/core/lib/iomgr/iomgr_windows.cc", + "dist/src/core/lib/iomgr/load_file.cc", + "dist/src/core/lib/iomgr/lockfree_event.cc", + "dist/src/core/lib/iomgr/polling_entity.cc", + "dist/src/core/lib/iomgr/pollset.cc", + "dist/src/core/lib/iomgr/pollset_set.cc", + "dist/src/core/lib/iomgr/pollset_set_windows.cc", + "dist/src/core/lib/iomgr/pollset_windows.cc", + "dist/src/core/lib/iomgr/resolve_address.cc", + "dist/src/core/lib/iomgr/resolve_address_posix.cc", + "dist/src/core/lib/iomgr/resolve_address_windows.cc", + "dist/src/core/lib/iomgr/sockaddr_utils_posix.cc", + "dist/src/core/lib/iomgr/socket_factory_posix.cc", + "dist/src/core/lib/iomgr/socket_mutator.cc", + "dist/src/core/lib/iomgr/socket_utils_common_posix.cc", + "dist/src/core/lib/iomgr/socket_utils_linux.cc", + "dist/src/core/lib/iomgr/socket_utils_posix.cc", + "dist/src/core/lib/iomgr/socket_utils_windows.cc", + "dist/src/core/lib/iomgr/socket_windows.cc", + "dist/src/core/lib/iomgr/systemd_utils.cc", + "dist/src/core/lib/iomgr/tcp_client.cc", + "dist/src/core/lib/iomgr/tcp_client_cfstream.cc", + "dist/src/core/lib/iomgr/tcp_client_posix.cc", + "dist/src/core/lib/iomgr/tcp_client_windows.cc", + "dist/src/core/lib/iomgr/tcp_posix.cc", + "dist/src/core/lib/iomgr/tcp_server.cc", + "dist/src/core/lib/iomgr/tcp_server_posix.cc", + "dist/src/core/lib/iomgr/tcp_server_utils_posix_common.cc", + "dist/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc", + "dist/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc", + "dist/src/core/lib/iomgr/tcp_server_windows.cc", + "dist/src/core/lib/iomgr/tcp_windows.cc", + "dist/src/core/lib/iomgr/timer.cc", + "dist/src/core/lib/iomgr/timer_generic.cc", + "dist/src/core/lib/iomgr/timer_heap.cc", + "dist/src/core/lib/iomgr/timer_manager.cc", + "dist/src/core/lib/iomgr/unix_sockets_posix.cc", + "dist/src/core/lib/iomgr/unix_sockets_posix_noop.cc", + "dist/src/core/lib/iomgr/vsock.cc", + "dist/src/core/lib/iomgr/wakeup_fd_eventfd.cc", + "dist/src/core/lib/iomgr/wakeup_fd_nospecial.cc", + "dist/src/core/lib/iomgr/wakeup_fd_pipe.cc", + "dist/src/core/lib/iomgr/wakeup_fd_posix.cc", + "dist/src/core/lib/json/json_object_loader.cc", + "dist/src/core/lib/json/json_reader.cc", + "dist/src/core/lib/json/json_util.cc", + "dist/src/core/lib/json/json_writer.cc", + "dist/src/core/lib/load_balancing/lb_policy.cc", + "dist/src/core/lib/load_balancing/lb_policy_registry.cc", + "dist/src/core/lib/matchers/matchers.cc", + "dist/src/core/lib/promise/activity.cc", + "dist/src/core/lib/promise/party.cc", + "dist/src/core/lib/promise/sleep.cc", + "dist/src/core/lib/promise/trace.cc", + "dist/src/core/lib/resolver/resolver.cc", + "dist/src/core/lib/resolver/resolver_registry.cc", + "dist/src/core/lib/resolver/server_address.cc", + "dist/src/core/lib/resource_quota/api.cc", + "dist/src/core/lib/resource_quota/arena.cc", + "dist/src/core/lib/resource_quota/memory_quota.cc", + "dist/src/core/lib/resource_quota/periodic_update.cc", + "dist/src/core/lib/resource_quota/resource_quota.cc", + "dist/src/core/lib/resource_quota/thread_quota.cc", + "dist/src/core/lib/resource_quota/trace.cc", + "dist/src/core/lib/security/authorization/audit_logging.cc", + "dist/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc", + "dist/src/core/lib/security/authorization/evaluate_args.cc", + "dist/src/core/lib/security/authorization/grpc_authorization_engine.cc", + "dist/src/core/lib/security/authorization/grpc_server_authz_filter.cc", + "dist/src/core/lib/security/authorization/matchers.cc", + "dist/src/core/lib/security/authorization/rbac_policy.cc", + "dist/src/core/lib/security/authorization/stdout_logger.cc", + "dist/src/core/lib/security/certificate_provider/certificate_provider_registry.cc", + "dist/src/core/lib/security/context/security_context.cc", + "dist/src/core/lib/security/credentials/alts/alts_credentials.cc", + "dist/src/core/lib/security/credentials/alts/check_gcp_environment.cc", + "dist/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc", + "dist/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc", + "dist/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc", + "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc", + "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc", + "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc", + "dist/src/core/lib/security/credentials/call_creds_util.cc", + "dist/src/core/lib/security/credentials/channel_creds_registry_init.cc", + "dist/src/core/lib/security/credentials/composite/composite_credentials.cc", + "dist/src/core/lib/security/credentials/credentials.cc", + "dist/src/core/lib/security/credentials/external/aws_external_account_credentials.cc", + "dist/src/core/lib/security/credentials/external/aws_request_signer.cc", + "dist/src/core/lib/security/credentials/external/external_account_credentials.cc", + "dist/src/core/lib/security/credentials/external/file_external_account_credentials.cc", + "dist/src/core/lib/security/credentials/external/url_external_account_credentials.cc", + "dist/src/core/lib/security/credentials/fake/fake_credentials.cc", + "dist/src/core/lib/security/credentials/google_default/credentials_generic.cc", + "dist/src/core/lib/security/credentials/google_default/google_default_credentials.cc", + "dist/src/core/lib/security/credentials/iam/iam_credentials.cc", + "dist/src/core/lib/security/credentials/insecure/insecure_credentials.cc", + "dist/src/core/lib/security/credentials/jwt/json_token.cc", + "dist/src/core/lib/security/credentials/jwt/jwt_credentials.cc", + "dist/src/core/lib/security/credentials/jwt/jwt_verifier.cc", + "dist/src/core/lib/security/credentials/local/local_credentials.cc", + "dist/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc", + "dist/src/core/lib/security/credentials/plugin/plugin_credentials.cc", + "dist/src/core/lib/security/credentials/ssl/ssl_credentials.cc", + "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc", + "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc", + "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc", + "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc", + "dist/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc", + "dist/src/core/lib/security/credentials/tls/tls_credentials.cc", + "dist/src/core/lib/security/credentials/tls/tls_utils.cc", + "dist/src/core/lib/security/credentials/xds/xds_credentials.cc", + "dist/src/core/lib/security/security_connector/alts/alts_security_connector.cc", + "dist/src/core/lib/security/security_connector/fake/fake_security_connector.cc", + "dist/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc", + "dist/src/core/lib/security/security_connector/load_system_roots_fallback.cc", + "dist/src/core/lib/security/security_connector/load_system_roots_supported.cc", + "dist/src/core/lib/security/security_connector/local/local_security_connector.cc", + "dist/src/core/lib/security/security_connector/security_connector.cc", + "dist/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc", + "dist/src/core/lib/security/security_connector/ssl_utils.cc", + "dist/src/core/lib/security/security_connector/tls/tls_security_connector.cc", + "dist/src/core/lib/security/transport/client_auth_filter.cc", + "dist/src/core/lib/security/transport/secure_endpoint.cc", + "dist/src/core/lib/security/transport/security_handshaker.cc", + "dist/src/core/lib/security/transport/server_auth_filter.cc", + "dist/src/core/lib/security/transport/tsi_error.cc", + "dist/src/core/lib/security/util/json_util.cc", + "dist/src/core/lib/service_config/service_config_impl.cc", + "dist/src/core/lib/service_config/service_config_parser.cc", + "dist/src/core/lib/slice/b64.cc", + "dist/src/core/lib/slice/percent_encoding.cc", + "dist/src/core/lib/slice/slice.cc", + "dist/src/core/lib/slice/slice_buffer.cc", + "dist/src/core/lib/slice/slice_refcount.cc", + "dist/src/core/lib/slice/slice_string_helpers.cc", + "dist/src/core/lib/surface/api_trace.cc", + "dist/src/core/lib/surface/builtins.cc", + "dist/src/core/lib/surface/byte_buffer.cc", + "dist/src/core/lib/surface/byte_buffer_reader.cc", + "dist/src/core/lib/surface/call.cc", + "dist/src/core/lib/surface/call_details.cc", + "dist/src/core/lib/surface/call_log_batch.cc", + "dist/src/core/lib/surface/call_trace.cc", + "dist/src/core/lib/surface/channel.cc", + "dist/src/core/lib/surface/channel_init.cc", + "dist/src/core/lib/surface/channel_ping.cc", + "dist/src/core/lib/surface/channel_stack_type.cc", + "dist/src/core/lib/surface/completion_queue.cc", + "dist/src/core/lib/surface/completion_queue_factory.cc", + "dist/src/core/lib/surface/event_string.cc", + "dist/src/core/lib/surface/init.cc", + "dist/src/core/lib/surface/init_internally.cc", + "dist/src/core/lib/surface/lame_client.cc", + "dist/src/core/lib/surface/metadata_array.cc", + "dist/src/core/lib/surface/server.cc", + "dist/src/core/lib/surface/validate_metadata.cc", + "dist/src/core/lib/surface/version.cc", + "dist/src/core/lib/transport/batch_builder.cc", + "dist/src/core/lib/transport/bdp_estimator.cc", + "dist/src/core/lib/transport/connectivity_state.cc", + "dist/src/core/lib/transport/error_utils.cc", + "dist/src/core/lib/transport/handshaker.cc", + "dist/src/core/lib/transport/handshaker_registry.cc", + "dist/src/core/lib/transport/http_connect_handshaker.cc", + "dist/src/core/lib/transport/metadata_batch.cc", + "dist/src/core/lib/transport/parsed_metadata.cc", + "dist/src/core/lib/transport/pid_controller.cc", + "dist/src/core/lib/transport/status_conversion.cc", + "dist/src/core/lib/transport/tcp_connect_handshaker.cc", + "dist/src/core/lib/transport/timeout_encoding.cc", + "dist/src/core/lib/transport/transport.cc", + "dist/src/core/lib/transport/transport_op_string.cc", + "dist/src/core/lib/uri/uri_parser.cc", + "dist/src/core/plugin_registry/grpc_plugin_registry.cc", + "dist/src/core/plugin_registry/grpc_plugin_registry_extra.cc", + "dist/src/core/tsi/alts/crypt/aes_gcm.cc", + "dist/src/core/tsi/alts/crypt/gsec.cc", + "dist/src/core/tsi/alts/frame_protector/alts_counter.cc", + "dist/src/core/tsi/alts/frame_protector/alts_crypter.cc", + "dist/src/core/tsi/alts/frame_protector/alts_frame_protector.cc", + "dist/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc", + "dist/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc", + "dist/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc", + "dist/src/core/tsi/alts/frame_protector/frame_handler.cc", + "dist/src/core/tsi/alts/handshaker/alts_handshaker_client.cc", + "dist/src/core/tsi/alts/handshaker/alts_shared_resource.cc", + "dist/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc", + "dist/src/core/tsi/alts/handshaker/alts_tsi_utils.cc", + "dist/src/core/tsi/alts/handshaker/transport_security_common_api.cc", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc", + "dist/src/core/tsi/fake_transport_security.cc", + "dist/src/core/tsi/local_transport_security.cc", + "dist/src/core/tsi/ssl/key_logging/ssl_key_logging.cc", + "dist/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc", + "dist/src/core/tsi/ssl/session_cache/ssl_session_cache.cc", + "dist/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc", + "dist/src/core/tsi/ssl_transport_security.cc", + "dist/src/core/tsi/ssl_transport_security_utils.cc", + "dist/src/core/tsi/transport_security.cc", + "dist/src/core/tsi/transport_security_grpc.cc", + ], + hdrs = [ + # grpc public api + "dist/include/grpc/byte_buffer.h", + "dist/include/grpc/byte_buffer_reader.h", + "dist/include/grpc/census.h", + "dist/include/grpc/compression.h", + "dist/include/grpc/event_engine/endpoint_config.h", + "dist/include/grpc/event_engine/event_engine.h", + "dist/include/grpc/event_engine/internal/memory_allocator_impl.h", + "dist/include/grpc/event_engine/internal/slice_cast.h", + "dist/include/grpc/event_engine/memory_allocator.h", + "dist/include/grpc/event_engine/memory_request.h", + "dist/include/grpc/event_engine/port.h", + "dist/include/grpc/event_engine/slice.h", + "dist/include/grpc/event_engine/slice_buffer.h", + "dist/include/grpc/fork.h", + "dist/include/grpc/grpc.h", + "dist/include/grpc/grpc_audit_logging.h", + "dist/include/grpc/grpc_cronet.h", + "dist/include/grpc/grpc_posix.h", + "dist/include/grpc/grpc_security.h", + "dist/include/grpc/grpc_security_constants.h", + "dist/include/grpc/impl/channel_arg_names.h", + "dist/include/grpc/impl/codegen/atm.h", + "dist/include/grpc/impl/codegen/atm_gcc_atomic.h", + "dist/include/grpc/impl/codegen/atm_gcc_sync.h", + "dist/include/grpc/impl/codegen/atm_windows.h", + "dist/include/grpc/impl/codegen/byte_buffer.h", + "dist/include/grpc/impl/codegen/byte_buffer_reader.h", + "dist/include/grpc/impl/codegen/compression_types.h", + "dist/include/grpc/impl/codegen/connectivity_state.h", + "dist/include/grpc/impl/codegen/fork.h", + "dist/include/grpc/impl/codegen/gpr_types.h", + "dist/include/grpc/impl/codegen/grpc_types.h", + "dist/include/grpc/impl/codegen/log.h", + "dist/include/grpc/impl/codegen/port_platform.h", + "dist/include/grpc/impl/codegen/propagation_bits.h", + "dist/include/grpc/impl/codegen/slice.h", + "dist/include/grpc/impl/codegen/status.h", + "dist/include/grpc/impl/codegen/sync.h", + "dist/include/grpc/impl/codegen/sync_abseil.h", + "dist/include/grpc/impl/codegen/sync_custom.h", + "dist/include/grpc/impl/codegen/sync_generic.h", + "dist/include/grpc/impl/codegen/sync_posix.h", + "dist/include/grpc/impl/codegen/sync_windows.h", + "dist/include/grpc/impl/compression_types.h", + "dist/include/grpc/impl/connectivity_state.h", + "dist/include/grpc/impl/grpc_types.h", + "dist/include/grpc/impl/propagation_bits.h", + "dist/include/grpc/impl/slice_type.h", + "dist/include/grpc/load_reporting.h", + "dist/include/grpc/slice.h", + "dist/include/grpc/slice_buffer.h", + "dist/include/grpc/status.h", + "dist/include/grpc/support/alloc.h", + "dist/include/grpc/support/atm.h", + "dist/include/grpc/support/atm_gcc_atomic.h", + "dist/include/grpc/support/atm_gcc_sync.h", + "dist/include/grpc/support/atm_windows.h", + "dist/include/grpc/support/cpu.h", + "dist/include/grpc/support/json.h", + "dist/include/grpc/support/log.h", + "dist/include/grpc/support/log_windows.h", + "dist/include/grpc/support/port_platform.h", + "dist/include/grpc/support/string_util.h", + "dist/include/grpc/support/sync.h", + "dist/include/grpc/support/sync_abseil.h", + "dist/include/grpc/support/sync_custom.h", + "dist/include/grpc/support/sync_generic.h", + "dist/include/grpc/support/sync_posix.h", + "dist/include/grpc/support/sync_windows.h", + "dist/include/grpc/support/thd_id.h", + "dist/include/grpc/support/time.h", + "dist/include/grpc/support/workaround_list.h", + + # xxhash + "dist/third_party/xxhash/xxhash.h", + + # channel + "dist/src/core/lib/channel/call_finalization.h", + "dist/src/core/lib/channel/call_tracer.h", + "dist/src/core/lib/channel/channel_args.h", + "dist/src/core/lib/channel/channel_args_preconditioning.h", + "dist/src/core/lib/channel/channel_fwd.h", + "dist/src/core/lib/channel/channel_stack.h", + "dist/src/core/lib/channel/channel_stack_builder.h", + "dist/src/core/lib/channel/channel_stack_builder_impl.h", + "dist/src/core/lib/channel/channel_trace.h", + "dist/src/core/lib/channel/channelz.h", + "dist/src/core/lib/channel/channelz_registry.h", + "dist/src/core/lib/channel/connected_channel.h", + "dist/src/core/lib/channel/context.h", + "dist/src/core/lib/channel/promise_based_filter.h", + "dist/src/core/lib/channel/status_util.h", + + # debug + "dist/src/core/lib/debug/event_log.h", + "dist/src/core/lib/debug/histogram_view.h", + "dist/src/core/lib/debug/stats.h", + "dist/src/core/lib/debug/stats_data.h", + "dist/src/core/lib/debug/trace.h", + + # slice + "dist/src/core/lib/slice/b64.h", + "dist/src/core/lib/slice/percent_encoding.h", + "dist/src/core/lib/slice/slice.h", + "dist/src/core/lib/slice/slice_buffer.h", + "dist/src/core/lib/slice/slice_internal.h", + "dist/src/core/lib/slice/slice_refcount.h", + "dist/src/core/lib/slice/slice_string_helpers.h", + + # avl + "dist/src/core/lib/avl/avl.h", + + # json + "dist/src/core/lib/json/json.h", + "dist/src/core/lib/json/json_args.h", + "dist/src/core/lib/json/json_channel_args.h", + "dist/src/core/lib/json/json_object_loader.h", + "dist/src/core/lib/json/json_reader.h", + "dist/src/core/lib/json/json_util.h", + "dist/src/core/lib/json/json_writer.h", + + # resolver + "dist/src/core/lib/resolver/resolver.h", + "dist/src/core/lib/resolver/resolver_factory.h", + "dist/src/core/lib/resolver/resolver_registry.h", + "dist/src/core/lib/resolver/server_address.h", + + # promise + "dist/src/core/lib/promise/activity.h", + "dist/src/core/lib/promise/arena_promise.h", + "dist/src/core/lib/promise/cancel_callback.h", + "dist/src/core/lib/promise/context.h", + "dist/src/core/lib/promise/detail/basic_seq.h", + "dist/src/core/lib/promise/detail/join_state.h", + "dist/src/core/lib/promise/detail/promise_factory.h", + "dist/src/core/lib/promise/detail/promise_like.h", + "dist/src/core/lib/promise/detail/seq_state.h", + "dist/src/core/lib/promise/detail/status.h", + "dist/src/core/lib/promise/detail/switch.h", + "dist/src/core/lib/promise/event_engine_wakeup_scheduler.h", + "dist/src/core/lib/promise/exec_ctx_wakeup_scheduler.h", + "dist/src/core/lib/promise/for_each.h", + "dist/src/core/lib/promise/if.h", + "dist/src/core/lib/promise/inter_activity_pipe.h", + "dist/src/core/lib/promise/interceptor_list.h", + "dist/src/core/lib/promise/join.h", + "dist/src/core/lib/promise/latch.h", + "dist/src/core/lib/promise/loop.h", + "dist/src/core/lib/promise/map.h", + "dist/src/core/lib/promise/map_pipe.h", + "dist/src/core/lib/promise/mpsc.h", + "dist/src/core/lib/promise/party.h", + "dist/src/core/lib/promise/pipe.h", + "dist/src/core/lib/promise/poll.h", + "dist/src/core/lib/promise/prioritized_race.h", + "dist/src/core/lib/promise/promise.h", + "dist/src/core/lib/promise/race.h", + "dist/src/core/lib/promise/seq.h", + "dist/src/core/lib/promise/sleep.h", + "dist/src/core/lib/promise/trace.h", + "dist/src/core/lib/promise/try_join.h", + "dist/src/core/lib/promise/try_seq.h", + "dist/src/core/lib/promise/wait_for_callback.h", + "dist/src/core/lib/promise/wait_set.h", + + # experiments + "dist/src/core/lib/experiments/config.h", + "dist/src/core/lib/experiments/experiments.h", + + # load_balancing + "dist/src/core/lib/load_balancing/delegating_helper.h", + "dist/src/core/lib/load_balancing/lb_policy.h", + "dist/src/core/lib/load_balancing/lb_policy_factory.h", + "dist/src/core/lib/load_balancing/lb_policy_registry.h", + "dist/src/core/lib/load_balancing/subchannel_interface.h", + + # resource_quota + "dist/src/core/lib/resource_quota/api.h", + "dist/src/core/lib/resource_quota/arena.h", + "dist/src/core/lib/resource_quota/memory_quota.h", + "dist/src/core/lib/resource_quota/periodic_update.h", + "dist/src/core/lib/resource_quota/resource_quota.h", + "dist/src/core/lib/resource_quota/thread_quota.h", + "dist/src/core/lib/resource_quota/trace.h", + + # event_engine + "dist/src/core/lib/event_engine/ares_resolver.h", + "dist/src/core/lib/event_engine/cf_engine/cf_engine.h", + "dist/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h", + "dist/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h", + "dist/src/core/lib/event_engine/cf_engine/dns_service_resolver.h", + "dist/src/core/lib/event_engine/channel_args_endpoint_config.h", + "dist/src/core/lib/event_engine/common_closures.h", + "dist/src/core/lib/event_engine/default_event_engine.h", + "dist/src/core/lib/event_engine/default_event_engine_factory.h", + "dist/src/core/lib/event_engine/forkable.h", + "dist/src/core/lib/event_engine/grpc_polled_fd.h", + "dist/src/core/lib/event_engine/handle_containers.h", + "dist/src/core/lib/event_engine/memory_allocator_factory.h", + "dist/src/core/lib/event_engine/nameser.h", + "dist/src/core/lib/event_engine/poller.h", + "dist/src/core/lib/event_engine/posix.h", + "dist/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h", + "dist/src/core/lib/event_engine/posix_engine/ev_poll_posix.h", + "dist/src/core/lib/event_engine/posix_engine/event_poller.h", + "dist/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h", + "dist/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h", + "dist/src/core/lib/event_engine/posix_engine/internal_errqueue.h", + "dist/src/core/lib/event_engine/posix_engine/lockfree_event.h", + "dist/src/core/lib/event_engine/posix_engine/posix_endpoint.h", + "dist/src/core/lib/event_engine/posix_engine/posix_engine.h", + "dist/src/core/lib/event_engine/posix_engine/posix_engine_closure.h", + "dist/src/core/lib/event_engine/posix_engine/posix_engine_listener.h", + "dist/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h", + "dist/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h", + "dist/src/core/lib/event_engine/posix_engine/timer.h", + "dist/src/core/lib/event_engine/posix_engine/timer_heap.h", + "dist/src/core/lib/event_engine/posix_engine/timer_manager.h", + "dist/src/core/lib/event_engine/posix_engine/traced_buffer_list.h", + "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h", + "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h", + "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h", + "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h", + "dist/src/core/lib/event_engine/resolved_address_internal.h", + "dist/src/core/lib/event_engine/shim.h", + "dist/src/core/lib/event_engine/tcp_socket_utils.h", + "dist/src/core/lib/event_engine/thread_local.h", + "dist/src/core/lib/event_engine/thread_pool/thread_count.h", + "dist/src/core/lib/event_engine/thread_pool/thread_pool.h", + "dist/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h", + "dist/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h", + "dist/src/core/lib/event_engine/time_util.h", + "dist/src/core/lib/event_engine/trace.h", + "dist/src/core/lib/event_engine/utils.h", + "dist/src/core/lib/event_engine/windows/iocp.h", + "dist/src/core/lib/event_engine/windows/win_socket.h", + "dist/src/core/lib/event_engine/windows/windows_endpoint.h", + "dist/src/core/lib/event_engine/windows/windows_engine.h", + "dist/src/core/lib/event_engine/windows/windows_listener.h", + "dist/src/core/lib/event_engine/work_queue/basic_work_queue.h", + "dist/src/core/lib/event_engine/work_queue/work_queue.h", + + # compression + "dist/src/core/lib/compression/compression_internal.h", + "dist/src/core/lib/compression/message_compress.h", + + # http + "dist/src/core/lib/http/format_request.h", + "dist/src/core/lib/http/httpcli.h", + "dist/src/core/lib/http/httpcli_ssl_credentials.h", + "dist/src/core/lib/http/parser.h", + + # handshaker + "dist/src/core/lib/handshaker/proxy_mapper.h", + "dist/src/core/lib/handshaker/proxy_mapper_registry.h", + + # matchers + "dist/src/core/lib/matchers/matchers.h", + + # uri + "dist/src/core/lib/uri/uri_parser.h", + + # address_utils + "dist/src/core/lib/address_utils/parse_address.h", + "dist/src/core/lib/address_utils/sockaddr_utils.h", + + # backoff + "dist/src/core/lib/backoff/backoff.h", + "dist/src/core/lib/backoff/random_early_detection.h", + + # service_config + "dist/src/core/lib/service_config/service_config.h", + "dist/src/core/lib/service_config/service_config_call_data.h", + "dist/src/core/lib/service_config/service_config_impl.h", + "dist/src/core/lib/service_config/service_config_parser.h", + + # tsi + "dist/src/core/tsi/alts/crypt/gsec.h", + "dist/src/core/tsi/alts/frame_protector/alts_counter.h", + "dist/src/core/tsi/alts/frame_protector/alts_crypter.h", + "dist/src/core/tsi/alts/frame_protector/alts_frame_protector.h", + "dist/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h", + "dist/src/core/tsi/alts/frame_protector/frame_handler.h", + "dist/src/core/tsi/alts/handshaker/alts_handshaker_client.h", + "dist/src/core/tsi/alts/handshaker/alts_shared_resource.h", + "dist/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h", + "dist/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h", + "dist/src/core/tsi/alts/handshaker/alts_tsi_utils.h", + "dist/src/core/tsi/alts/handshaker/transport_security_common_api.h", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h", + "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h", + "dist/src/core/tsi/fake_transport_security.h", + "dist/src/core/tsi/local_transport_security.h", + "dist/src/core/tsi/ssl/key_logging/ssl_key_logging.h", + "dist/src/core/tsi/ssl/session_cache/ssl_session.h", + "dist/src/core/tsi/ssl/session_cache/ssl_session_cache.h", + "dist/src/core/tsi/ssl_transport_security.h", + "dist/src/core/tsi/ssl_transport_security_utils.h", + "dist/src/core/tsi/ssl_types.h", + "dist/src/core/tsi/transport_security.h", + "dist/src/core/tsi/transport_security_grpc.h", + "dist/src/core/tsi/transport_security_interface.h", + + # surface + "dist/src/core/lib/surface/api_trace.h", + "dist/src/core/lib/surface/builtins.h", + "dist/src/core/lib/surface/call.h", + "dist/src/core/lib/surface/call_test_only.h", + "dist/src/core/lib/surface/call_trace.h", + "dist/src/core/lib/surface/channel.h", + "dist/src/core/lib/surface/channel_init.h", + "dist/src/core/lib/surface/channel_stack_type.h", + "dist/src/core/lib/surface/completion_queue.h", + "dist/src/core/lib/surface/completion_queue_factory.h", + "dist/src/core/lib/surface/event_string.h", + "dist/src/core/lib/surface/init.h", + "dist/src/core/lib/surface/init_internally.h", + "dist/src/core/lib/surface/lame_client.h", + "dist/src/core/lib/surface/server.h", + "dist/src/core/lib/surface/validate_metadata.h", + + # security + "dist/src/core/lib/security/authorization/audit_logging.h", + "dist/src/core/lib/security/authorization/authorization_engine.h", + "dist/src/core/lib/security/authorization/authorization_policy_provider.h", + "dist/src/core/lib/security/authorization/cel_authorization_engine.h", + "dist/src/core/lib/security/authorization/evaluate_args.h", + "dist/src/core/lib/security/authorization/grpc_authorization_engine.h", + "dist/src/core/lib/security/authorization/grpc_authorization_policy_provider.h", + "dist/src/core/lib/security/authorization/grpc_server_authz_filter.h", + "dist/src/core/lib/security/authorization/matchers.h", + "dist/src/core/lib/security/authorization/mock_cel/activation.h", + "dist/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h", + "dist/src/core/lib/security/authorization/mock_cel/cel_expression.h", + "dist/src/core/lib/security/authorization/mock_cel/cel_value.h", + "dist/src/core/lib/security/authorization/mock_cel/evaluator_core.h", + "dist/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h", + "dist/src/core/lib/security/authorization/rbac_policy.h", + "dist/src/core/lib/security/authorization/rbac_translator.h", + "dist/src/core/lib/security/authorization/stdout_logger.h", + "dist/src/core/lib/security/certificate_provider/certificate_provider_factory.h", + "dist/src/core/lib/security/certificate_provider/certificate_provider_registry.h", + "dist/src/core/lib/security/context/security_context.h", + "dist/src/core/lib/security/credentials/alts/alts_credentials.h", + "dist/src/core/lib/security/credentials/alts/check_gcp_environment.h", + "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h", + "dist/src/core/lib/security/credentials/call_creds_util.h", + "dist/src/core/lib/security/credentials/channel_creds_registry.h", + "dist/src/core/lib/security/credentials/composite/composite_credentials.h", + "dist/src/core/lib/security/credentials/credentials.h", + "dist/src/core/lib/security/credentials/external/aws_external_account_credentials.h", + "dist/src/core/lib/security/credentials/external/aws_request_signer.h", + "dist/src/core/lib/security/credentials/external/external_account_credentials.h", + "dist/src/core/lib/security/credentials/external/file_external_account_credentials.h", + "dist/src/core/lib/security/credentials/external/url_external_account_credentials.h", + "dist/src/core/lib/security/credentials/fake/fake_credentials.h", + "dist/src/core/lib/security/credentials/google_default/google_default_credentials.h", + "dist/src/core/lib/security/credentials/iam/iam_credentials.h", + "dist/src/core/lib/security/credentials/insecure/insecure_credentials.h", + "dist/src/core/lib/security/credentials/jwt/json_token.h", + "dist/src/core/lib/security/credentials/jwt/jwt_credentials.h", + "dist/src/core/lib/security/credentials/jwt/jwt_verifier.h", + "dist/src/core/lib/security/credentials/local/local_credentials.h", + "dist/src/core/lib/security/credentials/oauth2/oauth2_credentials.h", + "dist/src/core/lib/security/credentials/plugin/plugin_credentials.h", + "dist/src/core/lib/security/credentials/ssl/ssl_credentials.h", + "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h", + "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h", + "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h", + "dist/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h", + "dist/src/core/lib/security/credentials/tls/tls_credentials.h", + "dist/src/core/lib/security/credentials/tls/tls_utils.h", + "dist/src/core/lib/security/credentials/xds/xds_credentials.h", + "dist/src/core/lib/security/security_connector/alts/alts_security_connector.h", + "dist/src/core/lib/security/security_connector/fake/fake_security_connector.h", + "dist/src/core/lib/security/security_connector/insecure/insecure_security_connector.h", + "dist/src/core/lib/security/security_connector/load_system_roots.h", + "dist/src/core/lib/security/security_connector/load_system_roots_supported.h", + "dist/src/core/lib/security/security_connector/local/local_security_connector.h", + "dist/src/core/lib/security/security_connector/security_connector.h", + "dist/src/core/lib/security/security_connector/ssl/ssl_security_connector.h", + "dist/src/core/lib/security/security_connector/ssl_utils.h", + "dist/src/core/lib/security/security_connector/tls/tls_security_connector.h", + "dist/src/core/lib/security/transport/auth_filters.h", + "dist/src/core/lib/security/transport/secure_endpoint.h", + "dist/src/core/lib/security/transport/security_handshaker.h", + "dist/src/core/lib/security/transport/tsi_error.h", + "dist/src/core/lib/security/util/json_util.h", + + # transport + "dist/src/core/lib/transport/batch_builder.h", + "dist/src/core/lib/transport/bdp_estimator.h", + "dist/src/core/lib/transport/connectivity_state.h", + "dist/src/core/lib/transport/custom_metadata.h", + "dist/src/core/lib/transport/error_utils.h", + "dist/src/core/lib/transport/handshaker.h", + "dist/src/core/lib/transport/handshaker_factory.h", + "dist/src/core/lib/transport/handshaker_registry.h", + "dist/src/core/lib/transport/http2_errors.h", + "dist/src/core/lib/transport/http_connect_handshaker.h", + "dist/src/core/lib/transport/metadata_batch.h", + "dist/src/core/lib/transport/metadata_compression_traits.h", + "dist/src/core/lib/transport/parsed_metadata.h", + "dist/src/core/lib/transport/pid_controller.h", + "dist/src/core/lib/transport/promise_endpoint.h", + "dist/src/core/lib/transport/simple_slice_based_metadata.h", + "dist/src/core/lib/transport/status_conversion.h", + "dist/src/core/lib/transport/tcp_connect_handshaker.h", + "dist/src/core/lib/transport/timeout_encoding.h", + "dist/src/core/lib/transport/transport.h", + "dist/src/core/lib/transport/transport_fwd.h", + "dist/src/core/lib/transport/transport_impl.h", + + # iomgr + "dist/src/core/lib/iomgr/block_annotate.h", + "dist/src/core/lib/iomgr/buffer_list.h", + "dist/src/core/lib/iomgr/call_combiner.h", + "dist/src/core/lib/iomgr/cfstream_handle.h", + "dist/src/core/lib/iomgr/closure.h", + "dist/src/core/lib/iomgr/combiner.h", + "dist/src/core/lib/iomgr/dynamic_annotations.h", + "dist/src/core/lib/iomgr/endpoint.h", + "dist/src/core/lib/iomgr/endpoint_cfstream.h", + "dist/src/core/lib/iomgr/endpoint_pair.h", + "dist/src/core/lib/iomgr/error.h", + "dist/src/core/lib/iomgr/error_cfstream.h", + "dist/src/core/lib/iomgr/ev_apple.h", + "dist/src/core/lib/iomgr/ev_epoll1_linux.h", + "dist/src/core/lib/iomgr/ev_poll_posix.h", + "dist/src/core/lib/iomgr/ev_posix.h", + "dist/src/core/lib/iomgr/event_engine_shims/closure.h", + "dist/src/core/lib/iomgr/event_engine_shims/endpoint.h", + "dist/src/core/lib/iomgr/event_engine_shims/tcp_client.h", + "dist/src/core/lib/iomgr/exec_ctx.h", + "dist/src/core/lib/iomgr/executor.h", + "dist/src/core/lib/iomgr/gethostname.h", + "dist/src/core/lib/iomgr/grpc_if_nametoindex.h", + "dist/src/core/lib/iomgr/internal_errqueue.h", + "dist/src/core/lib/iomgr/iocp_windows.h", + "dist/src/core/lib/iomgr/iomgr.h", + "dist/src/core/lib/iomgr/iomgr_fwd.h", + "dist/src/core/lib/iomgr/iomgr_internal.h", + "dist/src/core/lib/iomgr/load_file.h", + "dist/src/core/lib/iomgr/lockfree_event.h", + "dist/src/core/lib/iomgr/nameser.h", + "dist/src/core/lib/iomgr/polling_entity.h", + "dist/src/core/lib/iomgr/pollset.h", + "dist/src/core/lib/iomgr/pollset_set.h", + "dist/src/core/lib/iomgr/pollset_set_windows.h", + "dist/src/core/lib/iomgr/pollset_windows.h", + "dist/src/core/lib/iomgr/port.h", + "dist/src/core/lib/iomgr/python_util.h", + "dist/src/core/lib/iomgr/resolve_address.h", + "dist/src/core/lib/iomgr/resolve_address_impl.h", + "dist/src/core/lib/iomgr/resolve_address_posix.h", + "dist/src/core/lib/iomgr/resolve_address_windows.h", + "dist/src/core/lib/iomgr/resolved_address.h", + "dist/src/core/lib/iomgr/sockaddr.h", + "dist/src/core/lib/iomgr/sockaddr_posix.h", + "dist/src/core/lib/iomgr/sockaddr_windows.h", + "dist/src/core/lib/iomgr/socket_factory_posix.h", + "dist/src/core/lib/iomgr/socket_mutator.h", + "dist/src/core/lib/iomgr/socket_utils.h", + "dist/src/core/lib/iomgr/socket_utils_posix.h", + "dist/src/core/lib/iomgr/socket_windows.h", + "dist/src/core/lib/iomgr/systemd_utils.h", + "dist/src/core/lib/iomgr/tcp_client.h", + "dist/src/core/lib/iomgr/tcp_client_posix.h", + "dist/src/core/lib/iomgr/tcp_posix.h", + "dist/src/core/lib/iomgr/tcp_server.h", + "dist/src/core/lib/iomgr/tcp_server_utils_posix.h", + "dist/src/core/lib/iomgr/tcp_windows.h", + "dist/src/core/lib/iomgr/timer.h", + "dist/src/core/lib/iomgr/timer_generic.h", + "dist/src/core/lib/iomgr/timer_heap.h", + "dist/src/core/lib/iomgr/timer_manager.h", + "dist/src/core/lib/iomgr/unix_sockets_posix.h", + "dist/src/core/lib/iomgr/vsock.h", + "dist/src/core/lib/iomgr/wakeup_fd_pipe.h", + "dist/src/core/lib/iomgr/wakeup_fd_posix.h", + + # ext + "dist/src/core/ext/filters/backend_metrics/backend_metric_filter.h", + "dist/src/core/ext/filters/backend_metrics/backend_metric_provider.h", + "dist/src/core/ext/filters/channel_idle/channel_idle_filter.h", + "dist/src/core/ext/filters/channel_idle/idle_filter_state.h", + "dist/src/core/ext/filters/client_channel/backend_metric.h", + "dist/src/core/ext/filters/client_channel/backup_poller.h", + "dist/src/core/ext/filters/client_channel/client_channel.h", + "dist/src/core/ext/filters/client_channel/client_channel_channelz.h", + "dist/src/core/ext/filters/client_channel/client_channel_factory.h", + "dist/src/core/ext/filters/client_channel/client_channel_internal.h", + "dist/src/core/ext/filters/client_channel/client_channel_service_config.h", + "dist/src/core/ext/filters/client_channel/config_selector.h", + "dist/src/core/ext/filters/client_channel/connector.h", + "dist/src/core/ext/filters/client_channel/dynamic_filters.h", + "dist/src/core/ext/filters/client_channel/global_subchannel_pool.h", + "dist/src/core/ext/filters/client_channel/http_proxy_mapper.h", + "dist/src/core/ext/filters/client_channel/lb_policy/address_filtering.h", + "dist/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h", + "dist/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h", + "dist/src/core/ext/filters/client_channel/lb_policy/endpoint_list.h", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h", + "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h", + "dist/src/core/ext/filters/client_channel/lb_policy/health_check_client.h", + "dist/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h", + "dist/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h", + "dist/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h", + "dist/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h", + "dist/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h", + "dist/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h", + "dist/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h", + "dist/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h", + "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h", + "dist/src/core/ext/filters/client_channel/local_subchannel_pool.h", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h", + "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h", + "dist/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h", + "dist/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h", + "dist/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h", + "dist/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h", + "dist/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h", + "dist/src/core/ext/filters/client_channel/resolver/polling_resolver.h", + "dist/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h", + "dist/src/core/ext/filters/client_channel/retry_filter.h", + "dist/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h", + "dist/src/core/ext/filters/client_channel/retry_service_config.h", + "dist/src/core/ext/filters/client_channel/retry_throttle.h", + "dist/src/core/ext/filters/client_channel/subchannel.h", + "dist/src/core/ext/filters/client_channel/subchannel_interface_internal.h", + "dist/src/core/ext/filters/client_channel/subchannel_pool_interface.h", + "dist/src/core/ext/filters/client_channel/subchannel_stream_client.h", + "dist/src/core/ext/filters/deadline/deadline_filter.h", + "dist/src/core/ext/filters/fault_injection/fault_injection_filter.h", + "dist/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h", + "dist/src/core/ext/filters/http/client/http_client_filter.h", + "dist/src/core/ext/filters/http/client_authority_filter.h", + "dist/src/core/ext/filters/http/message_compress/compression_filter.h", + "dist/src/core/ext/filters/http/server/http_server_filter.h", + "dist/src/core/ext/filters/load_reporting/registered_opencensus_objects.h", + "dist/src/core/ext/filters/load_reporting/server_load_reporting_filter.h", + "dist/src/core/ext/filters/logging/logging_filter.h", + "dist/src/core/ext/filters/logging/logging_sink.h", + "dist/src/core/ext/filters/message_size/message_size_filter.h", + "dist/src/core/ext/filters/rbac/rbac_filter.h", + "dist/src/core/ext/filters/rbac/rbac_service_config_parser.h", + "dist/src/core/ext/filters/server_config_selector/server_config_selector.h", + "dist/src/core/ext/filters/server_config_selector/server_config_selector_filter.h", + "dist/src/core/ext/filters/stateful_session/stateful_session_filter.h", + "dist/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h", + "dist/src/core/ext/gcp/metadata_query.h", + "dist/src/core/ext/transport/binder/client/binder_connector.h", + "dist/src/core/ext/transport/binder/client/channel_create_impl.h", + "dist/src/core/ext/transport/binder/client/connection_id_generator.h", + "dist/src/core/ext/transport/binder/client/endpoint_binder_pool.h", + "dist/src/core/ext/transport/binder/client/jni_utils.h", + "dist/src/core/ext/transport/binder/client/security_policy_setting.h", + "dist/src/core/ext/transport/binder/security_policy/security_policy.h", + "dist/src/core/ext/transport/binder/server/binder_server.h", + "dist/src/core/ext/transport/binder/transport/binder_stream.h", + "dist/src/core/ext/transport/binder/transport/binder_transport.h", + "dist/src/core/ext/transport/binder/utils/binder_auto_utils.h", + "dist/src/core/ext/transport/binder/utils/ndk_binder.h", + "dist/src/core/ext/transport/binder/utils/transport_stream_receiver.h", + "dist/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h", + "dist/src/core/ext/transport/binder/wire_format/binder.h", + "dist/src/core/ext/transport/binder/wire_format/binder_android.h", + "dist/src/core/ext/transport/binder/wire_format/binder_constants.h", + "dist/src/core/ext/transport/binder/wire_format/transaction.h", + "dist/src/core/ext/transport/binder/wire_format/wire_reader.h", + "dist/src/core/ext/transport/binder/wire_format/wire_reader_impl.h", + "dist/src/core/ext/transport/binder/wire_format/wire_writer.h", + "dist/src/core/ext/transport/chaotic_good/client_transport.h", + "dist/src/core/ext/transport/chaotic_good/frame.h", + "dist/src/core/ext/transport/chaotic_good/frame_header.h", + "dist/src/core/ext/transport/chttp2/alpn/alpn.h", + "dist/src/core/ext/transport/chttp2/client/chttp2_connector.h", + "dist/src/core/ext/transport/chttp2/server/chttp2_server.h", + "dist/src/core/ext/transport/chttp2/transport/bin_decoder.h", + "dist/src/core/ext/transport/chttp2/transport/bin_encoder.h", + "dist/src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "dist/src/core/ext/transport/chttp2/transport/context_list_entry.h", + "dist/src/core/ext/transport/chttp2/transport/decode_huff.h", + "dist/src/core/ext/transport/chttp2/transport/flow_control.h", + "dist/src/core/ext/transport/chttp2/transport/frame.h", + "dist/src/core/ext/transport/chttp2/transport/frame_data.h", + "dist/src/core/ext/transport/chttp2/transport/frame_goaway.h", + "dist/src/core/ext/transport/chttp2/transport/frame_ping.h", + "dist/src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "dist/src/core/ext/transport/chttp2/transport/frame_settings.h", + "dist/src/core/ext/transport/chttp2/transport/frame_window_update.h", + "dist/src/core/ext/transport/chttp2/transport/hpack_constants.h", + "dist/src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "dist/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h", + "dist/src/core/ext/transport/chttp2/transport/hpack_parse_result.h", + "dist/src/core/ext/transport/chttp2/transport/hpack_parser.h", + "dist/src/core/ext/transport/chttp2/transport/hpack_parser_table.h", + "dist/src/core/ext/transport/chttp2/transport/http2_settings.h", + "dist/src/core/ext/transport/chttp2/transport/http_trace.h", + "dist/src/core/ext/transport/chttp2/transport/huffsyms.h", + "dist/src/core/ext/transport/chttp2/transport/internal.h", + "dist/src/core/ext/transport/chttp2/transport/legacy_frame.h", + "dist/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h", + "dist/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h", + "dist/src/core/ext/transport/chttp2/transport/ping_callbacks.h", + "dist/src/core/ext/transport/chttp2/transport/ping_rate_policy.h", + "dist/src/core/ext/transport/chttp2/transport/varint.h", + "dist/src/core/ext/transport/chttp2/transport/write_size_policy.h", + "dist/src/core/ext/transport/cronet/client/secure/cronet_channel_create.h", + "dist/src/core/ext/transport/cronet/transport/cronet_status.h", + "dist/src/core/ext/transport/cronet/transport/cronet_transport.h", + "dist/src/core/ext/transport/inproc/inproc_transport.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h", + "dist/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h", + "dist/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h", + "dist/src/core/ext/upb-generated/envoy/annotations/resource.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h", + "dist/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h", + "dist/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h", + "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h", + "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h", + "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h", + "dist/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h", + "dist/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/http.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/range.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h", + "dist/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h", + "dist/src/core/ext/upb-generated/google/api/annotations.upb.h", + "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h", + "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h", + "dist/src/core/ext/upb-generated/google/api/http.upb.h", + "dist/src/core/ext/upb-generated/google/api/httpbody.upb.h", + "dist/src/core/ext/upb-generated/google/protobuf/any.upb.h", + "dist/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h", + "dist/src/core/ext/upb-generated/google/protobuf/duration.upb.h", + "dist/src/core/ext/upb-generated/google/protobuf/empty.upb.h", + "dist/src/core/ext/upb-generated/google/protobuf/struct.upb.h", + "dist/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h", + "dist/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h", + "dist/src/core/ext/upb-generated/google/rpc/status.upb.h", + "dist/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h", + "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h", + "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h", + "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h", + "dist/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h", + "dist/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h", + "dist/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h", + "dist/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h", + "dist/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h", + "dist/src/core/ext/upb-generated/udpa/annotations/security.upb.h", + "dist/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h", + "dist/src/core/ext/upb-generated/udpa/annotations/status.upb.h", + "dist/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h", + "dist/src/core/ext/upb-generated/validate/validate.upb.h", + "dist/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h", + "dist/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h", + "dist/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h", + "dist/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h", + "dist/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/authority.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/extension.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/resource.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h", + "dist/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h", + "dist/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h", + "dist/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h", + "dist/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h", + "dist/src/core/ext/upb-generated/xds/type/v3/cel.upb.h", + "dist/src/core/ext/upb-generated/xds/type/v3/range.upb.h", + "dist/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h", + "dist/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h", + "dist/src/core/ext/xds/certificate_provider_store.h", + "dist/src/core/ext/xds/file_watcher_certificate_provider_factory.h", + "dist/src/core/ext/xds/upb_utils.h", + "dist/src/core/ext/xds/xds_api.h", + "dist/src/core/ext/xds/xds_audit_logger_registry.h", + "dist/src/core/ext/xds/xds_bootstrap.h", + "dist/src/core/ext/xds/xds_bootstrap_grpc.h", + "dist/src/core/ext/xds/xds_certificate_provider.h", + "dist/src/core/ext/xds/xds_channel_args.h", + "dist/src/core/ext/xds/xds_channel_stack_modifier.h", + "dist/src/core/ext/xds/xds_client.h", + "dist/src/core/ext/xds/xds_client_grpc.h", + "dist/src/core/ext/xds/xds_client_stats.h", + "dist/src/core/ext/xds/xds_cluster.h", + "dist/src/core/ext/xds/xds_cluster_specifier_plugin.h", + "dist/src/core/ext/xds/xds_common_types.h", + "dist/src/core/ext/xds/xds_enabled_server.h", + "dist/src/core/ext/xds/xds_endpoint.h", + "dist/src/core/ext/xds/xds_health_status.h", + "dist/src/core/ext/xds/xds_http_fault_filter.h", + "dist/src/core/ext/xds/xds_http_filters.h", + "dist/src/core/ext/xds/xds_http_rbac_filter.h", + "dist/src/core/ext/xds/xds_http_stateful_session_filter.h", + "dist/src/core/ext/xds/xds_lb_policy_registry.h", + "dist/src/core/ext/xds/xds_listener.h", + "dist/src/core/ext/xds/xds_resource_type.h", + "dist/src/core/ext/xds/xds_resource_type_impl.h", + "dist/src/core/ext/xds/xds_route_config.h", + "dist/src/core/ext/xds/xds_routing.h", + "dist/src/core/ext/xds/xds_transport.h", + "dist/src/core/ext/xds/xds_transport_grpc.h", + ], + copts = GRPC_COPTS + [ + "-Isrc/third_party/grpc/dist", + "-Isrc/third_party/grpc/dist/src/core/ext/upbdefs-generated", + "-Isrc/third_party/grpc/dist/third_party/xxhash", + ], + features = GRPC_FEATURES, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":address_sorting", + ":gpr", + ":upb_collections", + ":upb_json", + ":upb_textformat", + "//src/third_party/abseil-cpp:absl_bad_variant_access", + "//src/third_party/abseil-cpp:absl_city", + "//src/third_party/abseil-cpp:absl_hash", + "//src/third_party/abseil-cpp:absl_hashtablez_sampler", + "//src/third_party/abseil-cpp:absl_low_level_hash", + "//src/third_party/abseil-cpp:absl_random_distributions", + "//src/third_party/abseil-cpp:absl_raw_hash_set", + "//src/third_party/abseil-cpp:absl_statusor", + "//src/third_party/cares", + "//src/third_party/re2", + "//src/third_party/zlib", + ], +) + +mongo_cc_library( + name = "grpc++", + srcs = [ + "dist/src/core/ext/transport/binder/client/binder_connector.cc", + "dist/src/core/ext/transport/binder/client/channel_create.cc", + "dist/src/core/ext/transport/binder/client/channel_create_impl.cc", + "dist/src/core/ext/transport/binder/client/connection_id_generator.cc", + "dist/src/core/ext/transport/binder/client/endpoint_binder_pool.cc", + "dist/src/core/ext/transport/binder/client/jni_utils.cc", + "dist/src/core/ext/transport/binder/client/security_policy_setting.cc", + "dist/src/core/ext/transport/binder/security_policy/binder_security_policy.cc", + "dist/src/core/ext/transport/binder/server/binder_server.cc", + "dist/src/core/ext/transport/binder/server/binder_server_credentials.cc", + "dist/src/core/ext/transport/binder/transport/binder_transport.cc", + "dist/src/core/ext/transport/binder/utils/ndk_binder.cc", + "dist/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc", + "dist/src/core/ext/transport/binder/wire_format/binder_android.cc", + "dist/src/core/ext/transport/binder/wire_format/binder_constants.cc", + "dist/src/core/ext/transport/binder/wire_format/transaction.cc", + "dist/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc", + "dist/src/core/ext/transport/binder/wire_format/wire_writer.cc", + "dist/src/cpp/client/channel_cc.cc", + "dist/src/cpp/client/client_callback.cc", + "dist/src/cpp/client/client_context.cc", + "dist/src/cpp/client/client_interceptor.cc", + "dist/src/cpp/client/client_stats_interceptor.cc", + "dist/src/cpp/client/create_channel.cc", + "dist/src/cpp/client/create_channel_internal.cc", + "dist/src/cpp/client/create_channel_posix.cc", + "dist/src/cpp/client/insecure_credentials.cc", + "dist/src/cpp/client/secure_credentials.cc", + "dist/src/cpp/client/xds_credentials.cc", + "dist/src/cpp/common/alarm.cc", + "dist/src/cpp/common/auth_property_iterator.cc", + "dist/src/cpp/common/channel_arguments.cc", + "dist/src/cpp/common/channel_filter.cc", + "dist/src/cpp/common/completion_queue_cc.cc", + "dist/src/cpp/common/resource_quota_cc.cc", + "dist/src/cpp/common/rpc_method.cc", + "dist/src/cpp/common/secure_auth_context.cc", + "dist/src/cpp/common/secure_channel_arguments.cc", + "dist/src/cpp/common/secure_create_auth_context.cc", + "dist/src/cpp/common/tls_certificate_provider.cc", + "dist/src/cpp/common/tls_certificate_verifier.cc", + "dist/src/cpp/common/tls_credentials_options.cc", + "dist/src/cpp/common/validate_service_config.cc", + "dist/src/cpp/common/version_cc.cc", + "dist/src/cpp/server/async_generic_service.cc", + "dist/src/cpp/server/backend_metric_recorder.cc", + "dist/src/cpp/server/channel_argument_option.cc", + "dist/src/cpp/server/create_default_thread_pool.cc", + "dist/src/cpp/server/external_connection_acceptor_impl.cc", + "dist/src/cpp/server/health/default_health_check_service.cc", + "dist/src/cpp/server/health/health_check_service.cc", + "dist/src/cpp/server/health/health_check_service_server_builder_option.cc", + "dist/src/cpp/server/insecure_server_credentials.cc", + "dist/src/cpp/server/secure_server_credentials.cc", + "dist/src/cpp/server/server_builder.cc", + "dist/src/cpp/server/server_callback.cc", + "dist/src/cpp/server/server_cc.cc", + "dist/src/cpp/server/server_context.cc", + "dist/src/cpp/server/server_posix.cc", + "dist/src/cpp/server/xds_server_credentials.cc", + "dist/src/cpp/thread_manager/thread_manager.cc", + "dist/src/cpp/util/byte_buffer_cc.cc", + "dist/src/cpp/util/status.cc", + "dist/src/cpp/util/string_ref.cc", + "dist/src/cpp/util/time_cc.cc", + ], + hdrs = [ + # grpc++ api + "dist/include/grpc++/alarm.h", + "dist/include/grpc++/channel.h", + "dist/include/grpc++/client_context.h", + "dist/include/grpc++/completion_queue.h", + "dist/include/grpc++/create_channel.h", + "dist/include/grpc++/create_channel_posix.h", + "dist/include/grpc++/ext/health_check_service_server_builder_option.h", + "dist/include/grpc++/ext/proto_server_reflection_plugin.h", + "dist/include/grpc++/generic/async_generic_service.h", + "dist/include/grpc++/generic/generic_stub.h", + "dist/include/grpc++/grpc++.h", + "dist/include/grpc++/health_check_service_interface.h", + "dist/include/grpc++/impl/call.h", + "dist/include/grpc++/impl/channel_argument_option.h", + "dist/include/grpc++/impl/client_unary_call.h", + "dist/include/grpc++/impl/codegen/async_stream.h", + "dist/include/grpc++/impl/codegen/async_unary_call.h", + "dist/include/grpc++/impl/codegen/byte_buffer.h", + "dist/include/grpc++/impl/codegen/call.h", + "dist/include/grpc++/impl/codegen/call_hook.h", + "dist/include/grpc++/impl/codegen/channel_interface.h", + "dist/include/grpc++/impl/codegen/client_context.h", + "dist/include/grpc++/impl/codegen/client_unary_call.h", + "dist/include/grpc++/impl/codegen/completion_queue.h", + "dist/include/grpc++/impl/codegen/completion_queue_tag.h", + "dist/include/grpc++/impl/codegen/config.h", + "dist/include/grpc++/impl/codegen/config_protobuf.h", + "dist/include/grpc++/impl/codegen/create_auth_context.h", + "dist/include/grpc++/impl/codegen/metadata_map.h", + "dist/include/grpc++/impl/codegen/method_handler_impl.h", + "dist/include/grpc++/impl/codegen/proto_utils.h", + "dist/include/grpc++/impl/codegen/rpc_method.h", + "dist/include/grpc++/impl/codegen/rpc_service_method.h", + "dist/include/grpc++/impl/codegen/security/auth_context.h", + "dist/include/grpc++/impl/codegen/serialization_traits.h", + "dist/include/grpc++/impl/codegen/server_context.h", + "dist/include/grpc++/impl/codegen/server_interface.h", + "dist/include/grpc++/impl/codegen/service_type.h", + "dist/include/grpc++/impl/codegen/slice.h", + "dist/include/grpc++/impl/codegen/status.h", + "dist/include/grpc++/impl/codegen/status_code_enum.h", + "dist/include/grpc++/impl/codegen/string_ref.h", + "dist/include/grpc++/impl/codegen/stub_options.h", + "dist/include/grpc++/impl/codegen/sync_stream.h", + "dist/include/grpc++/impl/codegen/time.h", + "dist/include/grpc++/impl/grpc_library.h", + "dist/include/grpc++/impl/method_handler_impl.h", + "dist/include/grpc++/impl/rpc_method.h", + "dist/include/grpc++/impl/rpc_service_method.h", + "dist/include/grpc++/impl/serialization_traits.h", + "dist/include/grpc++/impl/server_builder_option.h", + "dist/include/grpc++/impl/server_builder_plugin.h", + "dist/include/grpc++/impl/server_initializer.h", + "dist/include/grpc++/impl/service_type.h", + "dist/include/grpc++/resource_quota.h", + "dist/include/grpc++/security/auth_context.h", + "dist/include/grpc++/security/auth_metadata_processor.h", + "dist/include/grpc++/security/credentials.h", + "dist/include/grpc++/security/server_credentials.h", + "dist/include/grpc++/server.h", + "dist/include/grpc++/server_builder.h", + "dist/include/grpc++/server_context.h", + "dist/include/grpc++/server_posix.h", + "dist/include/grpc++/support/async_stream.h", + "dist/include/grpc++/support/async_unary_call.h", + "dist/include/grpc++/support/byte_buffer.h", + "dist/include/grpc++/support/channel_arguments.h", + "dist/include/grpc++/support/config.h", + "dist/include/grpc++/support/error_details.h", + "dist/include/grpc++/support/slice.h", + "dist/include/grpc++/support/status.h", + "dist/include/grpc++/support/status_code_enum.h", + "dist/include/grpc++/support/string_ref.h", + "dist/include/grpc++/support/stub_options.h", + "dist/include/grpc++/support/sync_stream.h", + "dist/include/grpc++/support/time.h", + "dist/include/grpc++/test/mock_stream.h", + "dist/include/grpc++/test/server_context_test_spouse.h", + + # grpcpp + "dist/include/grpcpp/alarm.h", + "dist/include/grpcpp/channel.h", + "dist/include/grpcpp/client_context.h", + "dist/include/grpcpp/completion_queue.h", + "dist/include/grpcpp/create_channel.h", + "dist/include/grpcpp/create_channel_binder.h", + "dist/include/grpcpp/create_channel_posix.h", + "dist/include/grpcpp/ext/admin_services.h", + "dist/include/grpcpp/ext/call_metric_recorder.h", + "dist/include/grpcpp/ext/channelz_service_plugin.h", + "dist/include/grpcpp/ext/csm_observability.h", + "dist/include/grpcpp/ext/gcp_observability.h", + "dist/include/grpcpp/ext/health_check_service_server_builder_option.h", + "dist/include/grpcpp/ext/orca_service.h", + "dist/include/grpcpp/ext/proto_server_reflection_plugin.h", + "dist/include/grpcpp/ext/server_load_reporting.h", + "dist/include/grpcpp/ext/server_metric_recorder.h", + "dist/include/grpcpp/generic/async_generic_service.h", + "dist/include/grpcpp/generic/generic_stub.h", + "dist/include/grpcpp/grpcpp.h", + "dist/include/grpcpp/health_check_service_interface.h", + "dist/include/grpcpp/impl/call.h", + "dist/include/grpcpp/impl/call_hook.h", + "dist/include/grpcpp/impl/call_op_set.h", + "dist/include/grpcpp/impl/call_op_set_interface.h", + "dist/include/grpcpp/impl/channel_argument_option.h", + "dist/include/grpcpp/impl/channel_interface.h", + "dist/include/grpcpp/impl/client_unary_call.h", + "dist/include/grpcpp/impl/codegen/async_generic_service.h", + "dist/include/grpcpp/impl/codegen/async_stream.h", + "dist/include/grpcpp/impl/codegen/async_unary_call.h", + "dist/include/grpcpp/impl/codegen/byte_buffer.h", + "dist/include/grpcpp/impl/codegen/call.h", + "dist/include/grpcpp/impl/codegen/call_hook.h", + "dist/include/grpcpp/impl/codegen/call_op_set.h", + "dist/include/grpcpp/impl/codegen/call_op_set_interface.h", + "dist/include/grpcpp/impl/codegen/callback_common.h", + "dist/include/grpcpp/impl/codegen/channel_interface.h", + "dist/include/grpcpp/impl/codegen/client_callback.h", + "dist/include/grpcpp/impl/codegen/client_context.h", + "dist/include/grpcpp/impl/codegen/client_interceptor.h", + "dist/include/grpcpp/impl/codegen/client_unary_call.h", + "dist/include/grpcpp/impl/codegen/completion_queue.h", + "dist/include/grpcpp/impl/codegen/completion_queue_tag.h", + "dist/include/grpcpp/impl/codegen/config.h", + "dist/include/grpcpp/impl/codegen/config_protobuf.h", + "dist/include/grpcpp/impl/codegen/create_auth_context.h", + "dist/include/grpcpp/impl/codegen/delegating_channel.h", + "dist/include/grpcpp/impl/codegen/intercepted_channel.h", + "dist/include/grpcpp/impl/codegen/interceptor.h", + "dist/include/grpcpp/impl/codegen/interceptor_common.h", + "dist/include/grpcpp/impl/codegen/message_allocator.h", + "dist/include/grpcpp/impl/codegen/metadata_map.h", + "dist/include/grpcpp/impl/codegen/method_handler.h", + "dist/include/grpcpp/impl/codegen/method_handler_impl.h", + "dist/include/grpcpp/impl/codegen/proto_buffer_reader.h", + "dist/include/grpcpp/impl/codegen/proto_buffer_writer.h", + "dist/include/grpcpp/impl/codegen/proto_utils.h", + "dist/include/grpcpp/impl/codegen/rpc_method.h", + "dist/include/grpcpp/impl/codegen/rpc_service_method.h", + "dist/include/grpcpp/impl/codegen/security/auth_context.h", + "dist/include/grpcpp/impl/codegen/serialization_traits.h", + "dist/include/grpcpp/impl/codegen/server_callback.h", + "dist/include/grpcpp/impl/codegen/server_callback_handlers.h", + "dist/include/grpcpp/impl/codegen/server_context.h", + "dist/include/grpcpp/impl/codegen/server_interceptor.h", + "dist/include/grpcpp/impl/codegen/server_interface.h", + "dist/include/grpcpp/impl/codegen/service_type.h", + "dist/include/grpcpp/impl/codegen/slice.h", + "dist/include/grpcpp/impl/codegen/status.h", + "dist/include/grpcpp/impl/codegen/status_code_enum.h", + "dist/include/grpcpp/impl/codegen/string_ref.h", + "dist/include/grpcpp/impl/codegen/stub_options.h", + "dist/include/grpcpp/impl/codegen/sync.h", + "dist/include/grpcpp/impl/codegen/sync_stream.h", + "dist/include/grpcpp/impl/codegen/time.h", + "dist/include/grpcpp/impl/completion_queue_tag.h", + "dist/include/grpcpp/impl/create_auth_context.h", + "dist/include/grpcpp/impl/delegating_channel.h", + "dist/include/grpcpp/impl/grpc_library.h", + "dist/include/grpcpp/impl/intercepted_channel.h", + "dist/include/grpcpp/impl/interceptor_common.h", + "dist/include/grpcpp/impl/metadata_map.h", + "dist/include/grpcpp/impl/method_handler_impl.h", + "dist/include/grpcpp/impl/proto_utils.h", + "dist/include/grpcpp/impl/rpc_method.h", + "dist/include/grpcpp/impl/rpc_service_method.h", + "dist/include/grpcpp/impl/serialization_traits.h", + "dist/include/grpcpp/impl/server_builder_option.h", + "dist/include/grpcpp/impl/server_builder_plugin.h", + "dist/include/grpcpp/impl/server_callback_handlers.h", + "dist/include/grpcpp/impl/server_initializer.h", + "dist/include/grpcpp/impl/service_type.h", + "dist/include/grpcpp/impl/status.h", + "dist/include/grpcpp/impl/sync.h", + "dist/include/grpcpp/opencensus.h", + "dist/include/grpcpp/resource_quota.h", + "dist/include/grpcpp/security/alts_context.h", + "dist/include/grpcpp/security/alts_util.h", + "dist/include/grpcpp/security/audit_logging.h", + "dist/include/grpcpp/security/auth_context.h", + "dist/include/grpcpp/security/auth_metadata_processor.h", + "dist/include/grpcpp/security/authorization_policy_provider.h", + "dist/include/grpcpp/security/binder_credentials.h", + "dist/include/grpcpp/security/binder_security_policy.h", + "dist/include/grpcpp/security/credentials.h", + "dist/include/grpcpp/security/cronet_credentials.h", + "dist/include/grpcpp/security/server_credentials.h", + "dist/include/grpcpp/security/tls_certificate_provider.h", + "dist/include/grpcpp/security/tls_certificate_verifier.h", + "dist/include/grpcpp/security/tls_credentials_options.h", + "dist/include/grpcpp/server.h", + "dist/include/grpcpp/server_builder.h", + "dist/include/grpcpp/server_context.h", + "dist/include/grpcpp/server_interface.h", + "dist/include/grpcpp/server_posix.h", + "dist/include/grpcpp/support/async_stream.h", + "dist/include/grpcpp/support/async_unary_call.h", + "dist/include/grpcpp/support/byte_buffer.h", + "dist/include/grpcpp/support/callback_common.h", + "dist/include/grpcpp/support/channel_arguments.h", + "dist/include/grpcpp/support/client_callback.h", + "dist/include/grpcpp/support/client_interceptor.h", + "dist/include/grpcpp/support/config.h", + "dist/include/grpcpp/support/error_details.h", + "dist/include/grpcpp/support/interceptor.h", + "dist/include/grpcpp/support/message_allocator.h", + "dist/include/grpcpp/support/method_handler.h", + "dist/include/grpcpp/support/proto_buffer_reader.h", + "dist/include/grpcpp/support/proto_buffer_writer.h", + "dist/include/grpcpp/support/server_callback.h", + "dist/include/grpcpp/support/server_interceptor.h", + "dist/include/grpcpp/support/slice.h", + "dist/include/grpcpp/support/status.h", + "dist/include/grpcpp/support/status_code_enum.h", + "dist/include/grpcpp/support/string_ref.h", + "dist/include/grpcpp/support/stub_options.h", + "dist/include/grpcpp/support/sync_stream.h", + "dist/include/grpcpp/support/time.h", + "dist/include/grpcpp/support/validate_service_config.h", + "dist/include/grpcpp/test/channel_test_peer.h", + "dist/include/grpcpp/test/client_context_test_peer.h", + "dist/include/grpcpp/test/default_reactor_test_peer.h", + "dist/include/grpcpp/test/mock_stream.h", + "dist/include/grpcpp/test/server_context_test_spouse.h", + "dist/include/grpcpp/version_info.h", + "dist/include/grpcpp/xds_server_builder.h", + + # cpp + "dist/src/cpp/client/client_stats_interceptor.h", + "dist/src/cpp/client/create_channel_internal.h", + "dist/src/cpp/client/secure_credentials.h", + "dist/src/cpp/common/channel_filter.h", + "dist/src/cpp/common/secure_auth_context.h", + "dist/src/cpp/ext/csm/csm_observability.h", + "dist/src/cpp/ext/csm/metadata_exchange.h", + "dist/src/cpp/ext/filters/census/client_filter.h", + "dist/src/cpp/ext/filters/census/context.h", + "dist/src/cpp/ext/filters/census/grpc_plugin.h", + "dist/src/cpp/ext/filters/census/measures.h", + "dist/src/cpp/ext/filters/census/open_census_call_tracer.h", + "dist/src/cpp/ext/filters/census/rpc_encoding.h", + "dist/src/cpp/ext/filters/census/server_call_tracer.h", + "dist/src/cpp/ext/gcp/environment_autodetect.h", + "dist/src/cpp/ext/gcp/observability_config.h", + "dist/src/cpp/ext/gcp/observability_logging_sink.h", + "dist/src/cpp/ext/otel/key_value_iterable.h", + "dist/src/cpp/ext/otel/otel_call_tracer.h", + "dist/src/cpp/ext/otel/otel_client_filter.h", + "dist/src/cpp/ext/otel/otel_plugin.h", + "dist/src/cpp/ext/otel/otel_server_call_tracer.h", + "dist/src/cpp/ext/proto_server_reflection.h", + "dist/src/cpp/server/backend_metric_recorder.h", + "dist/src/cpp/server/channelz/channelz_service.h", + "dist/src/cpp/server/csds/csds.h", + "dist/src/cpp/server/dynamic_thread_pool.h", + "dist/src/cpp/server/external_connection_acceptor_impl.h", + "dist/src/cpp/server/health/default_health_check_service.h", + "dist/src/cpp/server/load_reporter/constants.h", + "dist/src/cpp/server/load_reporter/get_cpu_stats.h", + "dist/src/cpp/server/load_reporter/load_data_store.h", + "dist/src/cpp/server/load_reporter/load_reporter.h", + "dist/src/cpp/server/load_reporter/load_reporter_async_service_impl.h", + "dist/src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.h", + "dist/src/cpp/server/secure_server_credentials.h", + "dist/src/cpp/server/thread_pool_interface.h", + "dist/src/cpp/thread_manager/thread_manager.h", + ], + copts = GRPC_COPTS + [ + "-Isrc/third_party/grpc/dist", + ], + features = GRPC_FEATURES, + includes = ["dist/include"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":grpc", + "//src/third_party/protobuf", + ], +) + +# TODO(aaronmondal): Migrate this to the upstream implementation at +# "@protobuf//bazel:proto_library.bzl". Don't confuse this +# with the deprecated implementation in rules_proto. +mongo_proto_library( + name = "reflection_proto", + srcs = [ + "dist/src/proto/grpc/reflection/v1alpha/reflection.proto", + ], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +# TODO(aaronmondal): Migrate this to the upstream implementation at +# "@protobuf//bazel:cc_proto_library.bzl". +mongo_cc_proto_library( + name = "reflection_cc_proto", + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [":reflection_proto"], +) + +mongo_cc_grpc_library( + name = "reflection_cc_grpc", + srcs = [":reflection_proto"], + cc_proto = ":reflection_cc_proto", + generate_mocks = True, + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, +) + +mongo_cc_library( + name = "grpc++_reflection", + srcs = [ + "dist/src/cpp/ext/proto_server_reflection.cc", + "dist/src/cpp/ext/proto_server_reflection_plugin.cc", + ], + copts = GRPC_COPTS + [ + "-Isrc/third_party/grpc/dist", + "-I$(BINDIR)/src/third_party/grpc/dist", + ], + features = GRPC_FEATURES, + linkopts = ["-lssl"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":grpc++", + ":reflection_cc_grpc", + ], +) + +mongo_cc_library( + name = "grpc++_codegen_proto", + srcs = [ + "dummy.cpp", + ], + hdrs = [ + "dist/include/grpc++/impl/codegen/proto_utils.h", + "dist/include/grpcpp/impl/codegen/proto_buffer_reader.h", + "dist/include/grpcpp/impl/codegen/proto_buffer_writer.h", + "dist/include/grpcpp/impl/codegen/proto_utils.h", + "dist/include/grpcpp/impl/proto_utils.h", + ], + deps = [ + "grpc++_config_proto", + "grpc++_public_hdrs", + "grpcpp_status", + "//src/third_party/protobuf", + ], +) + +mongo_cc_library( + name = "grpc++_config_proto", + srcs = [ + "dummy.cpp", + ], + hdrs = [ + "dist/include/grpc++/impl/codegen/config_protobuf.h", + "dist/include/grpcpp/impl/codegen/config_protobuf.h", + ], + deps = [ + "//src/third_party/protobuf", + ], +) + +GRPCXX_PUBLIC_HDRS = [ + "dist/include/grpc++/alarm.h", + "dist/include/grpc++/channel.h", + "dist/include/grpc++/client_context.h", + "dist/include/grpc++/completion_queue.h", + "dist/include/grpc++/create_channel.h", + "dist/include/grpc++/create_channel_posix.h", + "dist/include/grpc++/ext/health_check_service_server_builder_option.h", + "dist/include/grpc++/generic/async_generic_service.h", + "dist/include/grpc++/generic/generic_stub.h", + "dist/include/grpc++/grpc++.h", + "dist/include/grpc++/health_check_service_interface.h", + "dist/include/grpc++/impl/call.h", + "dist/include/grpc++/impl/channel_argument_option.h", + "dist/include/grpc++/impl/client_unary_call.h", + "dist/include/grpc++/impl/grpc_library.h", + "dist/include/grpc++/impl/method_handler_impl.h", + "dist/include/grpc++/impl/rpc_method.h", + "dist/include/grpc++/impl/rpc_service_method.h", + "dist/include/grpc++/impl/serialization_traits.h", + "dist/include/grpc++/impl/server_builder_option.h", + "dist/include/grpc++/impl/server_builder_plugin.h", + "dist/include/grpc++/impl/server_initializer.h", + "dist/include/grpc++/impl/service_type.h", + "dist/include/grpc++/security/auth_context.h", + "dist/include/grpc++/resource_quota.h", + "dist/include/grpc++/security/auth_metadata_processor.h", + "dist/include/grpc++/security/credentials.h", + "dist/include/grpc++/security/server_credentials.h", + "dist/include/grpc++/server.h", + "dist/include/grpc++/server_builder.h", + "dist/include/grpc++/server_context.h", + "dist/include/grpc++/server_posix.h", + "dist/include/grpc++/support/async_stream.h", + "dist/include/grpc++/support/async_unary_call.h", + "dist/include/grpc++/support/byte_buffer.h", + "dist/include/grpc++/support/channel_arguments.h", + "dist/include/grpc++/support/config.h", + "dist/include/grpc++/support/slice.h", + "dist/include/grpc++/support/status.h", + "dist/include/grpc++/support/status_code_enum.h", + "dist/include/grpc++/support/string_ref.h", + "dist/include/grpc++/support/stub_options.h", + "dist/include/grpc++/support/sync_stream.h", + "dist/include/grpc++/support/time.h", + "dist/include/grpcpp/alarm.h", + "dist/include/grpcpp/channel.h", + "dist/include/grpcpp/client_context.h", + "dist/include/grpcpp/completion_queue.h", + "dist/include/grpcpp/create_channel.h", + "dist/include/grpcpp/create_channel_posix.h", + "dist/include/grpcpp/ext/health_check_service_server_builder_option.h", + "dist/include/grpcpp/generic/async_generic_service.h", + "dist/include/grpcpp/generic/generic_stub.h", + "dist/include/grpcpp/grpcpp.h", + "dist/include/grpcpp/health_check_service_interface.h", + "dist/include/grpcpp/impl/call_hook.h", + "dist/include/grpcpp/impl/call_op_set_interface.h", + "dist/include/grpcpp/impl/call_op_set.h", + "dist/include/grpcpp/impl/call.h", + "dist/include/grpcpp/impl/channel_argument_option.h", + "dist/include/grpcpp/impl/channel_interface.h", + "dist/include/grpcpp/impl/client_unary_call.h", + "dist/include/grpcpp/impl/completion_queue_tag.h", + "dist/include/grpcpp/impl/create_auth_context.h", + "dist/include/grpcpp/impl/delegating_channel.h", + "dist/include/grpcpp/impl/grpc_library.h", + "dist/include/grpcpp/impl/intercepted_channel.h", + "dist/include/grpcpp/impl/interceptor_common.h", + "dist/include/grpcpp/impl/metadata_map.h", + "dist/include/grpcpp/impl/method_handler_impl.h", + "dist/include/grpcpp/impl/rpc_method.h", + "dist/include/grpcpp/impl/rpc_service_method.h", + "dist/include/grpcpp/impl/serialization_traits.h", + "dist/include/grpcpp/impl/server_builder_option.h", + "dist/include/grpcpp/impl/server_builder_plugin.h", + "dist/include/grpcpp/impl/server_callback_handlers.h", + "dist/include/grpcpp/impl/server_initializer.h", + "dist/include/grpcpp/impl/service_type.h", + "dist/include/grpcpp/impl/status.h", + "dist/include/grpcpp/impl/sync.h", + "dist/include/grpcpp/resource_quota.h", + "dist/include/grpcpp/security/audit_logging.h", + "dist/include/grpcpp/security/auth_context.h", + "dist/include/grpcpp/security/auth_metadata_processor.h", + "dist/include/grpcpp/security/credentials.h", + "dist/include/grpcpp/security/server_credentials.h", + "dist/include/grpcpp/security/tls_certificate_provider.h", + "dist/include/grpcpp/security/authorization_policy_provider.h", + "dist/include/grpcpp/security/tls_certificate_verifier.h", + "dist/include/grpcpp/security/tls_credentials_options.h", + "dist/include/grpcpp/server.h", + "dist/include/grpcpp/server_builder.h", + "dist/include/grpcpp/server_context.h", + "dist/include/grpcpp/server_interface.h", + "dist/include/grpcpp/server_posix.h", + "dist/include/grpcpp/version_info.h", + "dist/include/grpcpp/support/async_stream.h", + "dist/include/grpcpp/support/async_unary_call.h", + "dist/include/grpcpp/support/byte_buffer.h", + "dist/include/grpcpp/support/callback_common.h", + "dist/include/grpcpp/support/channel_arguments.h", + "dist/include/grpcpp/support/client_callback.h", + "dist/include/grpcpp/support/client_interceptor.h", + "dist/include/grpcpp/support/config.h", + "dist/include/grpcpp/support/interceptor.h", + "dist/include/grpcpp/support/message_allocator.h", + "dist/include/grpcpp/support/method_handler.h", + "dist/include/grpcpp/support/proto_buffer_reader.h", + "dist/include/grpcpp/support/proto_buffer_writer.h", + "dist/include/grpcpp/support/server_callback.h", + "dist/include/grpcpp/support/server_interceptor.h", + "dist/include/grpcpp/support/slice.h", + "dist/include/grpcpp/support/status.h", + "dist/include/grpcpp/support/status_code_enum.h", + "dist/include/grpcpp/support/string_ref.h", + "dist/include/grpcpp/support/stub_options.h", + "dist/include/grpcpp/support/sync_stream.h", + "dist/include/grpcpp/support/time.h", + "dist/include/grpcpp/support/validate_service_config.h", + "dist/include/grpc++/impl/codegen/async_stream.h", + "dist/include/grpc++/impl/codegen/async_unary_call.h", + "dist/include/grpc++/impl/codegen/byte_buffer.h", + "dist/include/grpc++/impl/codegen/call_hook.h", + "dist/include/grpc++/impl/codegen/call.h", + "dist/include/grpc++/impl/codegen/channel_interface.h", + "dist/include/grpc++/impl/codegen/client_context.h", + "dist/include/grpc++/impl/codegen/client_unary_call.h", + "dist/include/grpc++/impl/codegen/completion_queue_tag.h", + "dist/include/grpc++/impl/codegen/completion_queue.h", + "dist/include/grpc++/impl/codegen/config.h", + "dist/include/grpc++/impl/codegen/create_auth_context.h", + "dist/include/grpc++/impl/codegen/metadata_map.h", + "dist/include/grpc++/impl/codegen/method_handler_impl.h", + "dist/include/grpc++/impl/codegen/rpc_method.h", + "dist/include/grpc++/impl/codegen/rpc_service_method.h", + "dist/include/grpc++/impl/codegen/security/auth_context.h", + "dist/include/grpc++/impl/codegen/serialization_traits.h", + "dist/include/grpc++/impl/codegen/server_context.h", + "dist/include/grpc++/impl/codegen/server_interface.h", + "dist/include/grpc++/impl/codegen/service_type.h", + "dist/include/grpc++/impl/codegen/slice.h", + "dist/include/grpc++/impl/codegen/status_code_enum.h", + "dist/include/grpc++/impl/codegen/status.h", + "dist/include/grpc++/impl/codegen/string_ref.h", + "dist/include/grpc++/impl/codegen/stub_options.h", + "dist/include/grpc++/impl/codegen/sync_stream.h", + "dist/include/grpc++/impl/codegen/time.h", + "dist/include/grpcpp/impl/codegen/async_generic_service.h", + "dist/include/grpcpp/impl/codegen/async_stream.h", + "dist/include/grpcpp/impl/codegen/async_unary_call.h", + "dist/include/grpcpp/impl/codegen/byte_buffer.h", + "dist/include/grpcpp/impl/codegen/call_hook.h", + "dist/include/grpcpp/impl/codegen/call_op_set_interface.h", + "dist/include/grpcpp/impl/codegen/call_op_set.h", + "dist/include/grpcpp/impl/codegen/call.h", + "dist/include/grpcpp/impl/codegen/callback_common.h", + "dist/include/grpcpp/impl/codegen/channel_interface.h", + "dist/include/grpcpp/impl/codegen/client_callback.h", + "dist/include/grpcpp/impl/codegen/client_context.h", + "dist/include/grpcpp/impl/codegen/client_interceptor.h", + "dist/include/grpcpp/impl/codegen/client_unary_call.h", + "dist/include/grpcpp/impl/codegen/completion_queue_tag.h", + "dist/include/grpcpp/impl/codegen/completion_queue.h", + "dist/include/grpcpp/impl/codegen/config.h", + "dist/include/grpcpp/impl/codegen/create_auth_context.h", + "dist/include/grpcpp/impl/codegen/delegating_channel.h", + "dist/include/grpcpp/impl/codegen/intercepted_channel.h", + "dist/include/grpcpp/impl/codegen/interceptor_common.h", + "dist/include/grpcpp/impl/codegen/interceptor.h", + "dist/include/grpcpp/impl/codegen/message_allocator.h", + "dist/include/grpcpp/impl/codegen/metadata_map.h", + "dist/include/grpcpp/impl/codegen/method_handler_impl.h", + "dist/include/grpcpp/impl/codegen/method_handler.h", + "dist/include/grpcpp/impl/codegen/rpc_method.h", + "dist/include/grpcpp/impl/codegen/rpc_service_method.h", + "dist/include/grpcpp/impl/codegen/security/auth_context.h", + "dist/include/grpcpp/impl/codegen/serialization_traits.h", + "dist/include/grpcpp/impl/codegen/server_callback_handlers.h", + "dist/include/grpcpp/impl/codegen/server_callback.h", + "dist/include/grpcpp/impl/codegen/server_context.h", + "dist/include/grpcpp/impl/codegen/server_interceptor.h", + "dist/include/grpcpp/impl/codegen/server_interface.h", + "dist/include/grpcpp/impl/codegen/service_type.h", + "dist/include/grpcpp/impl/codegen/slice.h", + "dist/include/grpcpp/impl/codegen/status_code_enum.h", + "dist/include/grpcpp/impl/codegen/status.h", + "dist/include/grpcpp/impl/codegen/string_ref.h", + "dist/include/grpcpp/impl/codegen/stub_options.h", + "dist/include/grpcpp/impl/codegen/sync_stream.h", + "dist/include/grpcpp/impl/codegen/time.h", + "dist/include/grpcpp/impl/codegen/sync.h", +] + +mongo_cc_library( + name = "grpc++_public_hdrs", + srcs = [ + "dummy.cpp", + ], + hdrs = GRPCXX_PUBLIC_HDRS, + deps = [ + "gpr", + "grpc_public_hdrs", + "//src/third_party/protobuf", + ], +) + +mongo_cc_library( + name = "grpcpp_status", + srcs = [ + "dist/src/cpp/util/status.cc", + ], + hdrs = [ + "dist/include/grpc++/impl/codegen/status.h", + "dist/include/grpc++/support/status.h", + "dist/include/grpcpp/impl/codegen/status.h", + "dist/include/grpcpp/impl/status.h", + "dist/include/grpcpp/support/status.h", + ], + deps = [ + "gpr_platform", + "grpc++_public_hdrs", + "grpc_public_hdrs", + ], +) + +mongo_cc_library( + name = "gpr_platform", + srcs = [ + "dummy.cpp", + ], + hdrs = [ + "dist/include/grpc/impl/codegen/port_platform.h", + "dist/include/grpc/support/port_platform.h", + ], +) + +mongo_cc_library( + name = "grpc_public_hdrs", + srcs = [ + "dummy.cpp", + ], + hdrs = GRPC_PUBLIC_HDRS, + deps = [ + "channel_arg_names", + "gpr_public_hdrs", + "//src/third_party/abseil-cpp:absl_statusor", + "//src/third_party/abseil-cpp:absl_strings", + ], +) + +mongo_cc_library( + name = "gpr_public_hdrs", + srcs = [ + "dummy.cpp", + ], + hdrs = GPR_PUBLIC_HDRS, + deps = [ + "//src/third_party/abseil-cpp:absl_strings", + ], +) + +mongo_cc_library( + name = "channel_arg_names", + srcs = [ + "dummy.cpp", + ], + hdrs = [ + "dist/include/grpc/impl/channel_arg_names.h", + ], +) diff --git a/src/third_party/grpc/SConscript b/src/third_party/grpc/SConscript index 305bc51c3f1..c59d8c06210 100644 --- a/src/third_party/grpc/SConscript +++ b/src/third_party/grpc/SConscript @@ -45,19 +45,6 @@ if grpc_env.ToolchainIs('msvc'): grpc_root = grpc_env.Dir(".").srcnode() -utf8_range_env = grpc_env.Clone() -utf8_range_env.Append(CPPPATH=[ - grpc_root.Dir('dist/third_party/utf8_range'), -]) -utf8_range_env.Library( - target="utf8_range", - source=[ - "dist/third_party/utf8_range/naive.c", - "dist/third_party/utf8_range/range2-neon.c", - "dist/third_party/utf8_range/range2-sse.c", - ], -) - upb_env = grpc_env.Clone() upb_env.Append( CPPPATH=[ @@ -67,226 +54,12 @@ upb_env.Append( grpc_root.Dir('dist/src/core/ext/upbdefs-generated'), ], ) -upb_env.Library( - target="upb_base", - source=[ - "dist/third_party/upb/upb/base/status.c", - ], - LIBDEPS=[], -) - -upb_env.Library( - target="upb_mem", - source=[ - "dist/third_party/upb/upb/mem/alloc.c", - "dist/third_party/upb/upb/mem/arena.c", - ], - LIBDEPS=[], -) - -upb_env.Library( - target="upb_hash", - source=[ - "dist/third_party/upb/upb/hash/common.c", - ], - LIBDEPS=[ - "upb_base", - "upb_mem", - ], -) - -upb_env.Library( - target="upb_mini_table", - source=[ - "dist/third_party/upb/upb/mini_table/extension_registry.c", - "dist/third_party/upb/upb/mini_table/internal/message.c", - "dist/third_party/upb/upb/mini_table/message.c", - ], - LIBDEPS=[ - "upb_base", - "upb_hash", - "upb_mem", - ], -) - -upb_env.Library( - target="upb_mini_descriptor", - source=[ - "dist/third_party/upb/upb/mini_descriptor/build_enum.c", - "dist/third_party/upb/upb/mini_descriptor/decode.c", - "dist/third_party/upb/upb/mini_descriptor/internal/base92.c", - "dist/third_party/upb/upb/mini_descriptor/internal/encode.c", - "dist/third_party/upb/upb/mini_descriptor/link.c", - ], - LIBDEPS=[ - "upb_base", - "upb_mem", - "upb_mini_table", - ], -) - -upb_env.Library( - target="upb_message", - source=[ - "dist/third_party/upb/upb/message/message.c", - ], - LIBDEPS=[ - "upb_mem", - "upb_mini_table", - ], -) - -upb_env.Library( - target="upb_collections", - source=[ - "dist/third_party/upb/upb/collections/array.c", - "dist/third_party/upb/upb/collections/map.c", - "dist/third_party/upb/upb/collections/map_sorter.c", - ], - LIBDEPS=[ - "upb_base", - "upb_hash", - "upb_mem", - "upb_message", - "upb_mini_table", - ], -) - -upb_env.Library( - target="upb_wire", - source=[ - "dist/third_party/upb/upb/wire/decode.c", - "dist/third_party/upb/upb/wire/decode_fast.c", - "dist/third_party/upb/upb/wire/encode.c", - ], - LIBDEPS=[ - "upb_base", - "upb_collections", - "upb_eps_copy_input_stream", - "upb_mem", - "upb_message", - "upb_mini_table", - "upb_wire_reader", - "utf8_range", - ], -) - -upb_env.Library( - target="upb_wire_reader", - source=[ - "dist/third_party/upb/upb/wire/reader.c", - ], - LIBDEPS=[ - "upb_eps_copy_input_stream", - ], -) - -upb_env.Library( - target="upb_eps_copy_input_stream", - source=["dist/third_party/upb/upb/wire/eps_copy_input_stream.c"], - LIBDEPS=[ - "upb_mem", - ], -) - -upb_env.Library( - target="upb_message_accessors", - source=[ - "dist/third_party/upb/upb/message/accessors.c", - ], - LIBDEPS=[ - "upb_collections", - "upb_eps_copy_input_stream", - "upb_message", - "upb_mini_table", - "upb_wire", - "upb_wire_reader", - ], -) - -upb_env.Library( - target='upb_reflection', - source=[ - "dist/third_party/upb/upb/reflection/def_builder.c", - "dist/third_party/upb/upb/reflection/def_pool.c", - "dist/third_party/upb/upb/reflection/def_type.c", - "dist/third_party/upb/upb/reflection/desc_state.c", - "dist/third_party/upb/upb/reflection/enum_def.c", - "dist/third_party/upb/upb/reflection/enum_reserved_range.c", - "dist/third_party/upb/upb/reflection/enum_value_def.c", - "dist/third_party/upb/upb/reflection/extension_range.c", - "dist/third_party/upb/upb/reflection/field_def.c", - "dist/third_party/upb/upb/reflection/file_def.c", - "dist/third_party/upb/upb/reflection/message.c", - "dist/third_party/upb/upb/reflection/message_def.c", - "dist/third_party/upb/upb/reflection/message_reserved_range.c", - "dist/third_party/upb/upb/reflection/method_def.c", - "dist/third_party/upb/upb/reflection/oneof_def.c", - "dist/third_party/upb/upb/reflection/service_def.c", - "dist/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c", - ], - LIBDEPS=[ - "upb_collections", - "upb_hash", - "upb_message_accessors", - "upb_mini_descriptor", - "upb_mini_table", - ], -) - -upb_env.Library( - target="upb_lex", - source=[ - "dist/third_party/upb/upb/lex/atoi.c", - "dist/third_party/upb/upb/lex/round_trip.c", - "dist/third_party/upb/upb/lex/strtod.c", - "dist/third_party/upb/upb/lex/unicode.c", - ], - LIBDEPS=[], -) - -upb_env.Library( - target="upb_textformat", - source=[ - "dist/third_party/upb/upb/text/encode.c", - ], - LIBDEPS=[ - "upb_collections", - "upb_eps_copy_input_stream", - "upb_lex", - "upb_reflection", - "upb_wire", - "upb_wire_reader", - ], -) - -upb_env.Library( - target="upb_json", - source=[ - "dist/third_party/upb/upb/json/decode.c", - "dist/third_party/upb/upb/json/encode.c", - ], - LIBDEPS=[ - "upb_collections", - "upb_lex", - "upb_reflection", - "upb_wire", - ], -) address_sorting_env = grpc_env.Clone() address_sorting_env.Append(CPPPATH=[ grpc_root.Dir('dist/third_party/address_sorting/include'), ], ) -address_sorting_env.Library( - target='address_sorting', - source=[ - "dist/third_party/address_sorting/address_sorting.c", - "dist/third_party/address_sorting/address_sorting_posix.c", - "dist/third_party/address_sorting/address_sorting_windows.c", - ], -) grpc_env.Append( CPPPATH=[ @@ -303,39 +76,6 @@ grpc_env.Append( ], ) protobuf_plugin_env = grpc_env.Clone(NINJA_GENSOURCE_INDEPENDENT=True) -# This should match the default $PROTOC_GRPC_PLUGIN bin name for everything to be seamless -# so if for some reason this name needs to change, make sure to update the default as well. -protobuf_plugin_bin = protobuf_plugin_env.Program( - target='grpc_cpp_plugin', - source=['dist/src/compiler/cpp_plugin.cc'], - LIBDEPS=[ - 'grpc_plugin_support', - ], - AIB_COMPONENT='protobuf', -) -installed = env.GetAutoInstalledFiles(protobuf_plugin_bin[0]) -if installed: - setattr(installed[0].attributes, 'AIB_NO_ARCHIVE', True) - -protobuf_plugin_support = protobuf_plugin_env.Library( - target='grpc_plugin_support', - source=[ - 'dist/src/compiler/cpp_generator.cc', - 'dist/src/compiler/csharp_generator.cc', - 'dist/src/compiler/node_generator.cc', - 'dist/src/compiler/objective_c_generator.cc', - 'dist/src/compiler/php_generator.cc', - 'dist/src/compiler/proto_parser_helper.cc', - 'dist/src/compiler/python_generator.cc', - 'dist/src/compiler/ruby_generator.cc', - ], - LIBDEPS=[ - '$BUILD_DIR/third_party/shim_protobuf', - ], -) -installed = env.GetAutoInstalledFiles(protobuf_plugin_support[0]) -if installed: - setattr(installed[0].attributes, 'AIB_NO_ARCHIVE', True) gpr_env = grpc_env.Clone() @@ -351,976 +91,6 @@ if gpr_env['TARGET_ARCH'] in ['x86_64', 's390x', 'ppc64le']: ], ) -gpr_env.Library( - target='gpr', - source=[ - "dist/src/core/lib/config/config_vars.cc", - "dist/src/core/lib/config/config_vars_non_generated.cc", - "dist/src/core/lib/config/load_config.cc", - "dist/src/core/lib/event_engine/thread_local.cc", - "dist/src/core/lib/gpr/alloc.cc", - "dist/src/core/lib/gpr/android/log.cc", - "dist/src/core/lib/gpr/atm.cc", - "dist/src/core/lib/gpr/iphone/cpu.cc", - "dist/src/core/lib/gpr/linux/cpu.cc", - "dist/src/core/lib/gpr/linux/log.cc", - "dist/src/core/lib/gpr/log.cc", - "dist/src/core/lib/gpr/msys/tmpfile.cc", - "dist/src/core/lib/gpr/posix/cpu.cc", - "dist/src/core/lib/gpr/posix/log.cc", - "dist/src/core/lib/gpr/posix/string.cc", - "dist/src/core/lib/gpr/posix/sync.cc", - "dist/src/core/lib/gpr/posix/time.cc", - "dist/src/core/lib/gpr/posix/tmpfile.cc", - "dist/src/core/lib/gpr/string.cc", - "dist/src/core/lib/gpr/sync.cc", - "dist/src/core/lib/gpr/sync_abseil.cc", - "dist/src/core/lib/gpr/time.cc", - "dist/src/core/lib/gpr/time_precise.cc", - "dist/src/core/lib/gpr/windows/cpu.cc", - "dist/src/core/lib/gpr/windows/log.cc", - "dist/src/core/lib/gpr/windows/string.cc", - "dist/src/core/lib/gpr/windows/string_util.cc", - "dist/src/core/lib/gpr/windows/sync.cc", - "dist/src/core/lib/gpr/windows/time.cc", - "dist/src/core/lib/gpr/windows/tmpfile.cc", - "dist/src/core/lib/gpr/wrap_memcpy.cc", - "dist/src/core/lib/gprpp/crash.cc", - "dist/src/core/lib/gprpp/examine_stack.cc", - "dist/src/core/lib/gprpp/fork.cc", - "dist/src/core/lib/gprpp/host_port.cc", - "dist/src/core/lib/gprpp/linux/env.cc", - "dist/src/core/lib/gprpp/mpscq.cc", - "dist/src/core/lib/gprpp/posix/env.cc", - "dist/src/core/lib/gprpp/posix/stat.cc", - "dist/src/core/lib/gprpp/posix/thd.cc", - "dist/src/core/lib/gprpp/strerror.cc", - "dist/src/core/lib/gprpp/tchar.cc", - "dist/src/core/lib/gprpp/time_util.cc", - "dist/src/core/lib/gprpp/windows/env.cc", - "dist/src/core/lib/gprpp/windows/stat.cc", - "dist/src/core/lib/gprpp/windows/thd.cc", - ], - LIBDEPS=[ - '$BUILD_DIR/third_party/abseil-cpp/absl_bad_optional_access', - '$BUILD_DIR/third_party/abseil-cpp/absl_base', - '$BUILD_DIR/third_party/abseil-cpp/absl_civil_time', - '$BUILD_DIR/third_party/abseil-cpp/absl_cord', - '$BUILD_DIR/third_party/abseil-cpp/absl_cord_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_cordz_functions', - '$BUILD_DIR/third_party/abseil-cpp/absl_cordz_handle', - '$BUILD_DIR/third_party/abseil-cpp/absl_cordz_info', - '$BUILD_DIR/third_party/abseil-cpp/absl_debugging_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_demangle_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_exponential_biased', - '$BUILD_DIR/third_party/abseil-cpp/absl_flags', - '$BUILD_DIR/third_party/abseil-cpp/absl_flags_marshalling', - '$BUILD_DIR/third_party/abseil-cpp/absl_graphcycles_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_int128', - '$BUILD_DIR/third_party/abseil-cpp/absl_log_severity', - '$BUILD_DIR/third_party/abseil-cpp/absl_malloc_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_distributions', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_internal_platform', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_internal_pool_urbg', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_internal_randen', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_internal_randen_hwaes', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_internal_randen_hwaes_impl', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_internal_randen_slow', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_internal_seed_material', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_seed_gen_exception', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_seed_sequences', - '$BUILD_DIR/third_party/abseil-cpp/absl_raw_logging_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_spinlock_wait', - '$BUILD_DIR/third_party/abseil-cpp/absl_stacktrace', - '$BUILD_DIR/third_party/abseil-cpp/absl_status', - '$BUILD_DIR/third_party/abseil-cpp/absl_str_format_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_strings', - '$BUILD_DIR/third_party/abseil-cpp/absl_strings_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_symbolize', - '$BUILD_DIR/third_party/abseil-cpp/absl_synchronization', - '$BUILD_DIR/third_party/abseil-cpp/absl_throw_delegate', - '$BUILD_DIR/third_party/abseil-cpp/absl_time', - '$BUILD_DIR/third_party/abseil-cpp/absl_time_zone', - ], -) - -grpc_env.Library( - target='grpc', - source=[ - "dist/src/core/ext/filters/backend_metrics/backend_metric_filter.cc", - "dist/src/core/ext/filters/census/grpc_context.cc", - "dist/src/core/ext/filters/channel_idle/channel_idle_filter.cc", - "dist/src/core/ext/filters/channel_idle/idle_filter_state.cc", - "dist/src/core/ext/filters/client_channel/backend_metric.cc", - "dist/src/core/ext/filters/client_channel/backup_poller.cc", - "dist/src/core/ext/filters/client_channel/channel_connectivity.cc", - "dist/src/core/ext/filters/client_channel/client_channel.cc", - "dist/src/core/ext/filters/client_channel/client_channel_channelz.cc", - "dist/src/core/ext/filters/client_channel/client_channel_factory.cc", - "dist/src/core/ext/filters/client_channel/client_channel_plugin.cc", - "dist/src/core/ext/filters/client_channel/client_channel_service_config.cc", - "dist/src/core/ext/filters/client_channel/config_selector.cc", - "dist/src/core/ext/filters/client_channel/dynamic_filters.cc", - "dist/src/core/ext/filters/client_channel/global_subchannel_pool.cc", - "dist/src/core/ext/filters/client_channel/http_proxy_mapper.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc", - "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc", - "dist/src/core/ext/filters/client_channel/local_subchannel_pool.cc", - "dist/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc", - "dist/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc", - "dist/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc", - "dist/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc", - "dist/src/core/ext/filters/client_channel/resolver/polling_resolver.cc", - "dist/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc", - "dist/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc", - "dist/src/core/ext/filters/client_channel/retry_filter.cc", - "dist/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc", - "dist/src/core/ext/filters/client_channel/retry_service_config.cc", - "dist/src/core/ext/filters/client_channel/retry_throttle.cc", - "dist/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc", - "dist/src/core/ext/filters/client_channel/subchannel.cc", - "dist/src/core/ext/filters/client_channel/subchannel_pool_interface.cc", - "dist/src/core/ext/filters/client_channel/subchannel_stream_client.cc", - "dist/src/core/ext/filters/deadline/deadline_filter.cc", - "dist/src/core/ext/filters/fault_injection/fault_injection_filter.cc", - "dist/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc", - "dist/src/core/ext/filters/http/client/http_client_filter.cc", - "dist/src/core/ext/filters/http/client_authority_filter.cc", - "dist/src/core/ext/filters/http/http_filters_plugin.cc", - "dist/src/core/ext/filters/http/message_compress/compression_filter.cc", - "dist/src/core/ext/filters/http/server/http_server_filter.cc", - "dist/src/core/ext/filters/message_size/message_size_filter.cc", - "dist/src/core/ext/filters/rbac/rbac_filter.cc", - "dist/src/core/ext/filters/rbac/rbac_service_config_parser.cc", - "dist/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc", - "dist/src/core/ext/filters/stateful_session/stateful_session_filter.cc", - "dist/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc", - "dist/src/core/ext/gcp/metadata_query.cc", - "dist/src/core/ext/transport/chttp2/alpn/alpn.cc", - "dist/src/core/ext/transport/chttp2/client/chttp2_connector.cc", - "dist/src/core/ext/transport/chttp2/server/chttp2_server.cc", - "dist/src/core/ext/transport/chttp2/transport/bin_decoder.cc", - "dist/src/core/ext/transport/chttp2/transport/bin_encoder.cc", - "dist/src/core/ext/transport/chttp2/transport/chttp2_transport.cc", - "dist/src/core/ext/transport/chttp2/transport/decode_huff.cc", - "dist/src/core/ext/transport/chttp2/transport/flow_control.cc", - "dist/src/core/ext/transport/chttp2/transport/frame_data.cc", - "dist/src/core/ext/transport/chttp2/transport/frame_goaway.cc", - "dist/src/core/ext/transport/chttp2/transport/frame_ping.cc", - "dist/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc", - "dist/src/core/ext/transport/chttp2/transport/frame_settings.cc", - "dist/src/core/ext/transport/chttp2/transport/frame_window_update.cc", - "dist/src/core/ext/transport/chttp2/transport/hpack_encoder.cc", - "dist/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc", - "dist/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc", - "dist/src/core/ext/transport/chttp2/transport/hpack_parser.cc", - "dist/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc", - "dist/src/core/ext/transport/chttp2/transport/http2_settings.cc", - "dist/src/core/ext/transport/chttp2/transport/http_trace.cc", - "dist/src/core/ext/transport/chttp2/transport/huffsyms.cc", - "dist/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc", - "dist/src/core/ext/transport/chttp2/transport/parsing.cc", - "dist/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc", - "dist/src/core/ext/transport/chttp2/transport/ping_callbacks.cc", - "dist/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc", - "dist/src/core/ext/transport/chttp2/transport/stream_lists.cc", - "dist/src/core/ext/transport/chttp2/transport/varint.cc", - "dist/src/core/ext/transport/chttp2/transport/write_size_policy.cc", - "dist/src/core/ext/transport/chttp2/transport/writing.cc", - "dist/src/core/ext/transport/inproc/inproc_plugin.cc", - "dist/src/core/ext/transport/inproc/inproc_transport.cc", - "dist/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c", - "dist/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c", - "dist/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c", - "dist/src/core/ext/upb-generated/envoy/annotations/resource.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c", - "dist/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c", - "dist/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c", - "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c", - "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c", - "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c", - "dist/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c", - "dist/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/http.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/range.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c", - "dist/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c", - "dist/src/core/ext/upb-generated/google/api/annotations.upb.c", - "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c", - "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c", - "dist/src/core/ext/upb-generated/google/api/http.upb.c", - "dist/src/core/ext/upb-generated/google/api/httpbody.upb.c", - "dist/src/core/ext/upb-generated/google/protobuf/any.upb.c", - "dist/src/core/ext/upb-generated/google/protobuf/duration.upb.c", - "dist/src/core/ext/upb-generated/google/protobuf/empty.upb.c", - "dist/src/core/ext/upb-generated/google/protobuf/struct.upb.c", - "dist/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c", - "dist/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c", - "dist/src/core/ext/upb-generated/google/rpc/status.upb.c", - "dist/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c", - "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c", - "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c", - "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c", - "dist/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c", - "dist/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c", - "dist/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c", - "dist/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c", - "dist/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c", - "dist/src/core/ext/upb-generated/udpa/annotations/security.upb.c", - "dist/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c", - "dist/src/core/ext/upb-generated/udpa/annotations/status.upb.c", - "dist/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c", - "dist/src/core/ext/upb-generated/validate/validate.upb.c", - "dist/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c", - "dist/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c", - "dist/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c", - "dist/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c", - "dist/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/authority.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/extension.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/resource.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c", - "dist/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c", - "dist/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c", - "dist/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c", - "dist/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c", - "dist/src/core/ext/upb-generated/xds/type/v3/cel.upb.c", - "dist/src/core/ext/upb-generated/xds/type/v3/range.upb.c", - "dist/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c", - "dist/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c", - "dist/src/core/ext/xds/certificate_provider_store.cc", - "dist/src/core/ext/xds/file_watcher_certificate_provider_factory.cc", - "dist/src/core/ext/xds/xds_api.cc", - "dist/src/core/ext/xds/xds_audit_logger_registry.cc", - "dist/src/core/ext/xds/xds_bootstrap.cc", - "dist/src/core/ext/xds/xds_bootstrap_grpc.cc", - "dist/src/core/ext/xds/xds_certificate_provider.cc", - "dist/src/core/ext/xds/xds_channel_stack_modifier.cc", - "dist/src/core/ext/xds/xds_client.cc", - "dist/src/core/ext/xds/xds_client_grpc.cc", - "dist/src/core/ext/xds/xds_client_stats.cc", - "dist/src/core/ext/xds/xds_cluster.cc", - "dist/src/core/ext/xds/xds_cluster_specifier_plugin.cc", - "dist/src/core/ext/xds/xds_common_types.cc", - "dist/src/core/ext/xds/xds_endpoint.cc", - "dist/src/core/ext/xds/xds_health_status.cc", - "dist/src/core/ext/xds/xds_http_fault_filter.cc", - "dist/src/core/ext/xds/xds_http_filters.cc", - "dist/src/core/ext/xds/xds_http_rbac_filter.cc", - "dist/src/core/ext/xds/xds_http_stateful_session_filter.cc", - "dist/src/core/ext/xds/xds_lb_policy_registry.cc", - "dist/src/core/ext/xds/xds_listener.cc", - "dist/src/core/ext/xds/xds_route_config.cc", - "dist/src/core/ext/xds/xds_routing.cc", - "dist/src/core/ext/xds/xds_server_config_fetcher.cc", - "dist/src/core/ext/xds/xds_transport_grpc.cc", - "dist/src/core/lib/address_utils/parse_address.cc", - "dist/src/core/lib/address_utils/sockaddr_utils.cc", - "dist/src/core/lib/backoff/backoff.cc", - "dist/src/core/lib/backoff/random_early_detection.cc", - "dist/src/core/lib/channel/call_tracer.cc", - "dist/src/core/lib/channel/channel_args.cc", - "dist/src/core/lib/channel/channel_args_preconditioning.cc", - "dist/src/core/lib/channel/channel_stack.cc", - "dist/src/core/lib/channel/channel_stack_builder.cc", - "dist/src/core/lib/channel/channel_stack_builder_impl.cc", - "dist/src/core/lib/channel/channel_trace.cc", - "dist/src/core/lib/channel/channelz.cc", - "dist/src/core/lib/channel/channelz_registry.cc", - "dist/src/core/lib/channel/connected_channel.cc", - "dist/src/core/lib/channel/promise_based_filter.cc", - "dist/src/core/lib/channel/server_call_tracer_filter.cc", - "dist/src/core/lib/channel/status_util.cc", - "dist/src/core/lib/compression/compression.cc", - "dist/src/core/lib/compression/compression_internal.cc", - "dist/src/core/lib/compression/message_compress.cc", - "dist/src/core/lib/config/core_configuration.cc", - "dist/src/core/lib/debug/event_log.cc", - "dist/src/core/lib/debug/histogram_view.cc", - "dist/src/core/lib/debug/stats.cc", - "dist/src/core/lib/debug/stats_data.cc", - "dist/src/core/lib/debug/trace.cc", - "dist/src/core/lib/event_engine/ares_resolver.cc", - "dist/src/core/lib/event_engine/cf_engine/cf_engine.cc", - "dist/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc", - "dist/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc", - "dist/src/core/lib/event_engine/channel_args_endpoint_config.cc", - "dist/src/core/lib/event_engine/default_event_engine.cc", - "dist/src/core/lib/event_engine/default_event_engine_factory.cc", - "dist/src/core/lib/event_engine/event_engine.cc", - "dist/src/core/lib/event_engine/forkable.cc", - "dist/src/core/lib/event_engine/memory_allocator.cc", - "dist/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc", - "dist/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc", - "dist/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc", - "dist/src/core/lib/event_engine/posix_engine/internal_errqueue.cc", - "dist/src/core/lib/event_engine/posix_engine/lockfree_event.cc", - "dist/src/core/lib/event_engine/posix_engine/posix_endpoint.cc", - "dist/src/core/lib/event_engine/posix_engine/posix_engine.cc", - "dist/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc", - "dist/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc", - "dist/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc", - "dist/src/core/lib/event_engine/posix_engine/timer.cc", - "dist/src/core/lib/event_engine/posix_engine/timer_heap.cc", - "dist/src/core/lib/event_engine/posix_engine/timer_manager.cc", - "dist/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc", - "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc", - "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc", - "dist/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc", - "dist/src/core/lib/event_engine/resolved_address.cc", - "dist/src/core/lib/event_engine/shim.cc", - "dist/src/core/lib/event_engine/slice.cc", - "dist/src/core/lib/event_engine/slice_buffer.cc", - "dist/src/core/lib/event_engine/tcp_socket_utils.cc", - "dist/src/core/lib/event_engine/thread_pool/thread_count.cc", - "dist/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc", - "dist/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc", - "dist/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc", - "dist/src/core/lib/event_engine/time_util.cc", - "dist/src/core/lib/event_engine/trace.cc", - "dist/src/core/lib/event_engine/utils.cc", - "dist/src/core/lib/event_engine/windows/iocp.cc", - "dist/src/core/lib/event_engine/windows/win_socket.cc", - "dist/src/core/lib/event_engine/windows/windows_endpoint.cc", - "dist/src/core/lib/event_engine/windows/windows_engine.cc", - "dist/src/core/lib/event_engine/windows/windows_listener.cc", - "dist/src/core/lib/event_engine/work_queue/basic_work_queue.cc", - "dist/src/core/lib/experiments/config.cc", - "dist/src/core/lib/experiments/experiments.cc", - "dist/src/core/lib/gprpp/load_file.cc", - "dist/src/core/lib/gprpp/per_cpu.cc", - "dist/src/core/lib/gprpp/ref_counted_string.cc", - "dist/src/core/lib/gprpp/status_helper.cc", - "dist/src/core/lib/gprpp/time.cc", - "dist/src/core/lib/gprpp/time_averaged_stats.cc", - "dist/src/core/lib/gprpp/validation_errors.cc", - "dist/src/core/lib/gprpp/work_serializer.cc", - "dist/src/core/lib/handshaker/proxy_mapper_registry.cc", - "dist/src/core/lib/http/format_request.cc", - "dist/src/core/lib/http/httpcli.cc", - "dist/src/core/lib/http/httpcli_security_connector.cc", - "dist/src/core/lib/http/parser.cc", - "dist/src/core/lib/iomgr/buffer_list.cc", - "dist/src/core/lib/iomgr/call_combiner.cc", - "dist/src/core/lib/iomgr/cfstream_handle.cc", - "dist/src/core/lib/iomgr/closure.cc", - "dist/src/core/lib/iomgr/combiner.cc", - "dist/src/core/lib/iomgr/dualstack_socket_posix.cc", - "dist/src/core/lib/iomgr/endpoint.cc", - "dist/src/core/lib/iomgr/endpoint_cfstream.cc", - "dist/src/core/lib/iomgr/endpoint_pair_posix.cc", - "dist/src/core/lib/iomgr/endpoint_pair_windows.cc", - "dist/src/core/lib/iomgr/error.cc", - "dist/src/core/lib/iomgr/error_cfstream.cc", - "dist/src/core/lib/iomgr/ev_apple.cc", - "dist/src/core/lib/iomgr/ev_epoll1_linux.cc", - "dist/src/core/lib/iomgr/ev_poll_posix.cc", - "dist/src/core/lib/iomgr/ev_posix.cc", - "dist/src/core/lib/iomgr/ev_windows.cc", - "dist/src/core/lib/iomgr/event_engine_shims/closure.cc", - "dist/src/core/lib/iomgr/event_engine_shims/endpoint.cc", - "dist/src/core/lib/iomgr/event_engine_shims/tcp_client.cc", - "dist/src/core/lib/iomgr/exec_ctx.cc", - "dist/src/core/lib/iomgr/executor.cc", - "dist/src/core/lib/iomgr/fork_posix.cc", - "dist/src/core/lib/iomgr/fork_windows.cc", - "dist/src/core/lib/iomgr/gethostname_fallback.cc", - "dist/src/core/lib/iomgr/gethostname_host_name_max.cc", - "dist/src/core/lib/iomgr/gethostname_sysconf.cc", - "dist/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc", - "dist/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc", - "dist/src/core/lib/iomgr/internal_errqueue.cc", - "dist/src/core/lib/iomgr/iocp_windows.cc", - "dist/src/core/lib/iomgr/iomgr.cc", - "dist/src/core/lib/iomgr/iomgr_internal.cc", - "dist/src/core/lib/iomgr/iomgr_posix.cc", - "dist/src/core/lib/iomgr/iomgr_posix_cfstream.cc", - "dist/src/core/lib/iomgr/iomgr_windows.cc", - "dist/src/core/lib/iomgr/load_file.cc", - "dist/src/core/lib/iomgr/lockfree_event.cc", - "dist/src/core/lib/iomgr/polling_entity.cc", - "dist/src/core/lib/iomgr/pollset.cc", - "dist/src/core/lib/iomgr/pollset_set.cc", - "dist/src/core/lib/iomgr/pollset_set_windows.cc", - "dist/src/core/lib/iomgr/pollset_windows.cc", - "dist/src/core/lib/iomgr/resolve_address.cc", - "dist/src/core/lib/iomgr/resolve_address_posix.cc", - "dist/src/core/lib/iomgr/resolve_address_windows.cc", - "dist/src/core/lib/iomgr/sockaddr_utils_posix.cc", - "dist/src/core/lib/iomgr/socket_factory_posix.cc", - "dist/src/core/lib/iomgr/socket_mutator.cc", - "dist/src/core/lib/iomgr/socket_utils_common_posix.cc", - "dist/src/core/lib/iomgr/socket_utils_linux.cc", - "dist/src/core/lib/iomgr/socket_utils_posix.cc", - "dist/src/core/lib/iomgr/socket_utils_windows.cc", - "dist/src/core/lib/iomgr/socket_windows.cc", - "dist/src/core/lib/iomgr/systemd_utils.cc", - "dist/src/core/lib/iomgr/tcp_client.cc", - "dist/src/core/lib/iomgr/tcp_client_cfstream.cc", - "dist/src/core/lib/iomgr/tcp_client_posix.cc", - "dist/src/core/lib/iomgr/tcp_client_windows.cc", - "dist/src/core/lib/iomgr/tcp_posix.cc", - "dist/src/core/lib/iomgr/tcp_server.cc", - "dist/src/core/lib/iomgr/tcp_server_posix.cc", - "dist/src/core/lib/iomgr/tcp_server_utils_posix_common.cc", - "dist/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc", - "dist/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc", - "dist/src/core/lib/iomgr/tcp_server_windows.cc", - "dist/src/core/lib/iomgr/tcp_windows.cc", - "dist/src/core/lib/iomgr/timer.cc", - "dist/src/core/lib/iomgr/timer_generic.cc", - "dist/src/core/lib/iomgr/timer_heap.cc", - "dist/src/core/lib/iomgr/timer_manager.cc", - "dist/src/core/lib/iomgr/unix_sockets_posix.cc", - "dist/src/core/lib/iomgr/unix_sockets_posix_noop.cc", - "dist/src/core/lib/iomgr/vsock.cc", - "dist/src/core/lib/iomgr/wakeup_fd_eventfd.cc", - "dist/src/core/lib/iomgr/wakeup_fd_nospecial.cc", - "dist/src/core/lib/iomgr/wakeup_fd_pipe.cc", - "dist/src/core/lib/iomgr/wakeup_fd_posix.cc", - "dist/src/core/lib/json/json_object_loader.cc", - "dist/src/core/lib/json/json_reader.cc", - "dist/src/core/lib/json/json_util.cc", - "dist/src/core/lib/json/json_writer.cc", - "dist/src/core/lib/load_balancing/lb_policy.cc", - "dist/src/core/lib/load_balancing/lb_policy_registry.cc", - "dist/src/core/lib/matchers/matchers.cc", - "dist/src/core/lib/promise/activity.cc", - "dist/src/core/lib/promise/party.cc", - "dist/src/core/lib/promise/sleep.cc", - "dist/src/core/lib/promise/trace.cc", - "dist/src/core/lib/resolver/resolver.cc", - "dist/src/core/lib/resolver/resolver_registry.cc", - "dist/src/core/lib/resolver/server_address.cc", - "dist/src/core/lib/resource_quota/api.cc", - "dist/src/core/lib/resource_quota/arena.cc", - "dist/src/core/lib/resource_quota/memory_quota.cc", - "dist/src/core/lib/resource_quota/periodic_update.cc", - "dist/src/core/lib/resource_quota/resource_quota.cc", - "dist/src/core/lib/resource_quota/thread_quota.cc", - "dist/src/core/lib/resource_quota/trace.cc", - "dist/src/core/lib/security/authorization/audit_logging.cc", - "dist/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc", - "dist/src/core/lib/security/authorization/evaluate_args.cc", - "dist/src/core/lib/security/authorization/grpc_authorization_engine.cc", - "dist/src/core/lib/security/authorization/grpc_server_authz_filter.cc", - "dist/src/core/lib/security/authorization/matchers.cc", - "dist/src/core/lib/security/authorization/rbac_policy.cc", - "dist/src/core/lib/security/authorization/stdout_logger.cc", - "dist/src/core/lib/security/certificate_provider/certificate_provider_registry.cc", - "dist/src/core/lib/security/context/security_context.cc", - "dist/src/core/lib/security/credentials/alts/alts_credentials.cc", - "dist/src/core/lib/security/credentials/alts/check_gcp_environment.cc", - "dist/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc", - "dist/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc", - "dist/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc", - "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc", - "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc", - "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc", - "dist/src/core/lib/security/credentials/call_creds_util.cc", - "dist/src/core/lib/security/credentials/channel_creds_registry_init.cc", - "dist/src/core/lib/security/credentials/composite/composite_credentials.cc", - "dist/src/core/lib/security/credentials/credentials.cc", - "dist/src/core/lib/security/credentials/external/aws_external_account_credentials.cc", - "dist/src/core/lib/security/credentials/external/aws_request_signer.cc", - "dist/src/core/lib/security/credentials/external/external_account_credentials.cc", - "dist/src/core/lib/security/credentials/external/file_external_account_credentials.cc", - "dist/src/core/lib/security/credentials/external/url_external_account_credentials.cc", - "dist/src/core/lib/security/credentials/fake/fake_credentials.cc", - "dist/src/core/lib/security/credentials/google_default/credentials_generic.cc", - "dist/src/core/lib/security/credentials/google_default/google_default_credentials.cc", - "dist/src/core/lib/security/credentials/iam/iam_credentials.cc", - "dist/src/core/lib/security/credentials/insecure/insecure_credentials.cc", - "dist/src/core/lib/security/credentials/jwt/json_token.cc", - "dist/src/core/lib/security/credentials/jwt/jwt_credentials.cc", - "dist/src/core/lib/security/credentials/jwt/jwt_verifier.cc", - "dist/src/core/lib/security/credentials/local/local_credentials.cc", - "dist/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc", - "dist/src/core/lib/security/credentials/plugin/plugin_credentials.cc", - "dist/src/core/lib/security/credentials/ssl/ssl_credentials.cc", - "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc", - "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc", - "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc", - "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc", - "dist/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc", - "dist/src/core/lib/security/credentials/tls/tls_credentials.cc", - "dist/src/core/lib/security/credentials/tls/tls_utils.cc", - "dist/src/core/lib/security/credentials/xds/xds_credentials.cc", - "dist/src/core/lib/security/security_connector/alts/alts_security_connector.cc", - "dist/src/core/lib/security/security_connector/fake/fake_security_connector.cc", - "dist/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc", - "dist/src/core/lib/security/security_connector/load_system_roots_fallback.cc", - "dist/src/core/lib/security/security_connector/load_system_roots_supported.cc", - "dist/src/core/lib/security/security_connector/local/local_security_connector.cc", - "dist/src/core/lib/security/security_connector/security_connector.cc", - "dist/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc", - "dist/src/core/lib/security/security_connector/ssl_utils.cc", - "dist/src/core/lib/security/security_connector/tls/tls_security_connector.cc", - "dist/src/core/lib/security/transport/client_auth_filter.cc", - "dist/src/core/lib/security/transport/secure_endpoint.cc", - "dist/src/core/lib/security/transport/security_handshaker.cc", - "dist/src/core/lib/security/transport/server_auth_filter.cc", - "dist/src/core/lib/security/transport/tsi_error.cc", - "dist/src/core/lib/security/util/json_util.cc", - "dist/src/core/lib/service_config/service_config_impl.cc", - "dist/src/core/lib/service_config/service_config_parser.cc", - "dist/src/core/lib/slice/b64.cc", - "dist/src/core/lib/slice/percent_encoding.cc", - "dist/src/core/lib/slice/slice.cc", - "dist/src/core/lib/slice/slice_buffer.cc", - "dist/src/core/lib/slice/slice_refcount.cc", - "dist/src/core/lib/slice/slice_string_helpers.cc", - "dist/src/core/lib/surface/api_trace.cc", - "dist/src/core/lib/surface/builtins.cc", - "dist/src/core/lib/surface/byte_buffer.cc", - "dist/src/core/lib/surface/byte_buffer_reader.cc", - "dist/src/core/lib/surface/call.cc", - "dist/src/core/lib/surface/call_details.cc", - "dist/src/core/lib/surface/call_log_batch.cc", - "dist/src/core/lib/surface/call_trace.cc", - "dist/src/core/lib/surface/channel.cc", - "dist/src/core/lib/surface/channel_init.cc", - "dist/src/core/lib/surface/channel_ping.cc", - "dist/src/core/lib/surface/channel_stack_type.cc", - "dist/src/core/lib/surface/completion_queue.cc", - "dist/src/core/lib/surface/completion_queue_factory.cc", - "dist/src/core/lib/surface/event_string.cc", - "dist/src/core/lib/surface/init.cc", - "dist/src/core/lib/surface/init_internally.cc", - "dist/src/core/lib/surface/lame_client.cc", - "dist/src/core/lib/surface/metadata_array.cc", - "dist/src/core/lib/surface/server.cc", - "dist/src/core/lib/surface/validate_metadata.cc", - "dist/src/core/lib/surface/version.cc", - "dist/src/core/lib/transport/batch_builder.cc", - "dist/src/core/lib/transport/bdp_estimator.cc", - "dist/src/core/lib/transport/connectivity_state.cc", - "dist/src/core/lib/transport/error_utils.cc", - "dist/src/core/lib/transport/handshaker.cc", - "dist/src/core/lib/transport/handshaker_registry.cc", - "dist/src/core/lib/transport/http_connect_handshaker.cc", - "dist/src/core/lib/transport/metadata_batch.cc", - "dist/src/core/lib/transport/parsed_metadata.cc", - "dist/src/core/lib/transport/pid_controller.cc", - "dist/src/core/lib/transport/status_conversion.cc", - "dist/src/core/lib/transport/tcp_connect_handshaker.cc", - "dist/src/core/lib/transport/timeout_encoding.cc", - "dist/src/core/lib/transport/transport.cc", - "dist/src/core/lib/transport/transport_op_string.cc", - "dist/src/core/lib/uri/uri_parser.cc", - "dist/src/core/plugin_registry/grpc_plugin_registry.cc", - "dist/src/core/plugin_registry/grpc_plugin_registry_extra.cc", - "dist/src/core/tsi/alts/crypt/aes_gcm.cc", - "dist/src/core/tsi/alts/crypt/gsec.cc", - "dist/src/core/tsi/alts/frame_protector/alts_counter.cc", - "dist/src/core/tsi/alts/frame_protector/alts_crypter.cc", - "dist/src/core/tsi/alts/frame_protector/alts_frame_protector.cc", - "dist/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc", - "dist/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc", - "dist/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc", - "dist/src/core/tsi/alts/frame_protector/frame_handler.cc", - "dist/src/core/tsi/alts/handshaker/alts_handshaker_client.cc", - "dist/src/core/tsi/alts/handshaker/alts_shared_resource.cc", - "dist/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc", - "dist/src/core/tsi/alts/handshaker/alts_tsi_utils.cc", - "dist/src/core/tsi/alts/handshaker/transport_security_common_api.cc", - "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc", - "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc", - "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc", - "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc", - "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc", - "dist/src/core/tsi/fake_transport_security.cc", - "dist/src/core/tsi/local_transport_security.cc", - "dist/src/core/tsi/ssl/key_logging/ssl_key_logging.cc", - "dist/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc", - "dist/src/core/tsi/ssl/session_cache/ssl_session_cache.cc", - "dist/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc", - "dist/src/core/tsi/ssl_transport_security.cc", - "dist/src/core/tsi/ssl_transport_security_utils.cc", - "dist/src/core/tsi/transport_security.cc", - "dist/src/core/tsi/transport_security_grpc.cc", - ], - OBJPREFIX=env.get('OBJPREFIX', '') + 'grpc_', - LIBDEPS=[ - '$BUILD_DIR/third_party/abseil-cpp/absl_bad_variant_access', - '$BUILD_DIR/third_party/abseil-cpp/absl_city', - '$BUILD_DIR/third_party/abseil-cpp/absl_hash', - '$BUILD_DIR/third_party/abseil-cpp/absl_hashtablez_sampler', - '$BUILD_DIR/third_party/abseil-cpp/absl_low_level_hash', - '$BUILD_DIR/third_party/abseil-cpp/absl_random_distributions', - '$BUILD_DIR/third_party/abseil-cpp/absl_raw_hash_set', - '$BUILD_DIR/third_party/abseil-cpp/absl_statusor', - '$BUILD_DIR/third_party/cares/cares', - '$BUILD_DIR/third_party/re2/re2', - '$BUILD_DIR/third_party/zlib/zlib', - 'address_sorting', - 'gpr', - 'upb_collections', - 'upb_json', - 'upb_textformat', - ], -) - -grpc_env.Library( - target='grpc++', - source=[ - "dist/src/core/ext/transport/binder/client/binder_connector.cc", - "dist/src/core/ext/transport/binder/client/channel_create.cc", - "dist/src/core/ext/transport/binder/client/channel_create_impl.cc", - "dist/src/core/ext/transport/binder/client/connection_id_generator.cc", - "dist/src/core/ext/transport/binder/client/endpoint_binder_pool.cc", - "dist/src/core/ext/transport/binder/client/jni_utils.cc", - "dist/src/core/ext/transport/binder/client/security_policy_setting.cc", - "dist/src/core/ext/transport/binder/security_policy/binder_security_policy.cc", - "dist/src/core/ext/transport/binder/server/binder_server.cc", - "dist/src/core/ext/transport/binder/server/binder_server_credentials.cc", - "dist/src/core/ext/transport/binder/transport/binder_transport.cc", - "dist/src/core/ext/transport/binder/utils/ndk_binder.cc", - "dist/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc", - "dist/src/core/ext/transport/binder/wire_format/binder_android.cc", - "dist/src/core/ext/transport/binder/wire_format/binder_constants.cc", - "dist/src/core/ext/transport/binder/wire_format/transaction.cc", - "dist/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc", - "dist/src/core/ext/transport/binder/wire_format/wire_writer.cc", - "dist/src/cpp/client/channel_cc.cc", - "dist/src/cpp/client/client_callback.cc", - "dist/src/cpp/client/client_context.cc", - "dist/src/cpp/client/client_interceptor.cc", - "dist/src/cpp/client/client_stats_interceptor.cc", - "dist/src/cpp/client/create_channel.cc", - "dist/src/cpp/client/create_channel_internal.cc", - "dist/src/cpp/client/create_channel_posix.cc", - "dist/src/cpp/client/insecure_credentials.cc", - "dist/src/cpp/client/secure_credentials.cc", - "dist/src/cpp/client/xds_credentials.cc", - "dist/src/cpp/common/alarm.cc", - "dist/src/cpp/common/auth_property_iterator.cc", - "dist/src/cpp/common/channel_arguments.cc", - "dist/src/cpp/common/channel_filter.cc", - "dist/src/cpp/common/completion_queue_cc.cc", - "dist/src/cpp/common/resource_quota_cc.cc", - "dist/src/cpp/common/rpc_method.cc", - "dist/src/cpp/common/secure_auth_context.cc", - "dist/src/cpp/common/secure_channel_arguments.cc", - "dist/src/cpp/common/secure_create_auth_context.cc", - "dist/src/cpp/common/tls_certificate_provider.cc", - "dist/src/cpp/common/tls_certificate_verifier.cc", - "dist/src/cpp/common/tls_credentials_options.cc", - "dist/src/cpp/common/validate_service_config.cc", - "dist/src/cpp/common/version_cc.cc", - "dist/src/cpp/server/async_generic_service.cc", - "dist/src/cpp/server/backend_metric_recorder.cc", - "dist/src/cpp/server/channel_argument_option.cc", - "dist/src/cpp/server/create_default_thread_pool.cc", - "dist/src/cpp/server/external_connection_acceptor_impl.cc", - "dist/src/cpp/server/health/default_health_check_service.cc", - "dist/src/cpp/server/health/health_check_service.cc", - "dist/src/cpp/server/health/health_check_service_server_builder_option.cc", - "dist/src/cpp/server/insecure_server_credentials.cc", - "dist/src/cpp/server/secure_server_credentials.cc", - "dist/src/cpp/server/server_builder.cc", - "dist/src/cpp/server/server_callback.cc", - "dist/src/cpp/server/server_cc.cc", - "dist/src/cpp/server/server_context.cc", - "dist/src/cpp/server/server_posix.cc", - "dist/src/cpp/server/xds_server_credentials.cc", - "dist/src/cpp/thread_manager/thread_manager.cc", - "dist/src/cpp/util/byte_buffer_cc.cc", - "dist/src/cpp/util/status.cc", - "dist/src/cpp/util/string_ref.cc", - "dist/src/cpp/util/time_cc.cc", - ], - LIBDEPS=[ - '$BUILD_DIR/third_party/shim_protobuf', - 'grpc', - ], -) - grpcxx_env = grpc_env.Clone() grpcxx_env.AppendUnique( @@ -1332,18 +102,6 @@ grpcxx_env.AppendUnique( }, }, CPPPATH=[grpcxx_env.Dir('.')]) -lib_node = grpcxx_env.Library( - target='grpc++_reflection', - source=[ - 'dist/src/cpp/ext/proto_server_reflection.cc', - 'dist/src/cpp/ext/proto_server_reflection_plugin.cc', - 'dist/src/proto/grpc/reflection/v1alpha/reflection.proto', - ], - LIBDEPS=[ - 'grpc++', - ], -) - grpc_unittest_env = grpc_env.Clone() grpc_unittest_env.InjectThirdParty(libraries=['fmt', 'variant', 'boost', 'safeint']) @@ -1364,20 +122,34 @@ grpc_unittest_env.Append(CPPPATH=[ '#src', '$BUILD_DIR', '#$BAZEL_OUT_DIR/src' + '#$BAZEL_OUT_DIR' + '#$BAZEL_OUT_DIR/src/' + '#$BAZEL_OUT_DIR/' + '#/bazel-bin', + '#/bazel-bin/src', + '#/bazel-bin/', + '#/bazel-bin/src/', + '#/bazel-bin/src/third_party/grpc/dist/examples/protos' ], ) grpc_unittest_env.CppUnitTest( target='grpc_lib_test', source=[ 'grpc_source_test.cpp', - 'dist/examples/protos/helloworld.proto', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'grpc++_reflection', + "helloworld_cc_grpc" ], SYSLIBDEPS=[ 'ssl', 'crypto', ], ) + +grpc_unittest_env.BazelProgram( + target="grpc_cpp_plugin", + source=[], + LIBDEPS=[], +) diff --git a/src/third_party/grpc/dist/bazel/BUILD b/src/third_party/grpc/dist/bazel/BUILD new file mode 100644 index 00000000000..3fe42fc7e7d --- /dev/null +++ b/src/third_party/grpc/dist/bazel/BUILD @@ -0,0 +1,26 @@ +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Contains build targets used by Starlark files in the bazel/ directory. +""" + +licenses(["notice"]) + +package(default_visibility = ["//:__subpackages__"]) + +filegroup( + name = "_gevent_test_main", + srcs = ["_gevent_test_main.py"], +) diff --git a/src/third_party/grpc/dist/bazel/OWNERS b/src/third_party/grpc/dist/bazel/OWNERS new file mode 100644 index 00000000000..cf079bfa6fe --- /dev/null +++ b/src/third_party/grpc/dist/bazel/OWNERS @@ -0,0 +1,5 @@ +set noparent +@jtattermusch +@veblush +@gnossen + diff --git a/src/third_party/grpc/dist/bazel/_gevent_test_main.py b/src/third_party/grpc/dist/bazel/_gevent_test_main.py new file mode 100644 index 00000000000..bec31a911b6 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/_gevent_test_main.py @@ -0,0 +1,102 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import gevent +from gevent import monkey + +monkey.patch_all() +threadpool = gevent.hub.get_hub().threadpool + +# Currently, each channel corresponds to a single native thread in the +# gevent threadpool. Thus, when the unit test suite spins up hundreds of +# channels concurrently, some will be starved out, causing the test to +# increase in duration. We increase the max size here so this does not +# happen. +threadpool.maxsize = 1024 +threadpool.size = 32 + +import traceback, signal +from typing import Sequence + + +import grpc.experimental.gevent +grpc.experimental.gevent.init_gevent() + +import gevent +import greenlet +import datetime + +import grpc +import unittest +import sys +import os +import pkgutil +import importlib + +def trace_callback(event, args): + if event in ("switch", "throw"): + origin, target = args + sys.stderr.write("{} Transfer from {} to {} with {}\n".format(datetime.datetime.now(), origin, target, event)) + else: + sys.stderr.write("Unknown event {}.\n".format(event)) + sys.stderr.flush() + +if os.getenv("GREENLET_TRACE") is not None: + greenlet.settrace(trace_callback) + +def debug(sig, frame): + d={'_frame':frame} + d.update(frame.f_globals) + d.update(frame.f_locals) + + sys.stderr.write("Traceback:\n{}".format("\n".join(traceback.format_stack(frame)))) + import gevent.util; gevent.util.print_run_info() + sys.stderr.flush() + +signal.signal(signal.SIGTERM, debug) + + +class SingleLoader(object): + def __init__(self, pattern: str): + loader = unittest.TestLoader() + self.suite = unittest.TestSuite() + tests = [] + for importer, module_name, is_package in pkgutil.walk_packages([os.path.dirname(os.path.relpath(__file__))]): + if pattern in module_name: + spec = importer.find_spec(module_name) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + tests.append(loader.loadTestsFromModule(module)) + if len(tests) != 1: + raise AssertionError("Expected only 1 test module. Found {}".format(tests)) + self.suite.addTest(tests[0]) + + + def loadTestsFromNames(self, names: Sequence[str], module: str = None) -> unittest.TestSuite: + return self.suite + +if __name__ == "__main__": + + if len(sys.argv) != 2: + print(f"USAGE: {sys.argv[0]} TARGET_MODULE", file=sys.stderr) + + target_module = sys.argv[1] + + loader = SingleLoader(target_module) + runner = unittest.TextTestRunner() + + result = gevent.spawn(runner.run, loader.suite) + result.join() + if not result.value.wasSuccessful(): + sys.exit("Test failure.") diff --git a/src/third_party/grpc/dist/bazel/cc_grpc_library.bzl b/src/third_party/grpc/dist/bazel/cc_grpc_library.bzl new file mode 100644 index 00000000000..55ea11cd53f --- /dev/null +++ b/src/third_party/grpc/dist/bazel/cc_grpc_library.bzl @@ -0,0 +1,119 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Generates and compiles C++ grpc stubs from proto_library rules.""" + +load("@rules_proto//proto:defs.bzl", "proto_library") +load("//bazel:generate_cc.bzl", "generate_cc") +load("//bazel:protobuf.bzl", "well_known_proto_libs") + +def cc_grpc_library( + name, + srcs, + deps, + proto_only = False, + well_known_protos = False, + generate_mocks = False, + use_external = False, + grpc_only = False, + **kwargs): + """Generates C++ grpc classes for services defined in a proto file. + + If grpc_only is True, this rule is compatible with proto_library and + cc_proto_library native rules such that it expects proto_library target + as srcs argument and generates only grpc library classes, expecting + protobuf messages classes library (cc_proto_library target) to be passed in + deps argument. By default grpc_only is False which makes this rule to behave + in a backwards-compatible mode (trying to generate both proto and grpc + classes). + + Assumes the generated classes will be used in cc_api_version = 2. + + Args: + name (str): Name of rule. + srcs (list): A single .proto file which contains services definitions, + or if grpc_only parameter is True, a single proto_library which + contains services descriptors. + deps (list): A list of C++ proto_library (or cc_proto_library) which + provides the compiled code of any message that the services depend on. + proto_only (bool): If True, create only C++ proto classes library, + avoid creating C++ grpc classes library (expect it in deps). + Deprecated, use native cc_proto_library instead. False by default. + well_known_protos (bool): Should this library additionally depend on + well known protos. Deprecated, the well known protos should be + specified as explicit dependencies of the proto_library target + (passed in srcs parameter) instead. False by default. + generate_mocks (bool): when True, Google Mock code for client stub is + generated. False by default. + use_external (bool): Not used. + grpc_only (bool): if True, generate only grpc library, expecting + protobuf messages library (cc_proto_library target) to be passed as + deps. False by default (will become True by default eventually). + **kwargs: rest of arguments, e.g., compatible_with and visibility + """ + if len(srcs) > 1: + fail("Only one srcs value supported", "srcs") + if grpc_only and proto_only: + fail("A mutualy exclusive configuration is specified: grpc_only = True and proto_only = True") + + extra_deps = [] + proto_targets = [] + + if not grpc_only: + proto_target = "_" + name + "_only" + cc_proto_target = name if proto_only else "_" + name + "_cc_proto" + + proto_deps = ["_" + dep + "_only" for dep in deps if dep.find(":") == -1] + proto_deps += [dep.split(":")[0] + ":" + "_" + dep.split(":")[1] + "_only" for dep in deps if dep.find(":") != -1 and dep.find("com_google_googleapis") == -1] + proto_deps += [dep for dep in deps if dep.find("com_google_googleapis") != -1] + if well_known_protos: + proto_deps += well_known_proto_libs() + proto_library( + name = proto_target, + srcs = srcs, + deps = proto_deps, + **kwargs + ) + + native.cc_proto_library( + name = cc_proto_target, + deps = [":" + proto_target], + **kwargs + ) + extra_deps.append(":" + cc_proto_target) + proto_targets.append(proto_target) + else: + if not srcs: + fail("srcs cannot be empty", "srcs") + proto_targets += srcs + + if not proto_only: + codegen_grpc_target = "_" + name + "_grpc_codegen" + generate_cc( + name = codegen_grpc_target, + srcs = proto_targets, + plugin = "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin", + well_known_protos = well_known_protos, + generate_mocks = generate_mocks, + **kwargs + ) + + native.cc_library( + name = name, + srcs = [":" + codegen_grpc_target], + hdrs = [":" + codegen_grpc_target], + deps = deps + + extra_deps + + ["@com_github_grpc_grpc//:grpc++_codegen_proto"], + **kwargs + ) diff --git a/src/third_party/grpc/dist/bazel/copts.bzl b/src/third_party/grpc/dist/bazel/copts.bzl new file mode 100644 index 00000000000..47151000566 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/copts.bzl @@ -0,0 +1,63 @@ +# Copyright 2021 the gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Includes default copts. +""" + +# This is a list of llvm flags to be used when being built with use_strict_warning=1 +GRPC_LLVM_WARNING_FLAGS = [ + # Enable all & extra warnings + "-Wall", + "-Wextra", + # Avoid some known traps + "-Wimplicit-fallthrough", + # Consider warnings as errors + "-Werror", + # Ignore unknown warning flags + "-Wno-unknown-warning-option", + # A list of enabled flags coming from internal build system + "-Wc++20-extensions", + "-Wctad-maybe-unsupported", + "-Wdeprecated-increment-bool", + "-Wfloat-overflow-conversion", + "-Wfloat-zero-conversion", + "-Wfor-loop-analysis", + "-Wformat-security", + "-Wgnu-redeclared-enum", + "-Winfinite-recursion", + "-Wliteral-conversion", + "-Wnon-virtual-dtor", + "-Woverloaded-virtual", + "-Wself-assign", + "-Wstring-conversion", + "-Wtautological-overlap-compare", + "-Wthread-safety-analysis", + "-Wthread-safety-beta", + "-Wunused-but-set-variable", + "-Wunused-comparison", + "-Wvla", + # -Wextra compatibility between gcc and clang + "-Wtype-limits", + # A list of disabled flags coming from internal build system + "-Wno-string-concatenation", + # Exceptions but will be removed + "-Wno-deprecated-declarations", + "-Wno-unused-function", +] + +GRPC_DEFAULT_COPTS = select({ + "//:use_strict_warning": GRPC_LLVM_WARNING_FLAGS + ["-DUSE_STRICT_WARNING=1"], + "//conditions:default": [], +}) diff --git a/src/third_party/grpc/dist/bazel/custom_exec_properties.bzl b/src/third_party/grpc/dist/bazel/custom_exec_properties.bzl new file mode 100644 index 00000000000..514e120b6ab --- /dev/null +++ b/src/third_party/grpc/dist/bazel/custom_exec_properties.bzl @@ -0,0 +1,21 @@ +# Copyright 2019 The gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Reimports constants from the grpc_custom_exec_properties repo. +""" + +load("@grpc_custom_exec_properties//:constants.bzl", _LARGE_MACHINE = "LARGE_MACHINE") + +LARGE_MACHINE = _LARGE_MACHINE diff --git a/src/third_party/grpc/dist/bazel/cython_library.bzl b/src/third_party/grpc/dist/bazel/cython_library.bzl new file mode 100644 index 00000000000..dc2ef7a8909 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/cython_library.bzl @@ -0,0 +1,92 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Custom rules for gRPC Python""" + +# Adapted with modifications from +# tensorflow/tensorflow/core/platform/default/build_config.bzl +# Native Bazel rules don't exist yet to compile Cython code, but rules have +# been written at cython/cython and tensorflow/tensorflow. We branch from +# Tensorflow's version as it is more actively maintained and works for gRPC +# Python's needs. +def pyx_library(name, deps = [], py_deps = [], srcs = [], **kwargs): + """Compiles a group of .pyx / .pxd / .py files. + + First runs Cython to create .cpp files for each input .pyx or .py + .pxd + pair. Then builds a shared object for each, passing "deps" to each cc_binary + rule (includes Python headers by default). Finally, creates a py_library rule + with the shared objects and any pure Python "srcs", with py_deps as its + dependencies; the shared objects can be imported like normal Python files. + + Args: + name: Name for the rule. + deps: C/C++ dependencies of the Cython (e.g. Numpy headers). + py_deps: Pure Python dependencies of the final library. + srcs: .py, .pyx, or .pxd files to either compile or pass through. + **kwargs: Extra keyword arguments passed to the py_library. + """ + + # First filter out files that should be run compiled vs. passed through. + py_srcs = [] + pyx_srcs = [] + pxd_srcs = [] + for src in srcs: + if src.endswith(".pyx") or (src.endswith(".py") and + src[:-3] + ".pxd" in srcs): + pyx_srcs.append(src) + elif src.endswith(".py"): + py_srcs.append(src) + else: + pxd_srcs.append(src) + if src.endswith("__init__.py"): + pxd_srcs.append(src) + + # Invoke cython to produce the shared object libraries. + for filename in pyx_srcs: + native.genrule( + name = filename + "_cython_translation", + srcs = [filename], + outs = [filename.split(".")[0] + ".cpp"], + # Optionally use PYTHON_BIN_PATH on Linux platforms so that python 3 + # works. Windows has issues with cython_binary so skip PYTHON_BIN_PATH. + cmd = + "PYTHONHASHSEED=0 $(location @cython//:cython_binary) --cplus $(SRCS) --output-file $(OUTS)", + tools = ["@cython//:cython_binary"] + pxd_srcs, + ) + + shared_objects = [] + defines = kwargs.pop("defines", []) + for src in pyx_srcs: + stem = src.split(".")[0] + shared_object_name = stem + ".so" + native.cc_binary( + name = shared_object_name, + srcs = [stem + ".cpp"], + deps = deps + ["@local_config_python//:python_headers"], + defines = defines, + linkshared = 1, + ) + shared_objects.append(shared_object_name) + + data = shared_objects[:] + data += kwargs.pop("data", []) + + # Now create a py_library with these shared objects as data. + native.py_library( + name = name, + srcs = py_srcs, + deps = py_deps, + srcs_version = "PY2AND3", + data = data, + **kwargs + ) diff --git a/src/third_party/grpc/dist/bazel/experiments.bzl b/src/third_party/grpc/dist/bazel/experiments.bzl new file mode 100644 index 00000000000..715e2acb683 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/experiments.bzl @@ -0,0 +1,270 @@ +# Copyright 2023 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto generated by tools/codegen/core/gen_experiments.py + +"""Dictionary of tags to experiments so we know when to test different experiments.""" + +EXPERIMENTS = { + "windows": { + "dbg": { + }, + "off": { + "core_end2end_test": [ + "event_engine_listener", + "promise_based_client_call", + "promise_based_server_call", + "work_serializer_dispatch", + ], + "cpp_end2end_test": [ + "promise_based_server_call", + "work_serializer_dispatch", + ], + "endpoint_test": [ + "tcp_frame_size_tuning", + "tcp_rcv_lowat", + ], + "event_engine_listener_test": [ + "event_engine_listener", + ], + "flow_control_test": [ + "multiping", + "peer_state_based_framing", + "red_max_concurrent_streams", + "rstpit", + "tcp_frame_size_tuning", + "tcp_rcv_lowat", + ], + "lame_client_test": [ + "promise_based_client_call", + ], + "lb_unit_test": [ + "work_serializer_dispatch", + ], + "logging_test": [ + "promise_based_server_call", + ], + "resource_quota_test": [ + "free_large_allocator", + "memory_pressure_controller", + "unconstrained_max_quota_buffer_size", + ], + "xds_end2end_test": [ + "promise_based_server_call", + "work_serializer_dispatch", + ], + }, + "on": { + "bad_client_test": [ + "block_excessive_requests_before_settings_ack", + "tarpit", + ], + "cpp_end2end_test": [ + "chttp2_offload_on_rst_stream", + ], + "cpp_lb_end2end_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + "flow_control_test": [ + "chttp2_offload_on_rst_stream", + "lazier_stream_updates", + "overload_protection", + "write_size_cap", + "write_size_policy", + ], + "lb_unit_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + "surface_registered_method_lookup": [ + "registered_method_lookup_in_transport", + ], + "xds_end2end_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + }, + }, + "ios": { + "dbg": { + }, + "off": { + "core_end2end_test": [ + "event_engine_listener", + "promise_based_client_call", + "promise_based_server_call", + "work_serializer_dispatch", + ], + "cpp_end2end_test": [ + "promise_based_server_call", + "work_serializer_dispatch", + ], + "endpoint_test": [ + "tcp_frame_size_tuning", + "tcp_rcv_lowat", + ], + "event_engine_listener_test": [ + "event_engine_listener", + ], + "flow_control_test": [ + "multiping", + "peer_state_based_framing", + "red_max_concurrent_streams", + "rstpit", + "tcp_frame_size_tuning", + "tcp_rcv_lowat", + ], + "lame_client_test": [ + "promise_based_client_call", + ], + "lb_unit_test": [ + "work_serializer_dispatch", + ], + "logging_test": [ + "promise_based_server_call", + ], + "resource_quota_test": [ + "free_large_allocator", + "memory_pressure_controller", + "unconstrained_max_quota_buffer_size", + ], + "xds_end2end_test": [ + "promise_based_server_call", + "work_serializer_dispatch", + ], + }, + "on": { + "bad_client_test": [ + "block_excessive_requests_before_settings_ack", + "tarpit", + ], + "cpp_end2end_test": [ + "chttp2_offload_on_rst_stream", + ], + "cpp_lb_end2end_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + "flow_control_test": [ + "chttp2_offload_on_rst_stream", + "lazier_stream_updates", + "overload_protection", + "write_size_cap", + "write_size_policy", + ], + "lb_unit_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + "surface_registered_method_lookup": [ + "registered_method_lookup_in_transport", + ], + "xds_end2end_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + }, + }, + "posix": { + "dbg": { + }, + "off": { + "cancel_ares_query_test": [ + "event_engine_dns", + ], + "core_end2end_test": [ + "event_engine_client", + "event_engine_listener", + "promise_based_client_call", + "promise_based_server_call", + "work_serializer_dispatch", + ], + "cpp_end2end_test": [ + "promise_based_server_call", + "work_serializer_dispatch", + ], + "endpoint_test": [ + "tcp_frame_size_tuning", + "tcp_rcv_lowat", + ], + "event_engine_client_test": [ + "event_engine_client", + ], + "event_engine_listener_test": [ + "event_engine_listener", + ], + "flow_control_test": [ + "multiping", + "peer_state_based_framing", + "red_max_concurrent_streams", + "rstpit", + "tcp_frame_size_tuning", + "tcp_rcv_lowat", + ], + "lame_client_test": [ + "promise_based_client_call", + ], + "lb_unit_test": [ + "work_serializer_dispatch", + ], + "logging_test": [ + "promise_based_server_call", + ], + "resolver_component_tests_runner_invoker": [ + "event_engine_dns", + ], + "resource_quota_test": [ + "free_large_allocator", + "memory_pressure_controller", + "unconstrained_max_quota_buffer_size", + ], + "xds_end2end_test": [ + "promise_based_server_call", + "work_serializer_dispatch", + ], + }, + "on": { + "bad_client_test": [ + "block_excessive_requests_before_settings_ack", + "tarpit", + ], + "cpp_end2end_test": [ + "chttp2_offload_on_rst_stream", + ], + "cpp_lb_end2end_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + "flow_control_test": [ + "chttp2_offload_on_rst_stream", + "lazier_stream_updates", + "overload_protection", + "write_size_cap", + "write_size_policy", + ], + "lb_unit_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + "surface_registered_method_lookup": [ + "registered_method_lookup_in_transport", + ], + "xds_end2end_test": [ + "round_robin_delegate_to_pick_first", + "wrr_delegate_to_pick_first", + ], + }, + }, +} diff --git a/src/third_party/grpc/dist/bazel/generate_cc.bzl b/src/third_party/grpc/dist/bazel/generate_cc.bzl new file mode 100644 index 00000000000..2d90414b41e --- /dev/null +++ b/src/third_party/grpc/dist/bazel/generate_cc.bzl @@ -0,0 +1,207 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Generates C++ grpc stubs from proto_library rules. + +This is an internal rule used by cc_grpc_library, and shouldn't be used +directly. +""" + +load("@rules_proto//proto:defs.bzl", "ProtoInfo") +load( + "//bazel:protobuf.bzl", + "get_include_directory", + "get_plugin_args", + "get_proto_root", + "proto_path_to_generated_filename", +) + +_GRPC_PROTO_HEADER_FMT = "{}.grpc.pb.h" +_GRPC_PROTO_SRC_FMT = "{}.grpc.pb.cc" +_GRPC_PROTO_MOCK_HEADER_FMT = "{}_mock.grpc.pb.h" +_PROTO_HEADER_FMT = "{}.pb.h" +_PROTO_SRC_FMT = "{}.pb.cc" + +def _strip_package_from_path(label_package, file): + prefix_len = 0 + if not file.is_source and file.path.startswith(file.root.path): + prefix_len = len(file.root.path) + 1 + + path = file.path + if len(label_package) == 0: + return path + if not path.startswith(label_package + "/", prefix_len): + fail("'{}' does not lie within '{}'.".format(path, label_package)) + return path[prefix_len + len(label_package + "/"):] + +def _get_srcs_file_path(file): + if not file.is_source and file.path.startswith(file.root.path): + return file.path[len(file.root.path) + 1:] + return file.path + +def _join_directories(directories): + massaged_directories = [directory for directory in directories if len(directory) != 0] + return "/".join(massaged_directories) + +def generate_cc_impl(ctx): + """Implementation of the generate_cc rule. + + Args: + ctx: The context object. + Returns: + The provider for the generated files. + """ + protos = [f for src in ctx.attr.srcs for f in src[ProtoInfo].check_deps_sources.to_list()] + includes = [ + f + for src in ctx.attr.srcs + for f in src[ProtoInfo].transitive_imports.to_list() + ] + outs = [] + proto_root = get_proto_root( + ctx.label.workspace_root, + ) + + label_package = _join_directories([ctx.label.workspace_root, ctx.label.package]) + if ctx.executable.plugin: + outs += [ + proto_path_to_generated_filename( + _strip_package_from_path(label_package, proto), + _GRPC_PROTO_HEADER_FMT, + ) + for proto in protos + ] + outs += [ + proto_path_to_generated_filename( + _strip_package_from_path(label_package, proto), + _GRPC_PROTO_SRC_FMT, + ) + for proto in protos + ] + if ctx.attr.generate_mocks: + outs += [ + proto_path_to_generated_filename( + _strip_package_from_path(label_package, proto), + _GRPC_PROTO_MOCK_HEADER_FMT, + ) + for proto in protos + ] + else: + outs += [ + proto_path_to_generated_filename( + _strip_package_from_path(label_package, proto), + _PROTO_HEADER_FMT, + ) + for proto in protos + ] + outs += [ + proto_path_to_generated_filename( + _strip_package_from_path(label_package, proto), + _PROTO_SRC_FMT, + ) + for proto in protos + ] + out_files = [ctx.actions.declare_file(out) for out in outs] + dir_out = str(ctx.genfiles_dir.path + proto_root) + + arguments = [] + if ctx.executable.plugin: + arguments += get_plugin_args( + ctx.executable.plugin, + ctx.attr.flags, + dir_out, + ctx.attr.generate_mocks, + ) + tools = [ctx.executable.plugin] + else: + arguments.append("--cpp_out=" + ",".join(ctx.attr.flags) + ":" + dir_out) + tools = [] + + arguments += [ + "--proto_path={}".format(get_include_directory(i)) + for i in includes + ] + + # Include the output directory so that protoc puts the generated code in the + # right directory. + arguments.append("--proto_path={0}{1}".format(dir_out, proto_root)) + arguments += [_get_srcs_file_path(proto) for proto in protos] + + # create a list of well known proto files if the argument is non-None + well_known_proto_files = [] + if ctx.attr.well_known_protos: + f = ctx.attr.well_known_protos.files.to_list()[0].dirname + if f != "external/com_google_protobuf/src/google/protobuf": + print( + "Error: Only @com_google_protobuf//:well_known_type_protos is supported", + ) # buildifier: disable=print + else: + # f points to "external/com_google_protobuf/src/google/protobuf" + # add -I argument to protoc so it knows where to look for the proto files. + arguments.append("-I{0}".format(f + "/../..")) + well_known_proto_files = [ + f + for f in ctx.attr.well_known_protos.files.to_list() + ] + + ctx.actions.run( + inputs = protos + includes + well_known_proto_files, + tools = tools, + outputs = out_files, + executable = ctx.executable._protoc, + arguments = arguments, + use_default_shell_env = True, + ) + + return DefaultInfo(files = depset(out_files)) + +_generate_cc = rule( + attrs = { + "srcs": attr.label_list( + mandatory = True, + allow_empty = False, + providers = [ProtoInfo], + ), + "plugin": attr.label( + executable = True, + providers = ["files_to_run"], + cfg = "host", + ), + "flags": attr.string_list( + mandatory = False, + allow_empty = True, + ), + "well_known_protos": attr.label(mandatory = False), + "generate_mocks": attr.bool( + default = False, + mandatory = False, + ), + "_protoc": attr.label( + default = Label("//external:protocol_compiler"), + executable = True, + cfg = "host", + ), + }, + # We generate .h files, so we need to output to genfiles. + output_to_genfiles = True, + implementation = generate_cc_impl, +) + +def generate_cc(well_known_protos, **kwargs): + if well_known_protos: + _generate_cc( + well_known_protos = "@com_google_protobuf//:well_known_type_protos", + **kwargs + ) + else: + _generate_cc(**kwargs) diff --git a/src/third_party/grpc/dist/bazel/generate_objc.bzl b/src/third_party/grpc/dist/bazel/generate_objc.bzl new file mode 100644 index 00000000000..25314ae1bd0 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/generate_objc.bzl @@ -0,0 +1,243 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +This module contains build rules relating to gRPC Objective-C. +""" + +load("@rules_proto//proto:defs.bzl", "ProtoInfo") +load( + "//bazel:protobuf.bzl", + "get_include_directory", + "get_plugin_args", + "proto_path_to_generated_filename", +) +load(":grpc_util.bzl", "to_upper_camel_with_extension") + +_GRPC_PROTO_HEADER_FMT = "{}.pbrpc.h" +_GRPC_PROTO_SRC_FMT = "{}.pbrpc.m" +_PROTO_HEADER_FMT = "{}.pbobjc.h" +_PROTO_SRC_FMT = "{}.pbobjc.m" +_GENERATED_PROTOS_DIR = "_generated_protos" + +_GENERATE_HDRS = 1 +_GENERATE_SRCS = 2 +_GENERATE_NON_ARC_SRCS = 3 + +def _generate_objc_impl(ctx): + """Implementation of the generate_objc rule.""" + protos = [ + f + for src in ctx.attr.deps + for f in src[ProtoInfo].transitive_imports.to_list() + ] + + target_package = _join_directories([ctx.label.workspace_root, ctx.label.package]) + + files_with_rpc = [_label_to_full_file_path(f, target_package) for f in ctx.attr.srcs] + + outs = [] + for proto in protos: + outs.append(_get_output_file_name_from_proto(proto, _PROTO_HEADER_FMT)) + outs.append(_get_output_file_name_from_proto(proto, _PROTO_SRC_FMT)) + + file_path = _get_full_path_from_file(proto) + if file_path in files_with_rpc: + outs.append(_get_output_file_name_from_proto(proto, _GRPC_PROTO_HEADER_FMT)) + outs.append(_get_output_file_name_from_proto(proto, _GRPC_PROTO_SRC_FMT)) + + out_files = [ctx.actions.declare_file(out) for out in outs] + dir_out = _join_directories([ + str(ctx.genfiles_dir.path), + target_package, + _GENERATED_PROTOS_DIR, + ]) + + arguments = [] + tools = [] + if ctx.executable.plugin: + arguments += get_plugin_args( + ctx.executable.plugin, + [], + dir_out, + False, + ) + tools = [ctx.executable.plugin] + arguments.append("--objc_out=" + dir_out) + + arguments.append("--proto_path=.") + arguments += [ + "--proto_path={}".format(get_include_directory(i)) + for i in protos + ] + + # Include the output directory so that protoc puts the generated code in the + # right directory. + arguments.append("--proto_path={}".format(dir_out)) + arguments += ["--proto_path={}".format(_get_directory_from_proto(proto)) for proto in protos] + arguments += [_get_full_path_from_file(proto) for proto in protos] + + # create a list of well known proto files if the argument is non-None + well_known_proto_files = [] + if ctx.attr.use_well_known_protos: + f = ctx.attr.well_known_protos.files.to_list()[0].dirname + + # go two levels up so that #import "google/protobuf/..." is correct + arguments.append("-I{0}".format(f + "/../..")) + well_known_proto_files = ctx.attr.well_known_protos.files.to_list() + ctx.actions.run( + inputs = protos + well_known_proto_files, + tools = tools, + outputs = out_files, + executable = ctx.executable._protoc, + arguments = arguments, + ) + + return struct(files = depset(out_files)) # buildifier: disable=rule-impl-return + +def _label_to_full_file_path(src, package): + if not src.startswith("//"): + # Relative from current package + if not src.startswith(":"): + # "a.proto" -> ":a.proto" + src = ":" + src + src = "//" + package + src + + # Converts //path/to/package:File.ext to path/to/package/File.ext. + src = src.replace("//", "") + src = src.replace(":", "/") + if src.startswith("/"): + # "//:a.proto" -> "/a.proto" so remove the initial slash + return src[1:] + else: + return src + +def _get_output_file_name_from_proto(proto, fmt): + return proto_path_to_generated_filename( + _GENERATED_PROTOS_DIR + "/" + + _get_directory_from_proto(proto) + _get_slash_or_null_from_proto(proto) + + to_upper_camel_with_extension(_get_file_name_from_proto(proto), "proto"), + fmt, + ) + +def _get_file_name_from_proto(proto): + return proto.path.rpartition("/")[2] + +def _get_slash_or_null_from_proto(proto): + """Potentially returns empty (if the file is in the root directory)""" + return proto.path.rpartition("/")[1] + +def _get_directory_from_proto(proto): + return proto.path.rpartition("/")[0] + +def _get_full_path_from_file(file): + gen_dir_length = 0 + + # if file is generated, then prepare to remote its root + # (including CPU architecture...) + if not file.is_source: + gen_dir_length = len(file.root.path) + 1 + + return file.path[gen_dir_length:] + +def _join_directories(directories): + massaged_directories = [directory for directory in directories if len(directory) != 0] + return "/".join(massaged_directories) + +generate_objc = rule( + attrs = { + "deps": attr.label_list( + mandatory = True, + allow_empty = False, + providers = [ProtoInfo], + ), + "plugin": attr.label( + default = "@com_github_grpc_grpc//src/compiler:grpc_objective_c_plugin", + executable = True, + providers = ["files_to_run"], + cfg = "host", + ), + "srcs": attr.string_list( + mandatory = False, + allow_empty = True, + ), + "use_well_known_protos": attr.bool( + mandatory = False, + default = False, + ), + "well_known_protos": attr.label( + default = "@com_google_protobuf//:well_known_type_protos", + ), + "_protoc": attr.label( + default = Label("//external:protocol_compiler"), + executable = True, + cfg = "host", + ), + }, + output_to_genfiles = True, + implementation = _generate_objc_impl, +) + +def _group_objc_files_impl(ctx): + suffix = "" + if ctx.attr.gen_mode == _GENERATE_HDRS: + suffix = "h" + elif ctx.attr.gen_mode == _GENERATE_SRCS: + suffix = "pbrpc.m" + elif ctx.attr.gen_mode == _GENERATE_NON_ARC_SRCS: + suffix = "pbobjc.m" + else: + fail("Undefined gen_mode") + out_files = [ + file + for file in ctx.attr.src.files.to_list() + if file.basename.endswith(suffix) + ] + return struct(files = depset(out_files)) # buildifier: disable=rule-impl-return + +generate_objc_hdrs = rule( + attrs = { + "src": attr.label( + mandatory = True, + ), + "gen_mode": attr.int( + default = _GENERATE_HDRS, + ), + }, + implementation = _group_objc_files_impl, +) + +generate_objc_srcs = rule( + attrs = { + "src": attr.label( + mandatory = True, + ), + "gen_mode": attr.int( + default = _GENERATE_SRCS, + ), + }, + implementation = _group_objc_files_impl, +) + +generate_objc_non_arc_srcs = rule( + attrs = { + "src": attr.label( + mandatory = True, + ), + "gen_mode": attr.int( + default = _GENERATE_NON_ARC_SRCS, + ), + }, + implementation = _group_objc_files_impl, +) diff --git a/src/third_party/grpc/dist/bazel/gevent_test.bzl b/src/third_party/grpc/dist/bazel/gevent_test.bzl new file mode 100644 index 00000000000..e861eca65d0 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/gevent_test.bzl @@ -0,0 +1,86 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Houses py_grpc_gevent_test. +""" + +load("@grpc_python_dependencies//:requirements.bzl", "requirement") + +_GRPC_LIB = "//src/python/grpcio/grpc:grpcio" + +_COPIED_MAIN_SUFFIX = ".gevent.main" + +def py_grpc_gevent_test( + name, + srcs, + main = None, + deps = None, + data = None, + **kwargs): + """Runs a Python test with gevent monkeypatched in. + + Args: + name: The name of the test. + srcs: The source files. + main: The main file of the test. + deps: The dependencies of the test. + data: The data dependencies of the test. + **kwargs: Any other test arguments. + """ + if main == None: + if len(srcs) != 1: + fail("When main is not provided, srcs must be of size 1.") + main = srcs[0] + deps = [] if deps == None else deps + data = [] if data == None else data + lib_name = name + ".gevent.lib" + supplied_python_version = kwargs.pop("python_version", "") + if supplied_python_version and supplied_python_version != "PY3": + fail("py_grpc_gevent_test only supports python_version=PY3") + native.py_library( + name = lib_name, + srcs = srcs, + ) + augmented_deps = deps + [ + ":{}".format(lib_name), + requirement("gevent"), + ] + if _GRPC_LIB not in augmented_deps: + augmented_deps.append(_GRPC_LIB) + + # The main file needs to be in the same package as the test file. + copied_main_name = name + _COPIED_MAIN_SUFFIX + copied_main_filename = copied_main_name + ".py" + native.genrule( + name = copied_main_name, + srcs = ["//bazel:_gevent_test_main.py"], + outs = [copied_main_filename], + cmd = "cp $< $@", + ) + + # TODO(https://github.com/grpc/grpc/issues/27542): Remove once gevent is deemed non-flaky. + if "flaky" in kwargs: + kwargs.pop("flaky") + + native.py_test( + name = name + ".gevent", + args = [name], + data = data, + deps = augmented_deps, + srcs = [copied_main_filename], + main = copied_main_filename, + python_version = "PY3", + flaky = False, + **kwargs + ) diff --git a/src/third_party/grpc/dist/bazel/googleapis.BUILD b/src/third_party/grpc/dist/bazel/googleapis.BUILD new file mode 100644 index 00000000000..dc7e05f7424 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/googleapis.BUILD @@ -0,0 +1,28 @@ +# Copyright 2023 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +licenses(["notice"]) + +package( + default_visibility = ["//visibility:public"] +) + +# This is needed for the dependency on google_cloud_cpp to work. +# Taken from https://github.com/googleapis/google-cloud-cpp/blob/2839e9dba793ca023e11ea67f201f66f74fa7d3e/bazel/googleapis.BUILD +cc_library( + name = "googleapis_system_includes", + includes = [ + ".", + ], +) diff --git a/src/third_party/grpc/dist/bazel/grpc_build_system.bzl b/src/third_party/grpc/dist/bazel/grpc_build_system.bzl new file mode 100644 index 00000000000..49fd039b51f --- /dev/null +++ b/src/third_party/grpc/dist/bazel/grpc_build_system.bzl @@ -0,0 +1,727 @@ +# Copyright 2016 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# This is for the gRPC build system. This isn't intended to be used outsite of +# the BUILD file for gRPC. It contains the mapping for the template system we +# use to generate other platform's build system files. +# +# Please consider that there should be a high bar for additions and changes to +# this file. +# Each rule listed must be re-written for Google's internal build system, and +# each change must be ported from one to the other. +# + +""" +Contains macros used throughout the repo. +""" + +load("//bazel:cc_grpc_library.bzl", "cc_grpc_library") +load("//bazel:copts.bzl", "GRPC_DEFAULT_COPTS") +load("//bazel:experiments.bzl", "EXPERIMENTS") +load("//bazel:test_experiments.bzl", "TEST_EXPERIMENTS") +load("@upb//bazel:upb_proto_library.bzl", "upb_proto_library", "upb_proto_reflection_library") +load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test") +load("@build_bazel_rules_apple//apple/testing/default_runner:ios_test_runner.bzl", "ios_test_runner") + +# The set of pollers to test against if a test exercises polling +POLLERS = ["epoll1", "poll"] + +# The set of known EventEngines to test +EVENT_ENGINES = {"default": {"tags": []}} + +def if_not_windows(a): + return select({ + "//:windows": [], + "//:windows_msvc": [], + "//conditions:default": a, + }) + +def if_windows(a): + return select({ + "//:windows": a, + "//:windows_msvc": a, + "//conditions:default": [], + }) + +def _get_external_deps(external_deps): + ret = [] + for dep in external_deps: + if dep == "address_sorting": + ret.append("//third_party/address_sorting") + elif dep == "xxhash": + ret.append("//third_party/xxhash") + elif dep == "cares": + ret += select({ + "//:grpc_no_ares": [], + "//conditions:default": ["//external:cares"], + }) + elif dep == "cronet_c_for_grpc": + ret.append("//third_party/objective_c/Cronet:cronet_c_for_grpc") + elif dep.startswith("absl/"): + ret.append("@com_google_absl//" + dep) + elif dep.startswith("google/"): + ret.append("@com_google_googleapis//" + dep) + elif dep.startswith("otel/"): + ret.append(dep.replace("otel/", "@io_opentelemetry_cpp//")) + elif dep.startswith("google_cloud_cpp"): + ret.append(dep.replace("google_cloud_cpp", "@google_cloud_cpp//")) + else: + ret.append("//external:" + dep) + return ret + +def _update_visibility(visibility): + if visibility == None: + return None + + # Visibility rules prefixed with '@grpc:' are used to flag different visibility rule + # classes upstream. + PUBLIC = ["//visibility:public"] + PRIVATE = ["//:__subpackages__"] + VISIBILITY_TARGETS = { + "alt_grpc++_base_legacy": PRIVATE, + "alt_grpc_base_legacy": PRIVATE, + "alt_grpc++_base_unsecure_legacy": PRIVATE, + "alts_frame_protector": PRIVATE, + "channelz": PRIVATE, + "client_channel": PRIVATE, + "cli": PRIVATE, + "debug_location": PRIVATE, + "endpoint_tests": PRIVATE, + "exec_ctx": PRIVATE, + "grpclb": PRIVATE, + "grpc_experiments": PRIVATE, + "grpc_opencensus_plugin": PUBLIC, + "grpcpp_gcp_observability": PUBLIC, + "grpc_resolver_fake": PRIVATE, + "grpc++_test": PRIVATE, + "http": PRIVATE, + "httpcli": PRIVATE, + "iomgr_timer": PRIVATE, + "iomgr_internal_errqueue": PRIVATE, + "iomgr_buffer_list": PRIVATE, + "json_reader_legacy": PRIVATE, + "public": PUBLIC, + "ref_counted_ptr": PRIVATE, + "trace": PRIVATE, + "tsi_interface": PRIVATE, + "tsi": PRIVATE, + "xds": PRIVATE, + "xds_client_core": PRIVATE, + "grpc_python_observability": PRIVATE, + } + final_visibility = [] + for rule in visibility: + if rule.startswith("@grpc:"): + for replacement in VISIBILITY_TARGETS[rule[len("@grpc:"):]]: + final_visibility.append(replacement) + else: + final_visibility.append(rule) + return [x for x in final_visibility] + +def grpc_cc_library( + name, + srcs = [], + public_hdrs = [], + hdrs = [], + external_deps = [], + defines = [], + deps = [], + select_deps = None, + standalone = False, + language = "C++", + testonly = False, + visibility = None, + alwayslink = 0, + data = [], + tags = [], + linkopts = [], + linkstatic = False): + """An internal wrapper around cc_library. + + Args: + name: The name of the library. + srcs: The source files. + public_hdrs: The public headers. + hdrs: The headers. + external_deps: External depdendencies to be resolved. + defines: Build defines to use. + deps: cc_library deps. + select_deps: deps included conditionally. + standalone: Unused. + language: The language of the library, e.g. C, C++. + testonly: Whether the target is for tests only. + visibility: The visibility of the target. + alwayslink: Whether to enable alwayslink on the cc_library. + data: Data dependencies. + tags: Tags to apply to the rule. + linkopts: Extra libraries to link. + linkstatic: Whether to enable linkstatic on the cc_library. + """ + visibility = _update_visibility(visibility) + copts = [] + if language.upper() == "C": + copts = copts + if_not_windows(["-std=c11"]) + linkopts = linkopts + if_not_windows(["-pthread"]) + if_windows(["-defaultlib:ws2_32.lib"]) + if select_deps: + for select_deps_entry in select_deps: + deps += select(select_deps_entry) + native.cc_library( + name = name, + srcs = srcs, + defines = defines + + select({ + "//:grpc_no_ares": ["GRPC_ARES=0"], + "//conditions:default": [], + }) + + select({ + "//:remote_execution": ["GRPC_PORT_ISOLATED_RUNTIME=1"], + "//conditions:default": [], + }) + + select({ + "//:grpc_allow_exceptions": ["GRPC_ALLOW_EXCEPTIONS=1"], + "//:grpc_disallow_exceptions": ["GRPC_ALLOW_EXCEPTIONS=0"], + "//conditions:default": [], + }), + hdrs = hdrs + public_hdrs, + deps = deps + _get_external_deps(external_deps), + copts = GRPC_DEFAULT_COPTS + copts, + visibility = visibility, + testonly = testonly, + linkopts = linkopts, + includes = [ + "api/include", + "include", + "src/core/ext/upb-generated", # Once upb code-gen issue is resolved, remove this. + "src/core/ext/upbdefs-generated", # Once upb code-gen issue is resolved, remove this. + ], + alwayslink = alwayslink, + data = data, + tags = tags, + linkstatic = linkstatic, + ) + +def grpc_proto_plugin(name, srcs = [], deps = []): + native.cc_binary( + name = name, + srcs = srcs, + deps = deps, + ) + +def grpc_proto_library( + name, + srcs = [], + deps = [], + well_known_protos = False, + has_services = True, + use_external = False, + generate_mocks = False): + cc_grpc_library( + name = name, + srcs = srcs, + deps = deps, + well_known_protos = well_known_protos, + proto_only = not has_services, + use_external = use_external, + generate_mocks = generate_mocks, + ) + +def ios_cc_test( + name, + tags = [], + **kwargs): + """An ios C++ test target. + + Args: + name: The name of the test. + tags: The tags to apply to the test. + **kwargs: All other arguments to apply. + """ + test_lib_ios = name + "_test_lib_ios" + ios_tags = tags + ["manual", "ios_cc_test"] + test_runner = "ios_x86_64_sim_runner_" + name + ios_test_runner( + name = test_runner, + device_type = "iPhone X", + ) + if not any([t for t in tags if t.startswith("no_test_ios")]): + native.objc_library( + name = test_lib_ios, + srcs = kwargs.get("srcs"), + deps = kwargs.get("deps"), + copts = kwargs.get("copts"), + data = kwargs.get("data"), + tags = ios_tags, + alwayslink = 1, + testonly = 1, + ) + ios_test_deps = [":" + test_lib_ios] + ios_unit_test( + name = name + "_on_ios", + size = kwargs.get("size"), + data = kwargs.get("data"), + tags = ios_tags, + minimum_os_version = "9.0", + runner = test_runner, + deps = ios_test_deps, + ) + +def expand_tests(name, srcs, deps, tags, args, exclude_pollers, uses_polling, uses_event_engine, flaky): + """Common logic used to parameterize tests for every poller and EventEngine and experiment. + + Args: + name: base name of the test + srcs: source files + deps: base deps + tags: base tags + args: base args + flaky: base flaky + exclude_pollers: list of poller names to exclude for this set of tests. + uses_polling: set to False if the test is not sensitive to polling methodology. + uses_event_engine: set to False if the test is not sensitive to + EventEngine implementation differences + + Returns: + A list of dictionaries containing modified values of name, srcs, deps, tags, and args. + """ + poller_config = [] + + if not uses_polling: + tags = tags + ["no_uses_polling"] + + poller_config.append({ + "name": name, + "srcs": srcs, + "deps": deps, + "tags": tags, + "args": args, + "flaky": flaky, + "env": {}, + }) + else: + # On linux we run the same test with the default EventEngine, once for each + # poller + for poller in POLLERS: + if poller in exclude_pollers: + continue + poller_config.append({ + "name": name + "@poller=" + poller, + "srcs": srcs, + "deps": deps, + "tags": (tags + EVENT_ENGINES["default"]["tags"] + [ + "no_windows", + "no_mac", + "bazel_only", + ]), + "args": args, + "env": { + "GRPC_POLL_STRATEGY": poller, + }, + "flaky": flaky, + }) + + # Now generate one test for each subsequent EventEngine, all using the + # default poller. These tests will have `@engine=` appended to the + # test target name. If a test target name has no `@engine=` component, + # that indicates that the default EventEngine is being used. + if not uses_event_engine: + # The poller tests exercise the default engine on Linux. This test + # handles other platforms. + poller_config.append({ + "name": name, + "srcs": srcs, + "deps": deps, + "tags": tags + ["no_linux"], + "args": args, + "env": {}, + "flaky": flaky, + }) + else: + for engine_name, engine in EVENT_ENGINES.items(): + test_name = name + "@engine=" + engine_name + test_tags = tags + engine["tags"] + ["bazel_only"] + test_args = args + ["--engine=" + engine_name] + if engine_name == "default": + # The poller tests exercise the default engine on Linux. + # This test handles other platforms. + test_name = name + test_tags = tags + engine["tags"] + ["no_linux"] + test_args = args + poller_config.append({ + "name": test_name, + "srcs": srcs, + "deps": deps, + "tags": test_tags, + "args": test_args, + "env": {}, + "flaky": flaky, + }) + + experiments = {} + + # buildifier: disable=uninitialized + def _populate_experiments_platform_config(config, platform_experiments_map): + for platform, experiments_on_platform in platform_experiments_map.items(): + for mode, tag_to_experiments in experiments_on_platform.items(): + if mode not in config: + config[mode] = {} + for tag in tags: + if tag not in tag_to_experiments: + continue + for experiment in tag_to_experiments[tag]: + if experiment not in config[mode]: + config[mode][experiment] = [] + config[mode][experiment].append(platform) + + _populate_experiments_platform_config(experiments, EXPERIMENTS) + _populate_experiments_platform_config(experiments, TEST_EXPERIMENTS) + + mode_config = { + # format: : (enabled_target_tags, disabled_target_tags) + "on": (None, []), + "off": ([], None), + } + + must_have_tags = [ + # We don't run experiments on cmake builds + "bazel_only", + # Nor on mac + "no_mac", + # Nor on arm64 + "no_arm64", + ] + + def _update_experiments_platform_test_tags(tags, platforms): + if "posix" not in platforms: + if "no_linux" not in tags: + tags.append("no_linux") + if "no_mac" not in tags: + tags.append("no_mac") + if "windows" not in platforms: + if "no_windows" not in tags: + tags.append("no_windows") + if "ios" not in platforms: + if "no_test_ios" not in tags: + tags.append("no_test_ios") + return tags + + experiment_config = list(poller_config) + for mode, config in mode_config.items(): + enabled_tags, disabled_tags = config + if enabled_tags != None: + for experiment in experiments[mode].keys(): + for config in poller_config: + config = dict(config) + config["name"] = config["name"] + "@experiment=" + experiment + env = dict(config["env"]) + env["GRPC_EXPERIMENTS"] = experiment + env["GRPC_CI_EXPERIMENTS"] = "1" + config["env"] = env + tags = config["tags"] + for tag in must_have_tags + enabled_tags: + if tag not in tags: + tags = tags + [tag] + config["tags"] = _update_experiments_platform_test_tags(tags, experiments[mode][experiment]) + config["flaky"] = True + experiment_config.append(config) + if disabled_tags != None: + for experiment in experiments[mode].keys(): + for config in poller_config: + config = dict(config) + config["name"] = config["name"] + "@experiment=no_" + experiment + env = dict(config["env"]) + env["GRPC_EXPERIMENTS"] = "-" + experiment + env["GRPC_CI_EXPERIMENTS"] = "1" + config["env"] = env + tags = config["tags"] + for tag in must_have_tags + disabled_tags: + if tag not in tags: + tags = tags + [tag] + config["tags"] = _update_experiments_platform_test_tags(tags, experiments[mode][experiment]) + experiment_config.append(config) + return experiment_config + +def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, language = "C++", size = "medium", timeout = None, tags = [], exec_compatible_with = [], exec_properties = {}, shard_count = None, flaky = None, copts = [], linkstatic = None, exclude_pollers = [], uses_event_engine = True): + """A cc_test target for use in the gRPC repo. + + Args: + name: The name of the test. + srcs: The source files. + deps: The target deps. + external_deps: The external deps. + args: The args to supply to the test binary. + data: Data dependencies. + uses_polling: Whether the test uses polling. + language: The language of the test, e.g C, C++. + size: The size of the test. + timeout: The test timeout. + tags: The tags for the test. + exec_compatible_with: A list of constraint values that must be + satisifed for the platform. + exec_properties: A dictionary of strings that will be added to the + exec_properties of a platform selected for this target. + shard_count: The number of shards for this test. + flaky: Whether this test is flaky. + copts: Add these to the compiler invocation. + linkstatic: link the binary in static mode + exclude_pollers: list of poller names to exclude for this set of tests. + uses_event_engine: set to False if the test is not sensitive to + EventEngine implementation differences + """ + if language.upper() == "C": + copts = copts + if_not_windows(["-std=c11"]) + + core_deps = deps + _get_external_deps(external_deps) + ["//test/core/util:grpc_suppressions"] + + # Test args for all tests + test_args = { + "data": data, + "copts": GRPC_DEFAULT_COPTS + copts, + "linkopts": if_not_windows(["-pthread"]) + if_windows(["-defaultlib:ws2_32.lib"]), + "size": size, + "timeout": timeout, + "exec_compatible_with": exec_compatible_with, + "exec_properties": exec_properties, + "shard_count": shard_count, + "linkstatic": linkstatic, + } + + if "grpc-fuzzer" not in tags and "no_test_ios" not in tags: + ios_cc_test( + name = name, + srcs = srcs, + tags = tags, + deps = core_deps, + args = args, + flaky = True, + **test_args + ) + + for poller_config in expand_tests(name, srcs, core_deps, tags, args, exclude_pollers, uses_polling, uses_event_engine, flaky): + native.cc_test( + name = poller_config["name"], + srcs = poller_config["srcs"], + deps = poller_config["deps"], + tags = poller_config["tags"], + args = poller_config["args"], + env = poller_config["env"], + flaky = poller_config["flaky"], + **test_args + ) + +def grpc_cc_binary(name, srcs = [], deps = [], external_deps = [], args = [], data = [], language = "C++", testonly = False, linkshared = False, linkopts = [], tags = [], features = [], visibility = None): + """Generates a cc_binary for use in the gRPC repo. + + Args: + name: The name of the target. + srcs: The source files. + deps: The dependencies. + external_deps: The external dependencies. + args: The arguments to supply to the binary. + data: The data dependencies. + language: The language of the binary, e.g. C, C++. + testonly: Whether the binary is for tests only. + linkshared: Enables linkshared on the binary. + linkopts: linkopts to supply to the cc_binary. + tags: Tags to apply to the target. + features: features to be supplied to the cc_binary. + visibility: The visibility of the target. + """ + visibility = _update_visibility(visibility) + copts = [] + if language.upper() == "C": + copts = ["-std=c11"] + native.cc_binary( + name = name, + srcs = srcs, + args = args, + data = data, + testonly = testonly, + linkshared = linkshared, + deps = deps + _get_external_deps(external_deps) + ["//test/core/util:grpc_suppressions"], + copts = GRPC_DEFAULT_COPTS + copts, + linkopts = if_not_windows(["-pthread"]) + linkopts, + tags = tags, + features = features, + ) + +# buildifier: disable=unnamed-macro +def grpc_generate_one_off_targets(): + # In open-source, grpc_objc* libraries depend directly on //:grpc + native.alias( + name = "grpc_objc", + actual = "//:grpc", + ) + native.config_setting( + name = "windows_other", + values = {"define": "GRPC_WINDOWS_OTHER=1"}, + ) + +def grpc_generate_objc_one_off_targets(): + pass + +def grpc_generate_one_off_internal_targets(): + pass + +def grpc_sh_test(name, srcs = [], args = [], data = [], uses_polling = True, size = "medium", timeout = None, tags = [], exec_compatible_with = [], exec_properties = {}, shard_count = None, flaky = None, exclude_pollers = [], uses_event_engine = True): + """Execute an sh_test for every x combination + + Args: + name: The name of the test. + srcs: The source files. + args: The args to supply to the test binary. + data: Data dependencies. + uses_polling: Whether the test uses polling. + size: The size of the test. + timeout: The test timeout. + tags: The tags for the test. + exec_compatible_with: A list of constraint values that must be + satisifed for the platform. + exec_properties: A dictionary of strings that will be added to the + exec_properties of a platform selected for this target. + shard_count: The number of shards for this test. + flaky: Whether this test is flaky. + exclude_pollers: list of poller names to exclude for this set of tests. + uses_event_engine: set to False if the test is not sensitive to + EventEngine implementation differences + """ + test_args = { + "data": data, + "size": size, + "timeout": timeout, + "exec_compatible_with": exec_compatible_with, + "exec_properties": exec_properties, + "shard_count": shard_count, + } + + for poller_config in expand_tests(name, srcs, [], tags, args, exclude_pollers, uses_polling, uses_event_engine, flaky): + native.sh_test( + name = poller_config["name"], + srcs = poller_config["srcs"], + deps = poller_config["deps"], + tags = poller_config["tags"], + args = poller_config["args"], + env = poller_config["env"], + flaky = poller_config["flaky"], + **test_args + ) + +def grpc_sh_binary(name, srcs, data = []): + native.sh_binary( + name = name, + srcs = srcs, + data = data, + ) + +def grpc_py_binary( + name, + srcs, + data = [], + deps = [], + external_deps = [], + testonly = False, + python_version = "PY2", + **kwargs): + native.py_binary( + name = name, + srcs = srcs, + testonly = testonly, + data = data, + deps = deps + _get_external_deps(external_deps), + python_version = python_version, + **kwargs + ) + +def grpc_package(name, visibility = "private", features = []): + """Creates a package. + + Args: + name: The name of the target + visibility: The visibility of the target. + features: The features to enable. + """ + if visibility == "tests": + visibility = ["//test:__subpackages__"] + elif visibility == "public": + visibility = ["//visibility:public"] + elif visibility == "private": + visibility = [] + else: + fail("Unknown visibility " + visibility) + + if len(visibility) != 0: + # buildifier: disable=native-package + native.package( + default_visibility = visibility, + features = features, + ) + +def grpc_objc_library( + name, + srcs = [], + hdrs = [], + non_arc_srcs = [], + textual_hdrs = [], + testonly = False, + data = [], + deps = [], + defines = [], + sdk_frameworks = [], + includes = [], + visibility = ["//visibility:public"]): + """The grpc version of objc_library, only used for the Objective-C library compilation + + Args: + name: name of target + hdrs: public headers + srcs: all source files (.m) + non_arc_srcs: list of Objective-C files that DO NOT use ARC. + textual_hdrs: private headers + testonly: Whether the binary is for tests only. + data: any other bundle resources + defines: preprocessors + sdk_frameworks: sdks + includes: added to search path, always [the path to objc directory] + deps: dependencies + visibility: visibility, default to public + """ + + native.objc_library( + name = name, + hdrs = hdrs, + srcs = srcs, + non_arc_srcs = non_arc_srcs, + textual_hdrs = textual_hdrs, + copts = GRPC_DEFAULT_COPTS + ["-ObjC++", "-std=gnu++14"], + testonly = testonly, + data = data, + deps = deps, + defines = defines, + includes = includes, + sdk_frameworks = sdk_frameworks, + visibility = visibility, + ) + +def grpc_upb_proto_library(name, deps): + upb_proto_library(name = name, deps = deps) + +def grpc_upb_proto_reflection_library(name, deps): + upb_proto_reflection_library(name = name, deps = deps) + +# buildifier: disable=unnamed-macro +def python_config_settings(): + native.config_setting( + name = "python3", + flag_values = {"@bazel_tools//tools/python:python_version": "PY3"}, + ) diff --git a/src/third_party/grpc/dist/bazel/grpc_deps.bzl b/src/third_party/grpc/dist/bazel/grpc_deps.bzl new file mode 100644 index 00000000000..35fc4fe1757 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/grpc_deps.bzl @@ -0,0 +1,620 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Load dependencies needed to compile and test the grpc library as a 3rd-party consumer.""" + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@com_github_grpc_grpc//bazel:grpc_python_deps.bzl", "grpc_python_deps") + +# buildifier: disable=unnamed-macro +def grpc_deps(): + """Loads dependencies need to compile and test the grpc library.""" + + native.bind( + name = "upb_lib", + actual = "@upb//:upb", + ) + + native.bind( + name = "upb_collections_lib", + actual = "@upb//:collections", + ) + + native.bind( + name = "upb_reflection", + actual = "@upb//:reflection", + ) + + native.bind( + name = "upb_lib_descriptor", + actual = "@upb//:descriptor_upb_proto", + ) + + native.bind( + name = "upb_lib_descriptor_reflection", + actual = "@upb//:descriptor_upb_proto_reflection", + ) + + native.bind( + name = "upb_textformat_lib", + actual = "@upb//:textformat", + ) + + native.bind( + name = "upb_json_lib", + actual = "@upb//:json", + ) + + native.bind( + name = "upb_generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me", + actual = "@upb//:generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me", + ) + + native.bind( + name = "libssl", + actual = "@boringssl//:ssl", + ) + + native.bind( + name = "libcrypto", + actual = "@boringssl//:crypto", + ) + + native.bind( + name = "madler_zlib", + actual = "@zlib//:zlib", + ) + + native.bind( + name = "protobuf", + actual = "@com_google_protobuf//:protobuf", + ) + + native.bind( + name = "protobuf_clib", + actual = "@com_google_protobuf//:protoc_lib", + ) + + native.bind( + name = "protobuf_headers", + actual = "@com_google_protobuf//:protobuf_headers", + ) + + native.bind( + name = "protocol_compiler", + actual = "@com_google_protobuf//:protoc", + ) + + native.bind( + name = "cares", + actual = "@com_github_cares_cares//:ares", + ) + + native.bind( + name = "gtest", + actual = "@com_google_googletest//:gtest", + ) + + native.bind( + name = "fuzztest", + actual = "@com_google_fuzztest//fuzztest", + ) + + native.bind( + name = "fuzztest_main", + actual = "@com_google_fuzztest//fuzztest:fuzztest_gtest_main", + ) + + native.bind( + name = "benchmark", + actual = "@com_github_google_benchmark//:benchmark", + ) + + native.bind( + name = "re2", + actual = "@com_googlesource_code_re2//:re2", + ) + + native.bind( + name = "grpc_cpp_plugin", + actual = "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin", + ) + + native.bind( + name = "grpc++_codegen_proto", + actual = "@com_github_grpc_grpc//:grpc++_codegen_proto", + ) + + native.bind( + name = "opencensus-context", + actual = "@io_opencensus_cpp//opencensus/context:context", + ) + + native.bind( + name = "opencensus-trace", + actual = "@io_opencensus_cpp//opencensus/trace:trace", + ) + + native.bind( + name = "opencensus-trace-context_util", + actual = "@io_opencensus_cpp//opencensus/trace:context_util", + ) + + native.bind( + name = "opencensus-trace-propagation", + actual = "@io_opencensus_cpp//opencensus/trace:grpc_trace_bin", + ) + + native.bind( + name = "opencensus-trace-span_context", + actual = "@io_opencensus_cpp//opencensus/trace:span_context", + ) + + native.bind( + name = "opencensus-stats", + actual = "@io_opencensus_cpp//opencensus/stats:stats", + ) + + native.bind( + name = "opencensus-stats-test", + actual = "@io_opencensus_cpp//opencensus/stats:test_utils", + ) + + native.bind( + name = "opencensus-with-tag-map", + actual = "@io_opencensus_cpp//opencensus/tags:with_tag_map", + ) + + native.bind( + name = "opencensus-tags", + actual = "@io_opencensus_cpp//opencensus/tags:tags", + ) + + native.bind( + name = "opencensus-tags-context_util", + actual = "@io_opencensus_cpp//opencensus/tags:context_util", + ) + + native.bind( + name = "opencensus-trace-stackdriver_exporter", + actual = "@io_opencensus_cpp//opencensus/exporters/trace/stackdriver:stackdriver_exporter", + ) + + native.bind( + name = "opencensus-stats-stackdriver_exporter", + actual = "@io_opencensus_cpp//opencensus/exporters/stats/stackdriver:stackdriver_exporter", + ) + + native.bind( + name = "googleapis_trace_grpc_service", + actual = "@com_google_googleapis//google/devtools/cloudtrace/v2:cloudtrace_cc_grpc", + ) + + native.bind( + name = "googleapis_monitoring_grpc_service", + actual = "@com_google_googleapis//google/monitoring/v3:monitoring_cc_grpc", + ) + + native.bind( + name = "googleapis_logging_grpc_service", + actual = "@com_google_googleapis//google/logging/v2:logging_cc_grpc", + ) + + native.bind( + name = "googleapis_logging_cc_proto", + actual = "@com_google_googleapis//google/logging/v2:logging_cc_proto", + ) + + if "boringssl" not in native.existing_rules(): + http_archive( + name = "boringssl", + # Use github mirror instead of https://boringssl.googlesource.com/boringssl + # to obtain a boringssl archive with consistent sha256 + sha256 = "b21994a857a7aa6d5256ffe355c735ad4c286de44c6c81dfc04edc41a8feaeef", + strip_prefix = "boringssl-2ff4b968a7e0cfee66d9f151cb95635b43dc1d5b", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/2ff4b968a7e0cfee66d9f151cb95635b43dc1d5b.tar.gz", + "https://github.com/google/boringssl/archive/2ff4b968a7e0cfee66d9f151cb95635b43dc1d5b.tar.gz", + ], + ) + + if "zlib" not in native.existing_rules(): + http_archive( + name = "zlib", + build_file = "@com_github_grpc_grpc//third_party:zlib.BUILD", + sha256 = "90f43a9c998740e8a0db24b0af0147033db2aaaa99423129abbd76640757cac9", + strip_prefix = "zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/madler/zlib/archive/04f42ceca40f73e2978b50e93806c2a18c1281fc.tar.gz", + "https://github.com/madler/zlib/archive/04f42ceca40f73e2978b50e93806c2a18c1281fc.tar.gz", + ], + ) + + if "com_google_protobuf" not in native.existing_rules(): + http_archive( + name = "com_google_protobuf", + sha256 = "660ce016f987550bc1ccec4a6ee4199afb871799b696227098e3641476a7d566", + strip_prefix = "protobuf-b2b7a51158418f41cff0520894836c15b1738721", + urls = [ + # https://github.com/protocolbuffers/protobuf/commits/v24.3 + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/b2b7a51158418f41cff0520894836c15b1738721.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/b2b7a51158418f41cff0520894836c15b1738721.tar.gz", + ], + patches = [ + "@com_github_grpc_grpc//third_party:protobuf.patch", + ], + patch_args = ["-p1"], + ) + + if "com_google_googletest" not in native.existing_rules(): + http_archive( + name = "com_google_googletest", + sha256 = "c8de6c60e12ad014a28225c5247ee735861d85cf906df617f6a29954ca05f547", + strip_prefix = "googletest-0e402173c97aea7a00749e825b194bfede4f2e45", + urls = [ + # 2022-02-09 + "https://github.com/google/googletest/archive/0e402173c97aea7a00749e825b194bfede4f2e45.tar.gz", + ], + ) + + if "com_google_fuzztest" not in native.existing_rules(): + # when updating this remember to run: + # bazel run @com_google_fuzztest//bazel:setup_configs > tools/fuzztest.bazelrc + http_archive( + name = "com_google_fuzztest", + sha256 = "cdf8d8cd3cdc77280a7c59b310edf234e489a96b6e727cb271e7dfbeb9bcca8d", + strip_prefix = "fuzztest-4ecaeb5084a061a862af8f86789ee184cd3d3f18", + urls = [ + # 2023-05-16 + "https://github.com/google/fuzztest/archive/4ecaeb5084a061a862af8f86789ee184cd3d3f18.tar.gz", + ], + ) + + if "rules_cc" not in native.existing_rules(): + http_archive( + name = "rules_cc", + sha256 = "3d9e271e2876ba42e114c9b9bc51454e379cbf0ec9ef9d40e2ae4cec61a31b40", + strip_prefix = "rules_cc-0.0.6", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_cc/releases/download/0.0.6/rules_cc-0.0.6.tar.gz", + "https://github.com/bazelbuild/rules_cc/releases/download/0.0.6/rules_cc-0.0.6.tar.gz", + ], + ) + + if "com_github_google_benchmark" not in native.existing_rules(): + http_archive( + name = "com_github_google_benchmark", + sha256 = "4e47ca279d5ae967c506c136bd8afb42eedcaf010aebb48a0e87790cae4b488a", + strip_prefix = "benchmark-015d1a091af6937488242b70121858bce8fd40e9", + urls = [ + # v1.8.2 + "https://github.com/google/benchmark/archive/015d1a091af6937488242b70121858bce8fd40e9.tar.gz", + ], + ) + + if "com_googlesource_code_re2" not in native.existing_rules(): + http_archive( + name = "com_googlesource_code_re2", + sha256 = "1ae8ccfdb1066a731bba6ee0881baad5efd2cd661acd9569b689f2586e1a50e9", + strip_prefix = "re2-2022-04-01", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/re2/archive/2022-04-01.tar.gz", + "https://github.com/google/re2/archive/2022-04-01.tar.gz", + ], + ) + + if "com_github_cares_cares" not in native.existing_rules(): + http_archive( + name = "com_github_cares_cares", + build_file = "@com_github_grpc_grpc//third_party:cares/cares.BUILD", + sha256 = "bf26e5b25e259911914a85ae847b6d723488adb5af4f8bdeb9d0871a318476e3", + strip_prefix = "c-ares-6360e96b5cf8e5980c887ce58ef727e53d77243a", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/c-ares/c-ares/archive/6360e96b5cf8e5980c887ce58ef727e53d77243a.tar.gz", + "https://github.com/c-ares/c-ares/archive/6360e96b5cf8e5980c887ce58ef727e53d77243a.tar.gz", + ], + ) + + if "com_google_absl" not in native.existing_rules(): + http_archive( + name = "com_google_absl", + sha256 = "59d2976af9d6ecf001a81a35749a6e551a335b949d34918cfade07737b9d93c5", + strip_prefix = "abseil-cpp-20230802.0", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/20230802.0.tar.gz", + "https://github.com/abseil/abseil-cpp/archive/20230802.0.tar.gz", + ], + ) + + if "bazel_toolchains" not in native.existing_rules(): + # list of releases is at https://github.com/bazelbuild/bazel-toolchains/releases + http_archive( + name = "bazel_toolchains", + sha256 = "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024", + strip_prefix = "bazel-toolchains-4.1.0", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz", + "https://github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz", + ], + ) + + if "bazel_skylib" not in native.existing_rules(): + http_archive( + name = "bazel_skylib", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", + ], + sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", + ) + + if "bazel_compdb" not in native.existing_rules(): + http_archive( + name = "bazel_compdb", + sha256 = "bcecfd622c4ef272fd4ba42726a52e140b961c4eac23025f18b346c968a8cfb4", + strip_prefix = "bazel-compilation-database-0.4.5", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz", + "https://github.com/grailbio/bazel-compilation-database/archive/0.4.5.tar.gz", + ], + ) + + if "io_opencensus_cpp" not in native.existing_rules(): + http_archive( + name = "io_opencensus_cpp", + sha256 = "46b3b5812c150a21bacf860c2f76fc42b89773ed77ee954c32adeb8593aa2a8e", + strip_prefix = "opencensus-cpp-5501a1a255805e0be83a41348bb5f2630d5ed6b3", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-cpp/archive/5501a1a255805e0be83a41348bb5f2630d5ed6b3.tar.gz", + "https://github.com/census-instrumentation/opencensus-cpp/archive/5501a1a255805e0be83a41348bb5f2630d5ed6b3.tar.gz", + ], + ) + + if "upb" not in native.existing_rules(): + http_archive( + name = "upb", + sha256 = "5147e0ab6a28421d1e49004f4a205d84f06b924585e15eaa884cfe13289165b7", + strip_prefix = "upb-42cd08932e364a4cde35033b73f15c30250d7c2e", + urls = [ + # https://github.com/protocolbuffers/upb/commits/24.x + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/42cd08932e364a4cde35033b73f15c30250d7c2e.tar.gz", + "https://github.com/protocolbuffers/upb/archive/42cd08932e364a4cde35033b73f15c30250d7c2e.tar.gz", + ], + ) + + if "envoy_api" not in native.existing_rules(): + http_archive( + name = "envoy_api", + sha256 = "6fd3496c82919a433219733819a93b56699519a193126959e9c4fedc25e70663", + strip_prefix = "data-plane-api-e53e7bbd012f81965f2e79848ad9a58ceb67201f", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/e53e7bbd012f81965f2e79848ad9a58ceb67201f.tar.gz", + "https://github.com/envoyproxy/data-plane-api/archive/e53e7bbd012f81965f2e79848ad9a58ceb67201f.tar.gz", + ], + ) + + if "io_bazel_rules_go" not in native.existing_rules(): + http_archive( + name = "io_bazel_rules_go", + sha256 = "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz", + "https://github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz", + ], + ) + + if "build_bazel_rules_apple" not in native.existing_rules(): + http_archive( + name = "build_bazel_rules_apple", + sha256 = "f94e6dddf74739ef5cb30f000e13a2a613f6ebfa5e63588305a71fce8a8a9911", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_apple/releases/download/1.1.3/rules_apple.1.1.3.tar.gz", + "https://github.com/bazelbuild/rules_apple/releases/download/1.1.3/rules_apple.1.1.3.tar.gz", + ], + ) + + if "build_bazel_apple_support" not in native.existing_rules(): + http_archive( + name = "build_bazel_apple_support", + sha256 = "f4fdf5c9b42b92ea12f229b265d74bb8cedb8208ca7a445b383c9f866cf53392", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/1.3.1/apple_support.1.3.1.tar.gz", + "https://github.com/bazelbuild/apple_support/releases/download/1.3.1/apple_support.1.3.1.tar.gz", + ], + ) + + if "com_google_googleapis" not in native.existing_rules(): + http_archive( + name = "com_google_googleapis", + sha256 = "5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0", + strip_prefix = "googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92", + build_file = Label("//bazel:googleapis.BUILD"), + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz", + "https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz", + ], + ) + + if "bazel_gazelle" not in native.existing_rules(): + http_archive( + name = "bazel_gazelle", + sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz", + "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz", + ], + ) + + if "opencensus_proto" not in native.existing_rules(): + http_archive( + name = "opencensus_proto", + sha256 = "b7e13f0b4259e80c3070b583c2f39e53153085a6918718b1c710caf7037572b0", + strip_prefix = "opencensus-proto-0.3.0/src", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz", + "https://github.com/census-instrumentation/opencensus-proto/archive/v0.3.0.tar.gz", + ], + ) + + if "com_envoyproxy_protoc_gen_validate" not in native.existing_rules(): + http_archive( + name = "com_envoyproxy_protoc_gen_validate", + strip_prefix = "protoc-gen-validate-4694024279bdac52b77e22dc87808bd0fd732b69", + sha256 = "1e490b98005664d149b379a9529a6aa05932b8a11b76b4cd86f3d22d76346f47", + urls = [ + "https://github.com/envoyproxy/protoc-gen-validate/archive/4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz", + ], + patches = ["@com_github_grpc_grpc//third_party:protoc-gen-validate.patch"], + patch_args = ["-p1"], + ) + + if "com_github_cncf_udpa" not in native.existing_rules(): + http_archive( + name = "com_github_cncf_udpa", + sha256 = "0d33b83f8c6368954e72e7785539f0d272a8aba2f6e2e336ed15fd1514bc9899", + strip_prefix = "xds-e9ce68804cb4e64cab5a52e3c8baf840d4ff87b7", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/cncf/xds/archive/e9ce68804cb4e64cab5a52e3c8baf840d4ff87b7.tar.gz", + "https://github.com/cncf/xds/archive/e9ce68804cb4e64cab5a52e3c8baf840d4ff87b7.tar.gz", + ], + ) + + # TODO(stanleycheung): remove this when prometheus-cpp AND + # opentelemetry-cpp cut a new release + # This override is needed because this fix + # https://github.com/jupp0r/prometheus-cpp/pull/626 + # has not been included in the latest prometheus-cpp release yet. + # We also need opentelemetry-cpp to update their dependency on + # prometheus-cpp after that fix is released. + # Without the fix, we cannot build the prometheus exporter with bazel 6 + if "com_github_jupp0r_prometheus_cpp" not in native.existing_rules(): + http_archive( + name = "com_github_jupp0r_prometheus_cpp", + strip_prefix = "prometheus-cpp-b1234816facfdda29845c46696a02998a4af115a", + urls = [ + "https://github.com/jupp0r/prometheus-cpp/archive/b123481.zip", + ], + ) + + if "io_opentelemetry_cpp" not in native.existing_rules(): + http_archive( + name = "io_opentelemetry_cpp", + sha256 = "f30cd88bf898a5726d245eba882b8e81012021eb00df34109f4dfb203f005cea", + strip_prefix = "opentelemetry-cpp-1.11.0", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.11.0.tar.gz", + "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.11.0.tar.gz", + ], + ) + + if "google_cloud_cpp" not in native.existing_rules(): + http_archive( + name = "google_cloud_cpp", + sha256 = "371d01b03c7e2604d671b8fa1c86710abe3b524a78bc2705a6bb4de715696755", + strip_prefix = "google-cloud-cpp-2.14.0", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.14.0.tar.gz", + "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.14.0.tar.gz", + ], + ) + + grpc_python_deps() + +# TODO: move some dependencies from "grpc_deps" here? +# buildifier: disable=unnamed-macro +def grpc_test_only_deps(): + """Internal, not intended for use by packages that are consuming grpc. + + Loads dependencies that are only needed to run grpc library's tests. + """ + native.bind( + name = "twisted", + actual = "@com_github_twisted_twisted//:twisted", + ) + + native.bind( + name = "yaml", + actual = "@com_github_yaml_pyyaml//:yaml", + ) + + if "com_github_twisted_twisted" not in native.existing_rules(): + http_archive( + name = "com_github_twisted_twisted", + sha256 = "ca17699d0d62eafc5c28daf2c7d0a18e62ae77b4137300b6c7d7868b39b06139", + strip_prefix = "twisted-twisted-17.5.0", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/twisted/twisted/archive/twisted-17.5.0.zip", + "https://github.com/twisted/twisted/archive/twisted-17.5.0.zip", + ], + build_file = "@com_github_grpc_grpc//third_party:twisted.BUILD", + ) + + if "com_github_yaml_pyyaml" not in native.existing_rules(): + http_archive( + name = "com_github_yaml_pyyaml", + sha256 = "e34d97db6d846f5e2ad51417fd646e7ce6a3a70726ccea2a857e0580a7155f39", + strip_prefix = "pyyaml-6.0.1", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/yaml/pyyaml/archive/6.0.1.zip", + "https://github.com/yaml/pyyaml/archive/6.0.1.zip", + ], + build_file = "@com_github_grpc_grpc//third_party:yaml.BUILD", + ) + + if "com_github_twisted_incremental" not in native.existing_rules(): + http_archive( + name = "com_github_twisted_incremental", + sha256 = "f0ca93359ee70243ff7fbf2d904a6291810bd88cb80ed4aca6fa77f318a41a36", + strip_prefix = "incremental-incremental-17.5.0", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/twisted/incremental/archive/incremental-17.5.0.zip", + "https://github.com/twisted/incremental/archive/incremental-17.5.0.zip", + ], + build_file = "@com_github_grpc_grpc//third_party:incremental.BUILD", + ) + + if "com_github_zopefoundation_zope_interface" not in native.existing_rules(): + http_archive( + name = "com_github_zopefoundation_zope_interface", + sha256 = "e9579fc6149294339897be3aa9ecd8a29217c0b013fe6f44fcdae00e3204198a", + strip_prefix = "zope.interface-4.4.3", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/zopefoundation/zope.interface/archive/4.4.3.zip", + "https://github.com/zopefoundation/zope.interface/archive/4.4.3.zip", + ], + build_file = "@com_github_grpc_grpc//third_party:zope_interface.BUILD", + ) + + if "com_github_twisted_constantly" not in native.existing_rules(): + http_archive( + name = "com_github_twisted_constantly", + sha256 = "2702cd322161a579d2c0dbf94af4e57712eedc7bd7bbbdc554a230544f7d346c", + strip_prefix = "constantly-15.1.0", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/twisted/constantly/archive/15.1.0.zip", + "https://github.com/twisted/constantly/archive/15.1.0.zip", + ], + build_file = "@com_github_grpc_grpc//third_party:constantly.BUILD", + ) + + if "com_google_libprotobuf_mutator" not in native.existing_rules(): + http_archive( + name = "com_google_libprotobuf_mutator", + sha256 = "11ab4c57b4051977d8fedb86dba5c9092e578bc293c47be146e0b0596b6a0bdc", + urls = [ + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/libprotobuf-mutator/archive/c390388561be36f94a559a4aed7e2fe60470f60b.tar.gz", + "https://github.com/google/libprotobuf-mutator/archive/c390388561be36f94a559a4aed7e2fe60470f60b.tar.gz", + ], + strip_prefix = "libprotobuf-mutator-c390388561be36f94a559a4aed7e2fe60470f60b", + build_file = "@com_github_grpc_grpc//third_party:libprotobuf_mutator.BUILD", + ) diff --git a/src/third_party/grpc/dist/bazel/grpc_extra_deps.bzl b/src/third_party/grpc/dist/bazel/grpc_extra_deps.bzl new file mode 100644 index 00000000000..e57aa968eaf --- /dev/null +++ b/src/third_party/grpc/dist/bazel/grpc_extra_deps.bzl @@ -0,0 +1,76 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Loads the dependencies necessary for the external repositories defined in grpc_deps.bzl.""" + +load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") +load("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies") +load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies") +load("@com_envoyproxy_protoc_gen_validate//:dependencies.bzl", "go_third_party") +load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language") +load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") +load("@envoy_api//bazel:repositories.bzl", "api_dependencies") +load("@google_cloud_cpp//bazel:google_cloud_cpp_deps.bzl", "google_cloud_cpp_deps") +load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") +load("@upb//bazel:workspace_deps.bzl", "upb_deps") + +def grpc_extra_deps(ignore_version_differences = False): + """Loads the extra dependencies. + + These are necessary for using the external repositories defined in + grpc_deps.bzl. Projects that depend on gRPC as an external repository need + to call both grpc_deps and grpc_extra_deps, if they have not already loaded + the extra dependencies. For example, they can do the following in their + WORKSPACE + ``` + load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps", "grpc_test_only_deps") + grpc_deps() + + grpc_test_only_deps() + + load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") + + grpc_extra_deps() + ``` + + Args: + ignore_version_differences: Plumbed directly to the invocation of + apple_rules_dependencies. + """ + protobuf_deps() + + upb_deps() + + api_dependencies() + + go_rules_dependencies() + go_register_toolchains(version = "1.18") + gazelle_dependencies() + + # Pull-in the go 3rd party dependencies for protoc_gen_validate, which is + # needed for building C++ xDS protos + go_third_party() + + apple_rules_dependencies(ignore_version_differences = ignore_version_differences) + + apple_support_dependencies() + + # Initialize Google APIs with only C++ and Python targets + switched_rules_by_language( + name = "com_google_googleapis_imports", + cc = True, + grpc = True, + python = True, + ) + + google_cloud_cpp_deps() diff --git a/src/third_party/grpc/dist/bazel/grpc_python_deps.bzl b/src/third_party/grpc/dist/bazel/grpc_python_deps.bzl new file mode 100644 index 00000000000..39893eef6eb --- /dev/null +++ b/src/third_party/grpc/dist/bazel/grpc_python_deps.bzl @@ -0,0 +1,47 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Load dependencies needed to compile and test the grpc python library as a 3rd-party consumer.""" + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@com_github_grpc_grpc//third_party/py:python_configure.bzl", "python_configure") + +# buildifier: disable=unnamed-macro +def grpc_python_deps(): + """Loads dependencies for gRPC Python.""" + if "io_bazel_rules_python" not in native.existing_rules(): + http_archive( + name = "io_bazel_rules_python", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.4.0/rules_python-0.4.0.tar.gz", + sha256 = "954aa89b491be4a083304a2cb838019c8b8c3720a7abb9c4cb81ac7a24230cea", + patches = ["@com_github_grpc_grpc//third_party:rules_python.patch"], + patch_args = ["-p1"], + ) + + python_configure(name = "local_config_python") + + native.bind( + name = "python_headers", + actual = "@local_config_python//:python_headers", + ) + + if "cython" not in native.existing_rules(): + http_archive( + name = "cython", + build_file = "@com_github_grpc_grpc//third_party:cython.BUILD", + sha256 = "a2da56cc22be823acf49741b9aa3aa116d4f07fa8e8b35a3cb08b8447b37c607", + strip_prefix = "cython-0.29.35", + urls = [ + "https://github.com/cython/cython/archive/0.29.35.tar.gz", + ], + ) diff --git a/src/third_party/grpc/dist/bazel/grpc_util.bzl b/src/third_party/grpc/dist/bazel/grpc_util.bzl new file mode 100644 index 00000000000..42278558f8e --- /dev/null +++ b/src/third_party/grpc/dist/bazel/grpc_util.bzl @@ -0,0 +1,72 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Follows convention set in objectivec_helpers.cc in the protobuf ObjC compiler. + +""" +Contains generic helper utilities. +""" + +_upper_segments_list = ["url", "http", "https"] + +def strip_extension(str): + return str.rpartition(".")[0] + +def capitalize(word): + if word in _upper_segments_list: + return word.upper() + else: + return word.capitalize() + +def lower_underscore_to_upper_camel(str): + """Converts from lower underscore case to upper camel case. + + Args: + str: The snake case string to convert. + + Returns: + The title case version of str. + """ + str = strip_extension(str) + camel_case_str = "" + word = "" + for c in str.elems(): # NB: assumes ASCII! + if c.isalpha(): + word += c.lower() + else: + # Last word is finished. + if len(word): + camel_case_str += capitalize(word) + word = "" + if c.isdigit(): + camel_case_str += c + + # Otherwise, drop the character. See UnderscoresToCamelCase in: + # third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc + + if len(word): + camel_case_str += capitalize(word) + return camel_case_str + +def file_to_upper_camel(src): + elements = src.rpartition("/") + upper_camel = lower_underscore_to_upper_camel(elements[-1]) + return "".join(list(elements[:-1]) + [upper_camel]) + +def file_with_extension(src, ext): + elements = src.rpartition("/") + return "".join(list(elements[:-1]) + [elements[-1], "." + ext]) + +def to_upper_camel_with_extension(src, ext): + src = file_to_upper_camel(src) + return file_with_extension(src, ext) diff --git a/src/third_party/grpc/dist/bazel/internal_python_rules.bzl b/src/third_party/grpc/dist/bazel/internal_python_rules.bzl new file mode 100644 index 00000000000..b2a506c6ae4 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/internal_python_rules.bzl @@ -0,0 +1,43 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Python-related rules intended only for use internal to the repo.""" + +load("//bazel:gevent_test.bzl", "py_grpc_gevent_test") + +def internal_py_grpc_test(name, **kwargs): + """Runs a test under all supported environments. + + Args: + name: The name of the test. + **kwargs: Any additional arguments to add to the test. + """ + native.py_test( + name = name + ".native", + python_version = "PY3", + **kwargs + ) + py_grpc_gevent_test(name, **kwargs) + + suite_kwargs = {} + if "visibility" in kwargs: + suite_kwargs["visibility"] = kwargs["visibility"] + + native.test_suite( + name = name, + tests = [ + name + ".native", + name + ".gevent", + ], + **suite_kwargs + ) diff --git a/src/third_party/grpc/dist/bazel/objc_grpc_library.bzl b/src/third_party/grpc/dist/bazel/objc_grpc_library.bzl new file mode 100644 index 00000000000..dbe07b1811d --- /dev/null +++ b/src/third_party/grpc/dist/bazel/objc_grpc_library.bzl @@ -0,0 +1,84 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Contains the objc_grpc_library rule. +""" + +load( + "//bazel:generate_objc.bzl", + "generate_objc", + "generate_objc_hdrs", + "generate_objc_non_arc_srcs", + "generate_objc_srcs", +) + +def objc_grpc_library(name, deps, srcs = [], use_well_known_protos = False, **kwargs): + """Generates messages and/or service stubs for given proto_library and all transitively dependent proto files + + Args: + name: name of target + deps: a list of proto_library targets that needs to be compiled + srcs: a list of labels to proto files with service stubs to be generated, + labels specified must include service stubs; otherwise Bazel will complain about srcs being empty + use_well_known_protos: whether to use the well known protos defined in + @com_google_protobuf//src/google/protobuf, default to false + **kwargs: other arguments + """ + objc_grpc_library_name = "_" + name + "_objc_grpc_library" + + generate_objc( + name = objc_grpc_library_name, + srcs = srcs, + deps = deps, + use_well_known_protos = use_well_known_protos, + **kwargs + ) + + generate_objc_hdrs( + name = objc_grpc_library_name + "_hdrs", + src = ":" + objc_grpc_library_name, + ) + + generate_objc_non_arc_srcs( + name = objc_grpc_library_name + "_non_arc_srcs", + src = ":" + objc_grpc_library_name, + ) + + arc_srcs = None + if len(srcs) > 0: + generate_objc_srcs( + name = objc_grpc_library_name + "_srcs", + src = ":" + objc_grpc_library_name, + ) + arc_srcs = [":" + objc_grpc_library_name + "_srcs"] + + native.objc_library( + name = name, + hdrs = [":" + objc_grpc_library_name + "_hdrs"], + non_arc_srcs = [":" + objc_grpc_library_name + "_non_arc_srcs"], + srcs = arc_srcs, + defines = [ + "GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=0", + "GPB_GRPC_FORWARD_DECLARE_MESSAGE_PROTO=0", + ], + includes = [ + "_generated_protos", + "src/objective-c", + ], + deps = [ + "@com_github_grpc_grpc//src/objective-c:proto_objc_rpc", + "@com_google_protobuf//:protobuf_objc", + ], + **kwargs + ) diff --git a/src/third_party/grpc/dist/bazel/protobuf.bzl b/src/third_party/grpc/dist/bazel/protobuf.bzl new file mode 100644 index 00000000000..9568e627a77 --- /dev/null +++ b/src/third_party/grpc/dist/bazel/protobuf.bzl @@ -0,0 +1,341 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Utility functions for generating protobuf code.""" + +load("@rules_proto//proto:defs.bzl", "ProtoInfo") + +_PROTO_EXTENSION = ".proto" +_VIRTUAL_IMPORTS = "/_virtual_imports/" + +_WELL_KNOWN_PROTOS_BASE = [ + "any_proto", + "api_proto", + "compiler_plugin_proto", + "descriptor_proto", + "duration_proto", + "empty_proto", + "field_mask_proto", + "source_context_proto", + "struct_proto", + "timestamp_proto", + "type_proto", + "wrappers_proto", +] + +def well_known_proto_libs(): + return ["@com_google_protobuf//:" + b for b in _WELL_KNOWN_PROTOS_BASE] + +def is_well_known(label): + # Bazel surfaces labels as their undelying identity, even if they are referenced + # via aliases. Bazel also does not currently provide a way to find the real label + # underlying an alias. So the implementation detail that the WKTs present at the + # top level of the protobuf repo are actually backed by targets in the + # //src/google/protobuf package leaks through here. + # We include both the alias path and the underlying path to be resilient to + # reversions of this change as well as for continuing compatiblity with repos + # that happen to pull in older versions of protobuf. + all_wkt_targets = (["@com_google_protobuf//:" + b for b in _WELL_KNOWN_PROTOS_BASE] + + ["@com_google_protobuf//src/google/protobuf:" + b for b in _WELL_KNOWN_PROTOS_BASE]) + return label in all_wkt_targets + +def get_proto_root(workspace_root): + """Gets the root protobuf directory. + + Args: + workspace_root: context.label.workspace_root + + Returns: + The directory relative to which generated include paths should be. + """ + if workspace_root: + return "/{}".format(workspace_root) + else: + return "" + +def _strip_proto_extension(proto_filename): + if not proto_filename.endswith(_PROTO_EXTENSION): + fail('"{}" does not end with "{}"'.format( + proto_filename, + _PROTO_EXTENSION, + )) + return proto_filename[:-len(_PROTO_EXTENSION)] + +def proto_path_to_generated_filename(proto_path, fmt_str): + """Calculates the name of a generated file for a protobuf path. + + For example, "examples/protos/helloworld.proto" might map to + "helloworld.pb.h". + + Args: + proto_path: The path to the .proto file. + fmt_str: A format string used to calculate the generated filename. For + example, "{}.pb.h" might be used to calculate a C++ header filename. + + Returns: + The generated filename. + """ + return fmt_str.format(_strip_proto_extension(proto_path)) + +def get_include_directory(source_file): + """Returns the include directory path for the source_file. + + All of the include statements within the given source_file are calculated + relative to the directory returned by this method. + + The returned directory path can be used as the "--proto_path=" argument + value. + + Args: + source_file: A proto file. + + Returns: + The include directory path for the source_file. + """ + directory = source_file.path + prefix_len = 0 + + if is_in_virtual_imports(source_file): + root, relative = source_file.path.split(_VIRTUAL_IMPORTS, 2) + result = root + _VIRTUAL_IMPORTS + relative.split("/", 1)[0] + return result + + if not source_file.is_source and directory.startswith(source_file.root.path): + prefix_len = len(source_file.root.path) + 1 + + if directory.startswith("external", prefix_len): + external_separator = directory.find("/", prefix_len) + repository_separator = directory.find("/", external_separator + 1) + return directory[:repository_separator] + else: + return source_file.root.path if source_file.root.path else "." + +def get_plugin_args( + plugin, + flags, + dir_out, + generate_mocks, + plugin_name = "PLUGIN"): + """Returns arguments configuring protoc to use a plugin for a language. + + Args: + plugin: An executable file to run as the protoc plugin. + flags: The plugin flags to be passed to protoc. + dir_out: The output directory for the plugin. + generate_mocks: A bool indicating whether to generate mocks. + plugin_name: A name of the plugin, it is required to be unique when there + are more than one plugin used in a single protoc command. + Returns: + A list of protoc arguments configuring the plugin. + """ + augmented_flags = list(flags) + if generate_mocks: + augmented_flags.append("generate_mock_code=true") + + augmented_dir_out = dir_out + if augmented_flags: + augmented_dir_out = ",".join(augmented_flags) + ":" + dir_out + + return [ + "--plugin=protoc-gen-{plugin_name}={plugin_path}".format( + plugin_name = plugin_name, + plugin_path = plugin.path, + ), + "--{plugin_name}_out={dir_out}".format( + plugin_name = plugin_name, + dir_out = augmented_dir_out, + ), + ] + +def _make_prefix(label): + """Returns the directory prefix for a label. + + @repo//foo/bar:sub/dir/file.proto => 'external/repo/foo/bar/' + //foo/bar:sub/dir/file.proto => 'foo/bar/' + //:sub/dir/file.proto => '' + + That is, the prefix can be removed from a file's full path to + obtain the file's relative location within the package's effective + directory.""" + + wsr = label.workspace_root + pkg = label.package + + if not wsr and not pkg: + return "" + elif not wsr: + return pkg + "/" + elif not pkg: + return wsr + "/" + else: + return wsr + "/" + pkg + "/" + +def get_staged_proto_file(label, context, source_file): + """Copies a proto file to the appropriate location if necessary. + + Args: + label: The label of the rule using the .proto file. + context: The ctx object for the rule or aspect. + source_file: The original .proto file. + + Returns: + The original proto file OR a new file in the staged location. + """ + if source_file.dirname == label.package or \ + is_in_virtual_imports(source_file): + # Current target and source_file are in same package + return source_file + else: + # Current target and source_file are in different packages (most + # probably even in different repositories) + prefix = _make_prefix(source_file.owner) + copied_proto = context.actions.declare_file(source_file.path[len(prefix):]) + context.actions.run_shell( + inputs = [source_file], + outputs = [copied_proto], + command = "cp {} {}".format(source_file.path, copied_proto.path), + mnemonic = "CopySourceProto", + ) + return copied_proto + +def protos_from_context(context): + """Copies proto files to the appropriate location. + + Args: + context: The ctx object for the rule. + + Returns: + A list of the protos. + """ + protos = [] + for src in context.attr.deps: + for file in src[ProtoInfo].direct_sources: + protos.append(get_staged_proto_file(context.label, context, file)) + return protos + +def includes_from_deps(deps): + """Get includes from rule dependencies.""" + return [ + file + for src in deps + for file in src[ProtoInfo].transitive_imports.to_list() + ] + +def get_proto_arguments(protos, genfiles_dir_path): + """Get the protoc arguments specifying which protos to compile. + + Args: + protos: The protob files to supply. + genfiles_dir_path: The path to the genfiles directory. + + Returns: + The arguments to supply to protoc. + """ + arguments = [] + for proto in protos: + strip_prefix_len = 0 + if is_in_virtual_imports(proto): + incl_directory = get_include_directory(proto) + if proto.path.startswith(incl_directory): + strip_prefix_len = len(incl_directory) + 1 + elif proto.path.startswith(genfiles_dir_path): + strip_prefix_len = len(genfiles_dir_path) + 1 + + arguments.append(proto.path[strip_prefix_len:]) + + return arguments + +def declare_out_files(protos, context, generated_file_format): + """Declares and returns the files to be generated. + + Args: + protos: A list of files. The protos to declare. + context: The context object. + generated_file_format: A format string. Will be passed to + proto_path_to_generated_filename to generate the filename of each + generated file. + + Returns: + A list of file providers. + """ + + out_file_paths = [] + for proto in protos: + if not is_in_virtual_imports(proto): + prefix = _make_prefix(proto.owner) + full_prefix = context.genfiles_dir.path + "/" + prefix + if proto.path.startswith(full_prefix): + out_file_paths.append(proto.path[len(full_prefix):]) + elif proto.path.startswith(prefix): + out_file_paths.append(proto.path[len(prefix):]) + else: + out_file_paths.append(proto.path[proto.path.index(_VIRTUAL_IMPORTS) + 1:]) + + return [ + context.actions.declare_file( + proto_path_to_generated_filename( + out_file_path, + generated_file_format, + ), + ) + for out_file_path in out_file_paths + ] + +def get_out_dir(protos, context): + """Returns the value to supply to the --_out= protoc flag. + + The result is based on the input source proto files and current context. + + Args: + protos: A list of protos to be used as source files in protoc command + context: A ctx object for the rule. + Returns: + The value of --_out= argument. + """ + at_least_one_virtual = 0 + for proto in protos: + if is_in_virtual_imports(proto): + at_least_one_virtual = True + elif at_least_one_virtual: + fail("Proto sources must be either all virtual imports or all real") + if at_least_one_virtual: + out_dir = get_include_directory(protos[0]) + ws_root = protos[0].owner.workspace_root + prefix = "/" + _make_prefix(protos[0].owner) + _VIRTUAL_IMPORTS[1:] + + return struct( + path = out_dir, + import_path = out_dir[out_dir.find(prefix) + 1:], + ) + + out_dir = context.genfiles_dir.path + ws_root = context.label.workspace_root + if ws_root: + out_dir = out_dir + "/" + ws_root + return struct(path = out_dir, import_path = None) + +def is_in_virtual_imports(source_file, virtual_folder = _VIRTUAL_IMPORTS): + """Determines if source_file is virtual. + + A file is virtual if placed in the _virtual_imports subdirectory. The + output of all proto_library targets which use import_prefix and/or + strip_import_prefix arguments is placed under _virtual_imports directory. + + Args: + source_file: A proto file. + virtual_folder: The virtual folder name (is set to "_virtual_imports" + by default) + Returns: + True if source_file is located under _virtual_imports, False otherwise. + """ + return not source_file.is_source and virtual_folder in source_file.path diff --git a/src/third_party/grpc/dist/bazel/python_rules.bzl b/src/third_party/grpc/dist/bazel/python_rules.bzl new file mode 100644 index 00000000000..88af99757eb --- /dev/null +++ b/src/third_party/grpc/dist/bazel/python_rules.bzl @@ -0,0 +1,305 @@ +# Copyright 2021 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Generates and compiles Python gRPC stubs from proto_library rules.""" + +load("@rules_proto//proto:defs.bzl", "ProtoInfo") +load( + "//bazel:protobuf.bzl", + "declare_out_files", + "get_include_directory", + "get_out_dir", + "get_plugin_args", + "get_proto_arguments", + "get_staged_proto_file", + "includes_from_deps", + "is_well_known", + "protos_from_context", +) + +_GENERATED_PROTO_FORMAT = "{}_pb2.py" +_GENERATED_PROTO_STUB_FORMAT = "{}_pb2.pyi" +_GENERATED_GRPC_PROTO_FORMAT = "{}_pb2_grpc.py" + +PyProtoInfo = provider( + "The Python outputs from the Protobuf compiler.", + fields = { + "py_info": "A PyInfo provider for the generated code.", + "generated_py_srcs": "The direct (not transitive) generated Python source files.", + }, +) + +def _merge_pyinfos(pyinfos): + return PyInfo( + transitive_sources = depset(transitive = [p.transitive_sources for p in pyinfos]), + imports = depset(transitive = [p.imports for p in pyinfos]), + ) + +def _gen_py_aspect_impl(target, context): + # Early return for well-known protos. + if is_well_known(str(context.label)): + return [ + PyProtoInfo( + py_info = context.attr._protobuf_library[PyInfo], + generated_py_srcs = [], + ), + ] + + protos = [] + for p in target[ProtoInfo].direct_sources: + protos.append(get_staged_proto_file(target.label, context, p)) + + includes = depset(direct = protos, transitive = [target[ProtoInfo].transitive_imports]) + out_files = (declare_out_files(protos, context, _GENERATED_PROTO_FORMAT) + + declare_out_files(protos, context, _GENERATED_PROTO_STUB_FORMAT)) + generated_py_srcs = out_files + + tools = [context.executable._protoc] + + out_dir = get_out_dir(protos, context) + + arguments = ([ + "--python_out={}".format(out_dir.path), + "--pyi_out={}".format(out_dir.path), + ] + [ + "--proto_path={}".format(get_include_directory(i)) + for i in includes.to_list() + ] + [ + "--proto_path={}".format(context.genfiles_dir.path), + ]) + + arguments += get_proto_arguments(protos, context.genfiles_dir.path) + + context.actions.run( + inputs = protos + includes.to_list(), + tools = tools, + outputs = out_files, + executable = context.executable._protoc, + arguments = arguments, + mnemonic = "ProtocInvocation", + ) + + imports = [] + if out_dir.import_path: + imports.append("{}/{}".format(context.workspace_name, out_dir.import_path)) + + py_info = PyInfo(transitive_sources = depset(direct = out_files), imports = depset(direct = imports)) + return PyProtoInfo( + py_info = _merge_pyinfos( + [ + py_info, + context.attr._protobuf_library[PyInfo], + ] + [dep[PyProtoInfo].py_info for dep in context.rule.attr.deps], + ), + generated_py_srcs = generated_py_srcs, + ) + +_gen_py_aspect = aspect( + implementation = _gen_py_aspect_impl, + attr_aspects = ["deps"], + fragments = ["py"], + attrs = { + "_protoc": attr.label( + default = Label("//external:protocol_compiler"), + providers = ["files_to_run"], + executable = True, + cfg = "host", + ), + "_protobuf_library": attr.label( + default = Label("@com_google_protobuf//:protobuf_python"), + providers = [PyInfo], + ), + }, +) + +def _generate_py_impl(context): + if (len(context.attr.deps) != 1): + fail("Can only compile a single proto at a time.") + + py_sources = [] + + # If the proto_library this rule *directly* depends on is in another + # package, then we generate .py files to import them in this package. This + # behavior is needed to allow rearranging of import paths to make Bazel + # outputs align with native python workflows. + # + # Note that this approach is vulnerable to protoc defining __all__ or other + # symbols with __ prefixes that need to be directly imported. Since these + # names are likely to be reserved for private APIs, the risk is minimal. + if context.label.package != context.attr.deps[0].label.package: + for py_src in context.attr.deps[0][PyProtoInfo].generated_py_srcs: + reimport_py_file = context.actions.declare_file(py_src.basename) + py_sources.append(reimport_py_file) + import_line = "from %s import *" % py_src.short_path.replace("..", "external").replace("/", ".")[:-len(".py")] + context.actions.write(reimport_py_file, import_line) + + # Collect output PyInfo provider. + imports = [context.label.package + "/" + i for i in context.attr.imports] + py_info = PyInfo(transitive_sources = depset(direct = py_sources), imports = depset(direct = imports)) + out_pyinfo = _merge_pyinfos([py_info, context.attr.deps[0][PyProtoInfo].py_info]) + + runfiles = context.runfiles(files = out_pyinfo.transitive_sources.to_list()).merge(context.attr._protobuf_library[DefaultInfo].data_runfiles) + return [ + DefaultInfo( + files = out_pyinfo.transitive_sources, + runfiles = runfiles, + ), + out_pyinfo, + ] + +py_proto_library = rule( + attrs = { + "deps": attr.label_list( + mandatory = True, + allow_empty = False, + providers = [ProtoInfo], + aspects = [_gen_py_aspect], + ), + "_protoc": attr.label( + default = Label("//external:protocol_compiler"), + providers = ["files_to_run"], + executable = True, + cfg = "host", + ), + "_protobuf_library": attr.label( + default = Label("@com_google_protobuf//:protobuf_python"), + providers = [PyInfo], + ), + "imports": attr.string_list(), + }, + implementation = _generate_py_impl, +) + +def _generate_pb2_grpc_src_impl(context): + protos = protos_from_context(context) + includes = includes_from_deps(context.attr.deps) + out_files = declare_out_files(protos, context, _GENERATED_GRPC_PROTO_FORMAT) + + plugin_flags = ["grpc_2_0"] + context.attr.strip_prefixes + + arguments = [] + tools = [context.executable._protoc, context.executable._grpc_plugin] + out_dir = get_out_dir(protos, context) + if out_dir.import_path: + # is virtual imports + out_path = out_dir.path + else: + out_path = context.genfiles_dir.path + arguments += get_plugin_args( + context.executable._grpc_plugin, + plugin_flags, + out_path, + False, + ) + + arguments += [ + "--proto_path={}".format(get_include_directory(i)) + for i in includes + ] + arguments.append("--proto_path={}".format(context.genfiles_dir.path)) + arguments += get_proto_arguments(protos, context.genfiles_dir.path) + + context.actions.run( + inputs = protos + includes, + tools = tools, + outputs = out_files, + executable = context.executable._protoc, + arguments = arguments, + mnemonic = "ProtocInvocation", + ) + + p = PyInfo(transitive_sources = depset(direct = out_files)) + py_info = _merge_pyinfos( + [ + p, + context.attr._grpc_library[PyInfo], + ] + [dep[PyInfo] for dep in context.attr.py_deps], + ) + + runfiles = context.runfiles(files = out_files, transitive_files = py_info.transitive_sources).merge(context.attr._grpc_library[DefaultInfo].data_runfiles) + + return [ + DefaultInfo( + files = depset(direct = out_files), + runfiles = runfiles, + ), + py_info, + ] + +_generate_pb2_grpc_src = rule( + attrs = { + "deps": attr.label_list( + mandatory = True, + allow_empty = False, + providers = [ProtoInfo], + ), + "py_deps": attr.label_list( + mandatory = True, + allow_empty = False, + providers = [PyInfo], + ), + "strip_prefixes": attr.string_list(), + "_grpc_plugin": attr.label( + executable = True, + providers = ["files_to_run"], + cfg = "host", + default = Label("//src/compiler:grpc_python_plugin"), + ), + "_protoc": attr.label( + executable = True, + providers = ["files_to_run"], + cfg = "host", + default = Label("//external:protocol_compiler"), + ), + "_grpc_library": attr.label( + default = Label("//src/python/grpcio/grpc:grpcio"), + providers = [PyInfo], + ), + }, + implementation = _generate_pb2_grpc_src_impl, +) + +def py_grpc_library( + name, + srcs, + deps, + strip_prefixes = [], + **kwargs): + """Generate python code for gRPC services defined in a protobuf. + + Args: + name: The name of the target. + srcs: (List of `labels`) a single proto_library target containing the + schema of the service. + deps: (List of `labels`) a single py_proto_library target for the + proto_library in `srcs`. + strip_prefixes: (List of `strings`) If provided, this prefix will be + stripped from the beginning of foo_pb2 modules imported by the + generated stubs. This is useful in combination with the `imports` + attribute of the `py_library` rule. + **kwargs: Additional arguments to be supplied to the invocation of + py_library. + """ + if len(srcs) != 1: + fail("Can only compile a single proto at a time.") + + if len(deps) != 1: + fail("Deps must have length 1.") + + _generate_pb2_grpc_src( + name = name, + deps = srcs, + py_deps = deps, + strip_prefixes = strip_prefixes, + **kwargs + ) diff --git a/src/third_party/grpc/dist/bazel/supported_versions.txt b/src/third_party/grpc/dist/bazel/supported_versions.txt new file mode 100644 index 00000000000..b35d8c6ca5d --- /dev/null +++ b/src/third_party/grpc/dist/bazel/supported_versions.txt @@ -0,0 +1,2 @@ +6.3.2 +5.4.1 diff --git a/src/third_party/grpc/dist/bazel/test_experiments.bzl b/src/third_party/grpc/dist/bazel/test_experiments.bzl new file mode 100644 index 00000000000..21c52e747ad --- /dev/null +++ b/src/third_party/grpc/dist/bazel/test_experiments.bzl @@ -0,0 +1,50 @@ +# Copyright 2023 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto generated by tools/codegen/core/gen_experiments.py + +"""Dictionary of tags to experiments so we know when to test different experiments.""" + +TEST_EXPERIMENTS = { + "windows": { + "dbg": { + }, + "off": { + "experiments_tag_test": [ + "test_experiment_1", + ], + }, + "on": { + }, + }, + "ios": { + "dbg": { + }, + "off": { + }, + "on": { + }, + }, + "posix": { + "dbg": { + }, + "off": { + }, + "on": { + "experiments_tag_test": [ + "test_experiment_1", + ], + }, + }, +} diff --git a/src/third_party/grpc/dist/bazel/update_mirror.sh b/src/third_party/grpc/dist/bazel/update_mirror.sh new file mode 100755 index 00000000000..0764874612a --- /dev/null +++ b/src/third_party/grpc/dist/bazel/update_mirror.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# Copyright 2020 The gRPC Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Script to upload github archives for bazel dependencies to GCS, creating a reliable mirror link. +# Archives are copied to "grpc-bazel-mirror" GCS bucket (https://console.cloud.google.com/storage/browser/grpc-bazel-mirror?project=grpc-testing) +# and will by downloadable with the https://storage.googleapis.com/grpc-bazel-mirror/ prefix. +# +# This script should be run each time bazel dependencies are updated. + +set -e + +cd $(dirname $0)/.. + +# Create a temp directory to hold the versioned tarball, +# and clean it up when the script exits. +tmpdir="$(mktemp -d)" +function cleanup { + rm -rf "$tmpdir" +} +trap cleanup EXIT + +function upload { + local file="$1" + + if gsutil stat "gs://grpc-bazel-mirror/${file}" > /dev/null + then + echo "Skipping ${file}" + else + echo "Downloading https://${file}" + curl -L --fail --output "${tmpdir}/archive" "https://${file}" + + echo "Uploading https://${file} to https://storage.googleapis.com/grpc-bazel-mirror/${file}" + gsutil cp "${tmpdir}/archive" "gs://grpc-bazel-mirror/${file}" + + rm -rf "${tmpdir}/archive" + fi +} + +# How to check that all mirror URLs work: +# 1. clean $HOME/.cache/bazel +# 2. bazel clean --expunge +# 3. bazel sync (failed downloads will print warnings) + +# A specific link can be upload manually by running e.g. +# upload "github.com/google/boringssl/archive/1c2769383f027befac5b75b6cedd25daf3bf4dcf.tar.gz" + +# bazel binaries used by the tools/bazel wrapper script +upload github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-linux-x86_64 +upload github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-darwin-x86_64 +upload github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-windows-x86_64.exe + +upload github.com/bazelbuild/bazel/releases/download/6.1.2/bazel-6.1.2-linux-x86_64 +upload github.com/bazelbuild/bazel/releases/download/6.1.2/bazel-6.1.2-darwin-x86_64 +upload github.com/bazelbuild/bazel/releases/download/6.1.2/bazel-6.1.2-windows-x86_64.exe + +upload github.com/bazelbuild/bazel/releases/download/6.3.2/bazel-6.3.2-linux-x86_64 +upload github.com/bazelbuild/bazel/releases/download/6.3.2/bazel-6.3.2-darwin-x86_64 +upload github.com/bazelbuild/bazel/releases/download/6.3.2/bazel-6.3.2-windows-x86_64.exe + +# Collect the github archives to mirror from grpc_deps.bzl +grep -o '"https://github.com/[^"]*"' bazel/grpc_deps.bzl | sed 's/^"https:\/\///' | sed 's/"$//' | while read -r line ; do + echo "Updating mirror for ${line}" + upload "${line}" +done diff --git a/src/third_party/grpc/dist/third_party/cares/cares.BUILD b/src/third_party/grpc/dist/third_party/cares/cares.BUILD new file mode 100644 index 00000000000..5a008ed5ae8 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/cares/cares.BUILD @@ -0,0 +1,250 @@ +load("@bazel_skylib//rules:copy_file.bzl", "copy_file") + +config_setting( + name = "darwin", + values = {"cpu": "darwin"}, +) + +config_setting( + name = "darwin_x86_64", + values = {"cpu": "darwin_x86_64"}, +) + +config_setting( + name = "darwin_arm64", + values = {"cpu": "darwin_arm64"}, +) + +config_setting( + name = "darwin_arm64e", + values = {"cpu": "darwin_arm64e"}, +) + +config_setting( + name = "windows", + values = {"cpu": "x64_windows"}, +) + +# Android is not officially supported through C++. +# This just helps with the build for now. +config_setting( + name = "android", + values = { + "crosstool_top": "//external:android/crosstool", + }, +) + +# iOS is not officially supported through C++. +# This just helps with the build for now. +config_setting( + name = "ios_x86_64", + values = {"cpu": "ios_x86_64"}, +) + +config_setting( + name = "ios_armv7", + values = {"cpu": "ios_armv7"}, +) + +config_setting( + name = "ios_armv7s", + values = {"cpu": "ios_armv7s"}, +) + +config_setting( + name = "ios_arm64", + values = {"cpu": "ios_arm64"}, +) + +config_setting( + name = "ios_sim_arm64", + values = {"cpu": "ios_sim_arm64"}, +) + +# The following architectures are found in +# https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/rules/apple/ApplePlatform.java +config_setting( + name = "tvos_x86_64", + values = {"cpu": "tvos_x86_64"}, +) + +config_setting( + name = "tvos_arm64", + values = {"cpu": "tvos_arm64"} +) + +config_setting( + name = "watchos_i386", + values = {"cpu": "watchos_i386"}, +) + +config_setting( + name = "watchos_x86_64", + values = {"cpu": "watchos_x86_64"} +) + +config_setting( + name = "watchos_armv7k", + values = {"cpu": "watchos_armv7k"}, +) + +config_setting( + name = "watchos_arm64_32", + values = {"cpu": "watchos_arm64_32"} +) + +config_setting( + name = "openbsd", + values = {"cpu": "openbsd"}, +) + +copy_file( + name = "ares_build_h", + src = "@com_github_grpc_grpc//third_party/cares:ares_build.h", + out = "ares_build.h", +) + +copy_file( + name = "ares_config_h", + src = select({ + ":ios_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":ios_armv7": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":ios_armv7s": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":ios_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":ios_sim_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":tvos_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":tvos_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":watchos_i386": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":watchos_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":watchos_armv7k": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":watchos_arm64_32": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":darwin": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":darwin_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":darwin_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":darwin_arm64e": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h", + ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h", + ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h", + ":openbsd": "@com_github_grpc_grpc//third_party/cares:config_openbsd/ares_config.h", + "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h", + }), + out = "ares_config.h", +) + +cc_library( + name = "ares", + srcs = [ + "src/lib/ares__read_line.c", + "src/lib/ares__get_hostent.c", + "src/lib/ares__close_sockets.c", + "src/lib/ares__timeval.c", + "src/lib/ares_gethostbyaddr.c", + "src/lib/ares_getenv.c", + "src/lib/ares_free_string.c", + "src/lib/ares_free_hostent.c", + "src/lib/ares_fds.c", + "src/lib/ares_expand_string.c", + "src/lib/ares_create_query.c", + "src/lib/ares_cancel.c", + "src/lib/ares_android.c", + "src/lib/ares_parse_txt_reply.c", + "src/lib/ares_parse_srv_reply.c", + "src/lib/ares_parse_soa_reply.c", + "src/lib/ares_parse_ptr_reply.c", + "src/lib/ares_parse_ns_reply.c", + "src/lib/ares_parse_naptr_reply.c", + "src/lib/ares_parse_mx_reply.c", + "src/lib/ares_parse_caa_reply.c", + "src/lib/ares_options.c", + "src/lib/ares_nowarn.c", + "src/lib/ares_mkquery.c", + "src/lib/ares_llist.c", + "src/lib/ares_getsock.c", + "src/lib/ares_getnameinfo.c", + "src/lib/bitncmp.c", + "src/lib/ares_writev.c", + "src/lib/ares_version.c", + "src/lib/ares_timeout.c", + "src/lib/ares_strerror.c", + "src/lib/ares_strcasecmp.c", + "src/lib/ares_search.c", + "src/lib/ares_platform.c", + "src/lib/windows_port.c", + "src/lib/inet_ntop.c", + "src/lib/ares__sortaddrinfo.c", + "src/lib/ares__readaddrinfo.c", + "src/lib/ares_parse_uri_reply.c", + "src/lib/ares__parse_into_addrinfo.c", + "src/lib/ares_parse_a_reply.c", + "src/lib/ares_parse_aaaa_reply.c", + "src/lib/ares_library_init.c", + "src/lib/ares_init.c", + "src/lib/ares_gethostbyname.c", + "src/lib/ares_getaddrinfo.c", + "src/lib/ares_freeaddrinfo.c", + "src/lib/ares_expand_name.c", + "src/lib/ares_destroy.c", + "src/lib/ares_data.c", + "src/lib/ares__addrinfo_localhost.c", + "src/lib/ares__addrinfo2hostent.c", + "src/lib/inet_net_pton.c", + "src/lib/ares_strsplit.c", + "src/lib/ares_strdup.c", + "src/lib/ares_send.c", + "src/lib/ares_rand.c", + "src/lib/ares_query.c", + "src/lib/ares_process.c", + ], + hdrs = [ + "ares_build.h", + "ares_config.h", + "include/ares_version.h", + "include/ares.h", + "include/ares_rules.h", + "include/ares_dns.h", + "include/ares_nameser.h", + "src/tools/ares_getopt.h", + "src/lib/ares_strsplit.h", + "src/lib/ares_android.h", + "src/lib/ares_private.h", + "src/lib/ares_llist.h", + "src/lib/ares_platform.h", + "src/lib/ares_ipv6.h", + "src/lib/config-dos.h", + "src/lib/bitncmp.h", + "src/lib/ares_strcasecmp.h", + "src/lib/setup_once.h", + "src/lib/ares_inet_net_pton.h", + "src/lib/ares_data.h", + "src/lib/ares_getenv.h", + "src/lib/config-win32.h", + "src/lib/ares_strdup.h", + "src/lib/ares_iphlpapi.h", + "src/lib/ares_setup.h", + "src/lib/ares_writev.h", + "src/lib/ares_nowarn.h", + ], + copts = [ + "-D_GNU_SOURCE", + "-D_HAS_EXCEPTIONS=0", + "-DHAVE_CONFIG_H", + ] + select({ + ":windows": [ + "-DNOMINMAX", + "-D_CRT_SECURE_NO_DEPRECATE", + "-D_CRT_NONSTDC_NO_DEPRECATE", + "-D_WIN32_WINNT=0x0600", + ], + "//conditions:default": [], + }), + defines = ["CARES_STATICLIB"], + includes = ["include", "."], + linkopts = select({ + ":windows": ["-defaultlib:ws2_32.lib"], + "//conditions:default": [], + }), + linkstatic = 1, + visibility = [ + "//visibility:public", + ], + alwayslink = 1, +) diff --git a/src/third_party/grpc/dist/third_party/constantly.BUILD b/src/third_party/grpc/dist/third_party/constantly.BUILD new file mode 100644 index 00000000000..f1f93cb79fc --- /dev/null +++ b/src/third_party/grpc/dist/third_party/constantly.BUILD @@ -0,0 +1,7 @@ +py_library( + name = "constantly", + srcs = glob(["constantly/*.py"]), + visibility = [ + "//visibility:public", + ], +) diff --git a/src/third_party/grpc/dist/third_party/cython.BUILD b/src/third_party/grpc/dist/third_party/cython.BUILD new file mode 100644 index 00000000000..ce9283e2a41 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/cython.BUILD @@ -0,0 +1,29 @@ +# Adapted with modifications from tensorflow/third_party/cython.BUILD + +py_library( + name="cython_lib", + srcs=glob( + ["Cython/**/*.py"], + exclude=[ + "**/Tests/*.py", + ], + ) + ["cython.py"], + data=glob([ + "Cython/**/*.pyx", + "Cython/Utility/*.*", + "Cython/Includes/**/*.pxd", + ]), + srcs_version="PY2AND3", + visibility=["//visibility:public"], +) + +# May not be named "cython", since that conflicts with Cython/ on OSX +py_binary( + name="cython_binary", + srcs=["cython.py"], + main="cython.py", + srcs_version="PY2AND3", + visibility=["//visibility:public"], + deps=["cython_lib"], +) + diff --git a/src/third_party/grpc/dist/third_party/enum34.BUILD b/src/third_party/grpc/dist/third_party/enum34.BUILD new file mode 100644 index 00000000000..3fc2b3de571 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/enum34.BUILD @@ -0,0 +1,6 @@ +py_library( + name = "enum34", + srcs = ["enum/__init__.py"], + srcs_version = "PY2AND3", + visibility = ["//visibility:public"], +) diff --git a/src/third_party/grpc/dist/third_party/futures.BUILD b/src/third_party/grpc/dist/third_party/futures.BUILD new file mode 100644 index 00000000000..c280e1edfd7 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/futures.BUILD @@ -0,0 +1,6 @@ +py_library( + name = "futures", + srcs = glob(["concurrent/**/*.py"]), + srcs_version = "PY2AND3", + visibility = ["//visibility:public"], +) diff --git a/src/third_party/grpc/dist/third_party/incremental.BUILD b/src/third_party/grpc/dist/third_party/incremental.BUILD new file mode 100644 index 00000000000..f2a06b49dc4 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/incremental.BUILD @@ -0,0 +1,10 @@ +py_library( + name = "incremental", + srcs = glob(["src/incremental/*.py"]), + imports = [ + "src", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/src/third_party/grpc/dist/third_party/libprotobuf_mutator.BUILD b/src/third_party/grpc/dist/third_party/libprotobuf_mutator.BUILD new file mode 100644 index 00000000000..107993ed4be --- /dev/null +++ b/src/third_party/grpc/dist/third_party/libprotobuf_mutator.BUILD @@ -0,0 +1,30 @@ +# Copyright 2021 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +licenses(["notice"]) + +cc_library( + name = "libprotobuf_mutator", + srcs = glob( + ["src/*.cc", "src/libfuzzer/*.cc"], + exclude = ["src/*_test.cc", "src/libfuzzer/*_test.cc"] + ), + hdrs = glob(["src/*.h", "port/*.h", "src/libfuzzer/*.h"]), + deps = [ + "@com_google_protobuf//:protobuf", + "@com_google_googletest//:gtest", + ], + visibility = ["//visibility:public"], + includes = ["."] +) diff --git a/src/third_party/grpc/dist/third_party/six.BUILD b/src/third_party/grpc/dist/third_party/six.BUILD new file mode 100644 index 00000000000..423082f23d2 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/six.BUILD @@ -0,0 +1,14 @@ +genrule( + name = "copy_six", + srcs = ["six-1.16.0/six.py"], + outs = ["__init__.py"], + cmd = "cp $< $(@)", +) + +py_library( + name = "six", + srcs = ["__init__.py"], + srcs_version = "PY2AND3", + visibility = ["//visibility:public"], +) + diff --git a/src/third_party/grpc/dist/third_party/twisted.BUILD b/src/third_party/grpc/dist/third_party/twisted.BUILD new file mode 100644 index 00000000000..5005c5a3f8c --- /dev/null +++ b/src/third_party/grpc/dist/third_party/twisted.BUILD @@ -0,0 +1,15 @@ +py_library( + name = "twisted", + srcs = glob(["src/twisted/**/*.py"]), + imports = [ + "src", + ], + visibility = [ + "//visibility:public", + ], + deps = [ + "@com_github_twisted_incremental//:incremental", + "@com_github_twisted_constantly//:constantly", + "@com_github_zopefoundation_zope_interface//:zope_interface", + ], +) diff --git a/src/third_party/grpc/dist/third_party/upb/bazel/lua.BUILD b/src/third_party/grpc/dist/third_party/upb/bazel/lua.BUILD new file mode 100644 index 00000000000..11755a4f734 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/upb/bazel/lua.BUILD @@ -0,0 +1,127 @@ +# Copyright (c) 2009-2021, Google LLC +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google LLC nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package( + default_visibility = ["//visibility:public"], +) + +cc_library( + name = "liblua_headers", + hdrs = [ + "src/lauxlib.h", + "src/lua.h", + "src/lua.hpp", + "src/luaconf.h", + "src/lualib.h", + ], + defines = ["LUA_USE_LINUX"], + includes = ["src"], +) + +cc_library( + name = "liblua", + srcs = [ + "src/lapi.c", + "src/lapi.h", + "src/lauxlib.c", + "src/lauxlib.h", + "src/lbaselib.c", + "src/lbitlib.c", + "src/lcode.c", + "src/lcode.h", + "src/lcorolib.c", + "src/lctype.c", + "src/lctype.h", + "src/ldblib.c", + "src/ldebug.c", + "src/ldebug.h", + "src/ldo.c", + "src/ldo.h", + "src/ldump.c", + "src/lfunc.c", + "src/lfunc.h", + "src/lgc.c", + "src/lgc.h", + "src/linit.c", + "src/liolib.c", + "src/llex.c", + "src/llex.h", + "src/llimits.h", + "src/lmathlib.c", + "src/lmem.c", + "src/lmem.h", + "src/loadlib.c", + "src/lobject.c", + "src/lobject.h", + "src/lopcodes.c", + "src/lopcodes.h", + "src/loslib.c", + "src/lparser.c", + "src/lparser.h", + "src/lstate.c", + "src/lstate.h", + "src/lstring.c", + "src/lstring.h", + "src/lstrlib.c", + "src/ltable.c", + "src/ltable.h", + "src/ltablib.c", + "src/ltm.c", + "src/ltm.h", + "src/lundump.c", + "src/lundump.h", + "src/lvm.c", + "src/lvm.h", + "src/lzio.c", + "src/lzio.h", + ], + hdrs = [ + "src/lauxlib.h", + "src/lua.h", + "src/lua.hpp", + "src/luaconf.h", + "src/lualib.h", + ], + defines = ["LUA_USE_LINUX"], + includes = ["src"], + linkopts = [ + "-lm", + "-ldl", + ], +) + +cc_binary( + name = "lua", + srcs = [ + "src/lua.c", + ], + linkopts = [ + "-lreadline", + "-rdynamic", + ], + deps = [ + ":liblua", + ], +) diff --git a/src/third_party/grpc/dist/third_party/yaml.BUILD b/src/third_party/grpc/dist/third_party/yaml.BUILD new file mode 100644 index 00000000000..f88854c5719 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/yaml.BUILD @@ -0,0 +1,10 @@ +py_library( + name = "yaml", + srcs = glob(["lib/yaml/*.py"]), + imports = [ + "lib", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/src/third_party/grpc/dist/third_party/zlib.BUILD b/src/third_party/grpc/dist/third_party/zlib.BUILD new file mode 100644 index 00000000000..95ae7c5a89c --- /dev/null +++ b/src/third_party/grpc/dist/third_party/zlib.BUILD @@ -0,0 +1,36 @@ +cc_library( + name = "zlib", + srcs = [ + "adler32.c", + "compress.c", + "crc32.c", + "deflate.c", + "infback.c", + "inffast.c", + "inflate.c", + "inftrees.c", + "trees.c", + "uncompr.c", + "zutil.c", + ], + hdrs = [ + "crc32.h", + "deflate.h", + "gzguts.h", + "inffast.h", + "inffixed.h", + "inflate.h", + "inftrees.h", + "trees.h", + "zconf.h", + "zlib.h", + "zutil.h", + ], + includes = [ + ".", + ], + linkstatic = 1, + visibility = [ + "//visibility:public", + ], +) diff --git a/src/third_party/grpc/dist/third_party/zope_interface.BUILD b/src/third_party/grpc/dist/third_party/zope_interface.BUILD new file mode 100644 index 00000000000..b7b8d1e6cf1 --- /dev/null +++ b/src/third_party/grpc/dist/third_party/zope_interface.BUILD @@ -0,0 +1,13 @@ +py_library( + name = "zope_interface", + srcs = glob([ + "src/zope/interface/*.py", + "src/zope/interface/common/*.py", + ]), + imports = [ + "src", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/src/third_party/grpc/dummy.cpp b/src/third_party/grpc/dummy.cpp new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/third_party/grpc/scripts/import.sh b/src/third_party/grpc/scripts/import.sh index fb44d105bc7..ae047422e18 100755 --- a/src/third_party/grpc/scripts/import.sh +++ b/src/third_party/grpc/scripts/import.sh @@ -16,10 +16,9 @@ if [[ -d $DEST_DIR/dist ]]; then exit 1 fi -git clone --branch $REVISION git@github.com:mongodb-forks/grpc.git $DEST_DIR/dist +git clone --branch $REVISION https://github.com/mongodb-forks/grpc.git $DEST_DIR/dist pushd $DEST_DIR/dist find . -mindepth 1 -maxdepth 1 -name ".*" -exec rm -rf {} \; -rm -rf bazel rm -rf cmake rm -rf doc rm -rf summerofcode @@ -40,7 +39,6 @@ rm -rf src/php rm -rf src/python rm -rf src/ruby -find . -type f -name "*.BUILD" -exec rm -rf {} \; find . -type f -name "*.podspec" -exec rm -rf {} \; find . -type f -name "*.gemspec" -exec rm -rf {} \; popd diff --git a/src/third_party/protobuf/BUILD.bazel b/src/third_party/protobuf/BUILD.bazel new file mode 100644 index 00000000000..485ed3a0f3d --- /dev/null +++ b/src/third_party/protobuf/BUILD.bazel @@ -0,0 +1,582 @@ +load("//bazel:mongo_src_rules.bzl", "mongo_cc_binary", "mongo_cc_library") + +package(default_visibility = ["//visibility:public"]) + +exports_files(glob(["*"])) + +GRPC_TARGET_COMPATIBLE_WITH = select({ + "//bazel/config:build_grpc_enabled": [], + "//conditions:default": ["@platforms//:incompatible"], +}) + +PROTOBUF_COPTS = [ + "-DHAVE_CONFIG_H", + "-DHAVE_ZLIB=1", + "-DPIC=1", +] + select({ + "//bazel/config:gcc_or_clang": [ + "-DHAVE_PTHREAD=1", + "-Wno-sign-compare", + "-Wno-overloaded-virtual", + "-Wno-implicit-fallthrough", + ], + "//bazel/config:compiler_type_msvc": [ + "/wd4018", # signed/unsigned mismatch + "/wd4065", # switch statement contains 'default' but no 'case' labels + "/wd4146", # unary minus operator applied to unsigned type, result still unsigned + "-D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING", + ], +}) + select({ + "//bazel/config:compiler_type_gcc": [ + "-Wno-stringop-overflow", + "-Wno-error=deprecated", + "-Wno-error=attributes", + ], + "//conditions:default": [], +}) + +PROTOBUF_HEADERS = [ + "dist/src/google/protobuf/arena.h", + "dist/src/google/protobuf/descriptor.h", + "dist/src/google/protobuf/message_lite.h", + "dist/src/google/protobuf/struct.pb.h", + "dist/src/google/protobuf/arena_test_util.h", + "dist/src/google/protobuf/arenastring.h", + "dist/src/google/protobuf/api.pb.h", + "dist/src/google/protobuf/map_test_util_impl.h", + "dist/src/google/protobuf/metadata.h", + "dist/src/google/protobuf/parse_context.h", + "dist/src/google/protobuf/reflection.h", + "dist/src/google/protobuf/compiler/rust/accessors/accessor_generator.h", + "dist/src/google/protobuf/compiler/rust/accessors/accessors.h", + "dist/src/google/protobuf/compiler/rust/context.h", + "dist/src/google/protobuf/compiler/rust/generator.h", + "dist/src/google/protobuf/compiler/rust/message.h", + "dist/src/google/protobuf/compiler/rust/naming.h", + "dist/src/google/protobuf/compiler/rust/oneof.h", + "dist/src/google/protobuf/compiler/rust/relative_path.h", + "dist/src/google/protobuf/compiler/versions_suffix.h", + "dist/src/google/protobuf/compiler/cpp/cpp_generator.h", + "dist/src/google/protobuf/compiler/cpp/enum.h", + "dist/src/google/protobuf/compiler/cpp/extension.h", + "dist/src/google/protobuf/compiler/cpp/field.h", + "dist/src/google/protobuf/compiler/cpp/field_generators/generators.h", + "dist/src/google/protobuf/compiler/cpp/file.h", + "dist/src/google/protobuf/compiler/cpp/generator.h", + "dist/src/google/protobuf/compiler/cpp/helpers.h", + "dist/src/google/protobuf/compiler/cpp/message.h", + "dist/src/google/protobuf/compiler/cpp/message_layout_helper.h", + "dist/src/google/protobuf/compiler/cpp/names.h", + "dist/src/google/protobuf/compiler/cpp/options.h", + "dist/src/google/protobuf/compiler/cpp/padding_optimizer.h", + "dist/src/google/protobuf/compiler/cpp/parse_function_generator.h", + "dist/src/google/protobuf/compiler/cpp/service.h", + "dist/src/google/protobuf/compiler/cpp/tracker.h", + "dist/src/google/protobuf/compiler/cpp/unittest.h", + "dist/src/google/protobuf/compiler/csharp/csharp_source_generator_base.h", + "dist/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h", + "dist/src/google/protobuf/compiler/csharp/csharp_doc_comment.h", + "dist/src/google/protobuf/compiler/csharp/csharp_enum.h", + "dist/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h", + "dist/src/google/protobuf/compiler/csharp/csharp_enum_field.h", + "dist/src/google/protobuf/compiler/csharp/csharp_field_base.h", + "dist/src/google/protobuf/compiler/csharp/csharp_generator.h", + "dist/src/google/protobuf/compiler/csharp/csharp_helpers.h", + "dist/src/google/protobuf/compiler/csharp/csharp_map_field.h", + "dist/src/google/protobuf/compiler/csharp/csharp_message.h", + "dist/src/google/protobuf/compiler/csharp/csharp_message_field.h", + "dist/src/google/protobuf/compiler/csharp/csharp_options.h", + "dist/src/google/protobuf/compiler/csharp/csharp_primitive_field.h", + "dist/src/google/protobuf/compiler/csharp/csharp_reflection_class.h", + "dist/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h", + "dist/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h", + "dist/src/google/protobuf/compiler/csharp/names.h", + "dist/src/google/protobuf/compiler/java/extension.h", + "dist/src/google/protobuf/compiler/java/extension_lite.h", + "dist/src/google/protobuf/compiler/java/field.h", + "dist/src/google/protobuf/compiler/java/generator.h", + "dist/src/google/protobuf/compiler/java/generator_factory.h", + "dist/src/google/protobuf/compiler/java/java_generator.h", + "dist/src/google/protobuf/compiler/java/kotlin_generator.h", + "dist/src/google/protobuf/compiler/java/map_field.h", + "dist/src/google/protobuf/compiler/java/message.h", + "dist/src/google/protobuf/compiler/java/message_builder.h", + "dist/src/google/protobuf/compiler/java/message_field_lite.h", + "dist/src/google/protobuf/compiler/java/message_lite.h", + "dist/src/google/protobuf/compiler/java/message_serialization.h", + "dist/src/google/protobuf/compiler/java/name_resolver.h", + "dist/src/google/protobuf/compiler/java/names.h", + "dist/src/google/protobuf/compiler/java/service.h", + "dist/src/google/protobuf/compiler/java/string_field_lite.h", + "dist/src/google/protobuf/compiler/java/context.h", + "dist/src/google/protobuf/compiler/java/doc_comment.h", + "dist/src/google/protobuf/compiler/java/enum.h", + "dist/src/google/protobuf/compiler/java/enum_field.h", + "dist/src/google/protobuf/compiler/java/enum_field_lite.h", + "dist/src/google/protobuf/compiler/java/enum_lite.h", + "dist/src/google/protobuf/compiler/java/file.h", + "dist/src/google/protobuf/compiler/java/helpers.h", + "dist/src/google/protobuf/compiler/java/java_features.pb.h", + "dist/src/google/protobuf/compiler/java/map_field_lite.h", + "dist/src/google/protobuf/compiler/java/message_builder_lite.h", + "dist/src/google/protobuf/compiler/java/message_field.h", + "dist/src/google/protobuf/compiler/java/options.h", + "dist/src/google/protobuf/compiler/java/primitive_field.h", + "dist/src/google/protobuf/compiler/java/primitive_field_lite.h", + "dist/src/google/protobuf/compiler/java/shared_code_generator.h", + "dist/src/google/protobuf/compiler/java/string_field.h", + "dist/src/google/protobuf/compiler/objectivec/enum.h", + "dist/src/google/protobuf/compiler/objectivec/enum_field.h", + "dist/src/google/protobuf/compiler/objectivec/extension.h", + "dist/src/google/protobuf/compiler/objectivec/field.h", + "dist/src/google/protobuf/compiler/objectivec/file.h", + "dist/src/google/protobuf/compiler/objectivec/generator.h", + "dist/src/google/protobuf/compiler/objectivec/helpers.h", + "dist/src/google/protobuf/compiler/objectivec/import_writer.h", + "dist/src/google/protobuf/compiler/objectivec/line_consumer.h", + "dist/src/google/protobuf/compiler/objectivec/map_field.h", + "dist/src/google/protobuf/compiler/objectivec/message.h", + "dist/src/google/protobuf/compiler/objectivec/message_field.h", + "dist/src/google/protobuf/compiler/objectivec/names.h", + "dist/src/google/protobuf/compiler/objectivec/nsobject_methods.h", + "dist/src/google/protobuf/compiler/objectivec/oneof.h", + "dist/src/google/protobuf/compiler/objectivec/options.h", + "dist/src/google/protobuf/compiler/objectivec/primitive_field.h", + "dist/src/google/protobuf/compiler/objectivec/text_format_decode_data.h", + "dist/src/google/protobuf/compiler/php/names.h", + "dist/src/google/protobuf/compiler/php/php_generator.h", + "dist/src/google/protobuf/compiler/python/generator.h", + "dist/src/google/protobuf/compiler/python/helpers.h", + "dist/src/google/protobuf/compiler/python/pyi_generator.h", + "dist/src/google/protobuf/compiler/python/python_generator.h", + "dist/src/google/protobuf/compiler/ruby/ruby_generator.h", + "dist/src/google/protobuf/compiler/package_info.h", + "dist/src/google/protobuf/compiler/scc.h", + "dist/src/google/protobuf/compiler/zip_writer.h", + "dist/src/google/protobuf/compiler/annotation_test_util.h", + "dist/src/google/protobuf/compiler/code_generator.h", + "dist/src/google/protobuf/compiler/command_line_interface.h", + "dist/src/google/protobuf/compiler/importer.h", + "dist/src/google/protobuf/compiler/mock_code_generator.h", + "dist/src/google/protobuf/compiler/parser.h", + "dist/src/google/protobuf/compiler/plugin.h", + "dist/src/google/protobuf/compiler/plugin.pb.h", + "dist/src/google/protobuf/compiler/subprocess.h", + "dist/src/google/protobuf/compiler/allowlists/allowlist.h", + "dist/src/google/protobuf/compiler/allowlists/allowlists.h", + "dist/src/google/protobuf/compiler/command_line_interface_tester.h", + "dist/src/google/protobuf/compiler/retention.h", + "dist/src/google/protobuf/compiler/versions.h", + "dist/src/google/protobuf/descriptor.pb.h", + "dist/src/google/protobuf/descriptor_database.h", + "dist/src/google/protobuf/duration.pb.h", + "dist/src/google/protobuf/dynamic_message.h", + "dist/src/google/protobuf/has_bits.h", + "dist/src/google/protobuf/map_field.h", + "dist/src/google/protobuf/explicitly_constructed.h", + "dist/src/google/protobuf/extension_set.h", + "dist/src/google/protobuf/extension_set_inl.h", + "dist/src/google/protobuf/field_access_listener.h", + "dist/src/google/protobuf/field_mask.pb.h", + "dist/src/google/protobuf/generated_enum_reflection.h", + "dist/src/google/protobuf/generated_enum_util.h", + "dist/src/google/protobuf/generated_message_bases.h", + "dist/src/google/protobuf/generated_message_reflection.h", + "dist/src/google/protobuf/map_field_inl.h", + "dist/src/google/protobuf/empty.pb.h", + "dist/src/google/protobuf/generated_message_tctable_decl.h", + "dist/src/google/protobuf/generated_message_tctable_impl.h", + "dist/src/google/protobuf/any.pb.h", + "dist/src/google/protobuf/implicit_weak_message.h", + "dist/src/google/protobuf/inlined_string_field.h", + "dist/src/google/protobuf/map.h", + "dist/src/google/protobuf/map_entry.h", + "dist/src/google/protobuf/any.h", + "dist/src/google/protobuf/generated_message_util.h", + "dist/src/google/protobuf/map_test_util.h", + "dist/src/google/protobuf/map_type_handler.h", + "dist/src/google/protobuf/metadata_lite.h", + "dist/src/google/protobuf/test_util.h", + "dist/src/google/protobuf/json/internal/descriptor_traits.h", + "dist/src/google/protobuf/json/internal/lexer.h", + "dist/src/google/protobuf/json/internal/message_path.h", + "dist/src/google/protobuf/json/internal/parser.h", + "dist/src/google/protobuf/json/internal/parser_traits.h", + "dist/src/google/protobuf/json/internal/unparser.h", + "dist/src/google/protobuf/json/internal/unparser_traits.h", + "dist/src/google/protobuf/json/internal/untyped_message.h", + "dist/src/google/protobuf/json/internal/writer.h", + "dist/src/google/protobuf/json/internal/zero_copy_buffered_stream.h", + "dist/src/google/protobuf/json/json.h", + "dist/src/google/protobuf/package_info.h", + "dist/src/google/protobuf/reflection_ops.h", + "dist/src/google/protobuf/service.h", + "dist/src/google/protobuf/test_util2.h", + "dist/src/google/protobuf/io/zero_copy_stream.h", + "dist/src/google/protobuf/io/zero_copy_stream_impl.h", + "dist/src/google/protobuf/io/zero_copy_stream_impl_lite.h", + "dist/src/google/protobuf/io/coded_stream.h", + "dist/src/google/protobuf/io/gzip_stream.h", + "dist/src/google/protobuf/io/io_win32.h", + "dist/src/google/protobuf/io/package_info.h", + "dist/src/google/protobuf/io/printer.h", + "dist/src/google/protobuf/io/strtod.h", + "dist/src/google/protobuf/io/test_zero_copy_stream.h", + "dist/src/google/protobuf/io/tokenizer.h", + "dist/src/google/protobuf/io/zero_copy_sink.h", + "dist/src/google/protobuf/map_field_lite.h", + "dist/src/google/protobuf/map_lite_test_util.h", + "dist/src/google/protobuf/message.h", + "dist/src/google/protobuf/port.h", + "dist/src/google/protobuf/type.pb.h", + "dist/src/google/protobuf/repeated_ptr_field.h", + "dist/src/google/protobuf/source_context.pb.h", + "dist/src/google/protobuf/string_member_robber.h", + "dist/src/google/protobuf/test_util_lite.h", + "dist/src/google/protobuf/text_format.h", + "dist/src/google/protobuf/timestamp.pb.h", + "dist/src/google/protobuf/arena_align.h", + "dist/src/google/protobuf/arena_cleanup.h", + "dist/src/google/protobuf/arenaz_sampler.h", + "dist/src/google/protobuf/cpp_features.pb.h", + "dist/src/google/protobuf/cpp_edition_defaults.h", + "dist/src/google/protobuf/feature_resolver.h", + "dist/src/google/protobuf/internal_message_util.h", + "dist/src/google/protobuf/reflection_tester.h", + "dist/src/google/protobuf/unknown_field_set.h", + "dist/src/google/protobuf/descriptor_legacy.h", + "dist/src/google/protobuf/internal_visibility.h", + "dist/src/google/protobuf/stubs/callback.h", + "dist/src/google/protobuf/stubs/common.h", + "dist/src/google/protobuf/stubs/platform_macros.h", + "dist/src/google/protobuf/stubs/port.h", + "dist/src/google/protobuf/stubs/status_macros.h", + "dist/src/google/protobuf/descriptor_visitor.h", + "dist/src/google/protobuf/generated_message_tctable_gen.h", + "dist/src/google/protobuf/testing/file.h", + "dist/src/google/protobuf/testing/googletest.h", + "dist/src/google/protobuf/wire_format.h", + "dist/src/google/protobuf/wire_format_lite.h", + "dist/src/google/protobuf/wrappers.pb.h", + "dist/src/google/protobuf/reflection_internal.h", + "dist/src/google/protobuf/arena_allocation_policy.h", + "dist/src/google/protobuf/endian.h", + "dist/src/google/protobuf/repeated_field.h", + "dist/src/google/protobuf/util/delimited_message_util.h", + "dist/src/google/protobuf/util/field_comparator.h", + "dist/src/google/protobuf/util/field_mask_util.h", + "dist/src/google/protobuf/util/json_util.h", + "dist/src/google/protobuf/util/message_differencer.h", + "dist/src/google/protobuf/util/package_info.h", + "dist/src/google/protobuf/util/time_util.h", + "dist/src/google/protobuf/util/type_resolver.h", + "dist/src/google/protobuf/util/type_resolver_util.h", + "dist/src/google/protobuf/internal_visibility_for_testing.h", + "dist/src/google/protobuf/raw_ptr.h", + "dist/src/google/protobuf/reflection_mode.h", + "dist/src/google/protobuf/serial_arena.h", + "dist/src/google/protobuf/string_block.h", + "dist/src/google/protobuf/test_textproto.h", + "dist/src/google/protobuf/thread_safe_arena.h", + "dist/src/google/protobuf/varint_shuffle.h", + "dist/src/google/protobuf/map_test.inc", + "dist/src/google/protobuf/message_unittest.inc", + "dist/src/google/protobuf/compiler/cpp/unittest.inc", + "dist/src/google/protobuf/port_def.inc", + "dist/src/google/protobuf/map_test_util.inc", + "dist/src/google/protobuf/port_undef.inc", + "dist/src/google/protobuf/test_util.inc", + "dist/src/google/protobuf/proto3_lite_unittest.inc", + "dist/src/google/protobuf/wire_format_unittest.inc", +] + +# TODO(aaronmondal): We might need to port this before merging. +# if protobuf_env.ToolchainIs('gcc', 'clang'): +# protobuf_env.Append( +# if debugBuild: +# protobuf_env.Append(CCFLAGS=['-Wno-error']) +# + +# TODO(aaronmondal): Seems to be unused/not required. Double-check before merge. +# # Passing this up to the main env +# env['PROTOC_DESCRIPTOR_PROTO'] = protobuf_env.File( +# "dist/src/google/protobuf/descriptor.proto").abspath + +mongo_cc_library( + name = "utf8_validity", + srcs = [ + "dist/third_party/utf8_range/utf8_validity.cc", + ], + hdrs = [ + "dist/third_party/utf8_range/utf8_validity.h", + ], + includes = ["dist/third_party/utf8_range"], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + "//src/third_party/abseil-cpp:absl_base", + "//src/third_party/abseil-cpp:absl_debugging_internal", + "//src/third_party/abseil-cpp:absl_die_if_null", + "//src/third_party/abseil-cpp:absl_flags", + "//src/third_party/abseil-cpp:absl_hash", + "//src/third_party/abseil-cpp:absl_log_initialize", + "//src/third_party/abseil-cpp:absl_log_internal_check_op", + "//src/third_party/abseil-cpp:absl_log_internal_message", + "//src/third_party/abseil-cpp:absl_log_severity", + "//src/third_party/abseil-cpp:absl_status", + "//src/third_party/abseil-cpp:absl_statusor", + "//src/third_party/abseil-cpp:absl_str_format_internal", + "//src/third_party/abseil-cpp:absl_strings", + "//src/third_party/abseil-cpp:absl_synchronization", + "//src/third_party/abseil-cpp:absl_time", + ], +) + +mongo_cc_library( + name = "protobuf", + srcs = [ + "dist/src/google/protobuf/any.cc", + "dist/src/google/protobuf/any.pb.cc", + "dist/src/google/protobuf/any_lite.cc", + "dist/src/google/protobuf/api.pb.cc", + "dist/src/google/protobuf/arena.cc", + "dist/src/google/protobuf/arena_align.cc", + "dist/src/google/protobuf/arenastring.cc", + "dist/src/google/protobuf/arenaz_sampler.cc", + "dist/src/google/protobuf/compiler/importer.cc", + "dist/src/google/protobuf/compiler/parser.cc", + "dist/src/google/protobuf/cpp_features.pb.cc", + "dist/src/google/protobuf/descriptor.cc", + "dist/src/google/protobuf/descriptor.pb.cc", + "dist/src/google/protobuf/descriptor_database.cc", + "dist/src/google/protobuf/duration.pb.cc", + "dist/src/google/protobuf/dynamic_message.cc", + "dist/src/google/protobuf/empty.pb.cc", + "dist/src/google/protobuf/extension_set.cc", + "dist/src/google/protobuf/extension_set_heavy.cc", + "dist/src/google/protobuf/feature_resolver.cc", + "dist/src/google/protobuf/field_mask.pb.cc", + "dist/src/google/protobuf/generated_enum_util.cc", + "dist/src/google/protobuf/generated_message_bases.cc", + "dist/src/google/protobuf/generated_message_reflection.cc", + "dist/src/google/protobuf/generated_message_tctable_full.cc", + "dist/src/google/protobuf/generated_message_tctable_gen.cc", + "dist/src/google/protobuf/generated_message_tctable_lite.cc", + "dist/src/google/protobuf/generated_message_util.cc", + "dist/src/google/protobuf/implicit_weak_message.cc", + "dist/src/google/protobuf/inlined_string_field.cc", + "dist/src/google/protobuf/internal_message_util.cc", + "dist/src/google/protobuf/io/coded_stream.cc", + "dist/src/google/protobuf/io/gzip_stream.cc", + "dist/src/google/protobuf/io/io_win32.cc", + "dist/src/google/protobuf/io/printer.cc", + "dist/src/google/protobuf/io/strtod.cc", + "dist/src/google/protobuf/io/tokenizer.cc", + "dist/src/google/protobuf/io/zero_copy_sink.cc", + "dist/src/google/protobuf/io/zero_copy_stream.cc", + "dist/src/google/protobuf/io/zero_copy_stream_impl.cc", + "dist/src/google/protobuf/io/zero_copy_stream_impl_lite.cc", + "dist/src/google/protobuf/json/internal/lexer.cc", + "dist/src/google/protobuf/json/internal/message_path.cc", + "dist/src/google/protobuf/json/internal/parser.cc", + "dist/src/google/protobuf/json/internal/unparser.cc", + "dist/src/google/protobuf/json/internal/untyped_message.cc", + "dist/src/google/protobuf/json/internal/writer.cc", + "dist/src/google/protobuf/json/internal/zero_copy_buffered_stream.cc", + "dist/src/google/protobuf/json/json.cc", + "dist/src/google/protobuf/map.cc", + "dist/src/google/protobuf/map_field.cc", + "dist/src/google/protobuf/message.cc", + "dist/src/google/protobuf/message_lite.cc", + "dist/src/google/protobuf/parse_context.cc", + "dist/src/google/protobuf/port.cc", + "dist/src/google/protobuf/raw_ptr.cc", + "dist/src/google/protobuf/reflection_mode.cc", + "dist/src/google/protobuf/reflection_ops.cc", + "dist/src/google/protobuf/repeated_field.cc", + "dist/src/google/protobuf/repeated_ptr_field.cc", + "dist/src/google/protobuf/service.cc", + "dist/src/google/protobuf/source_context.pb.cc", + "dist/src/google/protobuf/struct.pb.cc", + "dist/src/google/protobuf/stubs/common.cc", + "dist/src/google/protobuf/text_format.cc", + "dist/src/google/protobuf/timestamp.pb.cc", + "dist/src/google/protobuf/type.pb.cc", + "dist/src/google/protobuf/unknown_field_set.cc", + "dist/src/google/protobuf/util/delimited_message_util.cc", + "dist/src/google/protobuf/util/field_comparator.cc", + "dist/src/google/protobuf/util/field_mask_util.cc", + "dist/src/google/protobuf/util/message_differencer.cc", + "dist/src/google/protobuf/util/time_util.cc", + "dist/src/google/protobuf/util/type_resolver_util.cc", + "dist/src/google/protobuf/wire_format.cc", + "dist/src/google/protobuf/wire_format_lite.cc", + "dist/src/google/protobuf/wrappers.pb.cc", + ], + hdrs = PROTOBUF_HEADERS, + copts = PROTOBUF_COPTS, + includes = [ + "dist/src", + ], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + ":utf8_validity", + "//src/third_party/abseil-cpp:absl_base", + "//src/third_party/abseil-cpp:absl_debugging_internal", + "//src/third_party/abseil-cpp:absl_die_if_null", + "//src/third_party/abseil-cpp:absl_flags", + "//src/third_party/abseil-cpp:absl_hash", + "//src/third_party/abseil-cpp:absl_log_initialize", + "//src/third_party/abseil-cpp:absl_log_internal_check_op", + "//src/third_party/abseil-cpp:absl_log_internal_message", + "//src/third_party/abseil-cpp:absl_log_severity", + "//src/third_party/abseil-cpp:absl_status", + "//src/third_party/abseil-cpp:absl_statusor", + "//src/third_party/abseil-cpp:absl_str_format_internal", + "//src/third_party/abseil-cpp:absl_strings", + "//src/third_party/abseil-cpp:absl_synchronization", + "//src/third_party/abseil-cpp:absl_time", + "//src/third_party/zlib", + ], +) + +mongo_cc_library( + name = "protoc", + srcs = [ + "dist/src/google/protobuf/compiler/allowlists/editions.cc", + "dist/src/google/protobuf/compiler/allowlists/empty_package.cc", + "dist/src/google/protobuf/compiler/allowlists/open_enum.cc", + "dist/src/google/protobuf/compiler/allowlists/unused_imports.cc", + "dist/src/google/protobuf/compiler/allowlists/weak_imports.cc", + "dist/src/google/protobuf/compiler/code_generator.cc", + "dist/src/google/protobuf/compiler/command_line_interface.cc", + "dist/src/google/protobuf/compiler/cpp/enum.cc", + "dist/src/google/protobuf/compiler/cpp/extension.cc", + "dist/src/google/protobuf/compiler/cpp/field.cc", + "dist/src/google/protobuf/compiler/cpp/field_generators/cord_field.cc", + "dist/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc", + "dist/src/google/protobuf/compiler/cpp/field_generators/map_field.cc", + "dist/src/google/protobuf/compiler/cpp/field_generators/message_field.cc", + "dist/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc", + "dist/src/google/protobuf/compiler/cpp/field_generators/string_field.cc", + "dist/src/google/protobuf/compiler/cpp/file.cc", + "dist/src/google/protobuf/compiler/cpp/generator.cc", + "dist/src/google/protobuf/compiler/cpp/helpers.cc", + "dist/src/google/protobuf/compiler/cpp/message.cc", + "dist/src/google/protobuf/compiler/cpp/padding_optimizer.cc", + "dist/src/google/protobuf/compiler/cpp/parse_function_generator.cc", + "dist/src/google/protobuf/compiler/cpp/service.cc", + "dist/src/google/protobuf/compiler/cpp/tracker.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_enum.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_enum_field.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_field_base.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_generator.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_helpers.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_map_field.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_message.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_message_field.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc", + "dist/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc", + "dist/src/google/protobuf/compiler/csharp/names.cc", + "dist/src/google/protobuf/compiler/java/context.cc", + "dist/src/google/protobuf/compiler/java/doc_comment.cc", + "dist/src/google/protobuf/compiler/java/enum.cc", + "dist/src/google/protobuf/compiler/java/enum_field.cc", + "dist/src/google/protobuf/compiler/java/enum_field_lite.cc", + "dist/src/google/protobuf/compiler/java/enum_lite.cc", + "dist/src/google/protobuf/compiler/java/extension.cc", + "dist/src/google/protobuf/compiler/java/extension_lite.cc", + "dist/src/google/protobuf/compiler/java/field.cc", + "dist/src/google/protobuf/compiler/java/file.cc", + "dist/src/google/protobuf/compiler/java/generator.cc", + "dist/src/google/protobuf/compiler/java/generator_factory.cc", + "dist/src/google/protobuf/compiler/java/helpers.cc", + "dist/src/google/protobuf/compiler/java/java_features.pb.cc", + "dist/src/google/protobuf/compiler/java/kotlin_generator.cc", + "dist/src/google/protobuf/compiler/java/map_field.cc", + "dist/src/google/protobuf/compiler/java/map_field_lite.cc", + "dist/src/google/protobuf/compiler/java/message.cc", + "dist/src/google/protobuf/compiler/java/message_builder.cc", + "dist/src/google/protobuf/compiler/java/message_builder_lite.cc", + "dist/src/google/protobuf/compiler/java/message_field.cc", + "dist/src/google/protobuf/compiler/java/message_field_lite.cc", + "dist/src/google/protobuf/compiler/java/message_lite.cc", + "dist/src/google/protobuf/compiler/java/message_serialization.cc", + "dist/src/google/protobuf/compiler/java/name_resolver.cc", + "dist/src/google/protobuf/compiler/java/names.cc", + "dist/src/google/protobuf/compiler/java/primitive_field.cc", + "dist/src/google/protobuf/compiler/java/primitive_field_lite.cc", + "dist/src/google/protobuf/compiler/java/service.cc", + "dist/src/google/protobuf/compiler/java/shared_code_generator.cc", + "dist/src/google/protobuf/compiler/java/string_field.cc", + "dist/src/google/protobuf/compiler/java/string_field_lite.cc", + "dist/src/google/protobuf/compiler/objectivec/enum.cc", + "dist/src/google/protobuf/compiler/objectivec/enum_field.cc", + "dist/src/google/protobuf/compiler/objectivec/extension.cc", + "dist/src/google/protobuf/compiler/objectivec/field.cc", + "dist/src/google/protobuf/compiler/objectivec/file.cc", + "dist/src/google/protobuf/compiler/objectivec/generator.cc", + "dist/src/google/protobuf/compiler/objectivec/helpers.cc", + "dist/src/google/protobuf/compiler/objectivec/import_writer.cc", + "dist/src/google/protobuf/compiler/objectivec/line_consumer.cc", + "dist/src/google/protobuf/compiler/objectivec/map_field.cc", + "dist/src/google/protobuf/compiler/objectivec/message.cc", + "dist/src/google/protobuf/compiler/objectivec/message_field.cc", + "dist/src/google/protobuf/compiler/objectivec/names.cc", + "dist/src/google/protobuf/compiler/objectivec/oneof.cc", + "dist/src/google/protobuf/compiler/objectivec/primitive_field.cc", + "dist/src/google/protobuf/compiler/objectivec/text_format_decode_data.cc", + "dist/src/google/protobuf/compiler/php/names.cc", + "dist/src/google/protobuf/compiler/php/php_generator.cc", + "dist/src/google/protobuf/compiler/plugin.cc", + "dist/src/google/protobuf/compiler/plugin.pb.cc", + "dist/src/google/protobuf/compiler/python/generator.cc", + "dist/src/google/protobuf/compiler/python/helpers.cc", + "dist/src/google/protobuf/compiler/python/pyi_generator.cc", + "dist/src/google/protobuf/compiler/retention.cc", + "dist/src/google/protobuf/compiler/ruby/ruby_generator.cc", + "dist/src/google/protobuf/compiler/rust/accessors/accessors.cc", + "dist/src/google/protobuf/compiler/rust/accessors/singular_message.cc", + "dist/src/google/protobuf/compiler/rust/accessors/singular_scalar.cc", + "dist/src/google/protobuf/compiler/rust/accessors/singular_string.cc", + "dist/src/google/protobuf/compiler/rust/accessors/unsupported_field.cc", + "dist/src/google/protobuf/compiler/rust/context.cc", + "dist/src/google/protobuf/compiler/rust/generator.cc", + "dist/src/google/protobuf/compiler/rust/message.cc", + "dist/src/google/protobuf/compiler/rust/naming.cc", + "dist/src/google/protobuf/compiler/rust/oneof.cc", + "dist/src/google/protobuf/compiler/rust/relative_path.cc", + "dist/src/google/protobuf/compiler/subprocess.cc", + "dist/src/google/protobuf/compiler/zip_writer.cc", + ], + hdrs = PROTOBUF_HEADERS, + copts = PROTOBUF_COPTS, + includes = [ + "dist/src", + ], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + "protobuf", + "//src/third_party/abseil-cpp:absl_base", + "//src/third_party/abseil-cpp:absl_strings", + ], +) + +mongo_cc_binary( + name = "protobuf_compiler", + srcs = ["dist/src/google/protobuf/compiler/main.cc"] + PROTOBUF_HEADERS, + copts = PROTOBUF_COPTS, + includes = [ + "dist/src", + ], + target_compatible_with = GRPC_TARGET_COMPATIBLE_WITH, + deps = [ + "protobuf", + "protoc", + ], +) diff --git a/src/third_party/protobuf/SConscript b/src/third_party/protobuf/SConscript index 3ecc2875b98..c6408db8063 100644 --- a/src/third_party/protobuf/SConscript +++ b/src/third_party/protobuf/SConscript @@ -52,260 +52,12 @@ protobuf_env.Append(CPPPATH=[ protobuf_root.Dir("dist/src"), ], ) +protobuf_env.BazelProgram( + target="protobuf_compiler", + source=[], + LIBDEPS=[], +) + # Passing this up to the main env env['PROTOC_DESCRIPTOR_PROTO'] = protobuf_env.File( "dist/src/google/protobuf/descriptor.proto").abspath - -utf8_validity_env = protobuf_env.Clone() -utf8_validity_env.Append(CPPPATH=[ - protobuf_root.Dir('dist/third_party/utf8_range'), -], ) - -utf8_validity_env.Library( - target='utf8_validity', - source=[ - "dist/third_party/utf8_range/utf8_validity.cc", - ], -) - -protobuf_env.Append(CPPPATH=[ - protobuf_root.Dir('dist/third_party/utf8_range'), -]) - -protobuf_env.Library( - target='protobuf', - source=[ - "dist/src/google/protobuf/any.cc", - "dist/src/google/protobuf/any.pb.cc", - "dist/src/google/protobuf/any_lite.cc", - "dist/src/google/protobuf/api.pb.cc", - "dist/src/google/protobuf/arena.cc", - "dist/src/google/protobuf/arena_align.cc", - "dist/src/google/protobuf/arenastring.cc", - "dist/src/google/protobuf/arenaz_sampler.cc", - "dist/src/google/protobuf/compiler/importer.cc", - "dist/src/google/protobuf/compiler/parser.cc", - "dist/src/google/protobuf/cpp_features.pb.cc", - "dist/src/google/protobuf/descriptor.cc", - "dist/src/google/protobuf/descriptor.pb.cc", - "dist/src/google/protobuf/descriptor_database.cc", - "dist/src/google/protobuf/duration.pb.cc", - "dist/src/google/protobuf/dynamic_message.cc", - "dist/src/google/protobuf/empty.pb.cc", - "dist/src/google/protobuf/extension_set.cc", - "dist/src/google/protobuf/extension_set_heavy.cc", - "dist/src/google/protobuf/feature_resolver.cc", - "dist/src/google/protobuf/field_mask.pb.cc", - "dist/src/google/protobuf/generated_enum_util.cc", - "dist/src/google/protobuf/generated_message_bases.cc", - "dist/src/google/protobuf/generated_message_reflection.cc", - "dist/src/google/protobuf/generated_message_tctable_full.cc", - "dist/src/google/protobuf/generated_message_tctable_gen.cc", - "dist/src/google/protobuf/generated_message_tctable_lite.cc", - "dist/src/google/protobuf/generated_message_util.cc", - "dist/src/google/protobuf/implicit_weak_message.cc", - "dist/src/google/protobuf/inlined_string_field.cc", - "dist/src/google/protobuf/internal_message_util.cc", - "dist/src/google/protobuf/io/coded_stream.cc", - "dist/src/google/protobuf/io/gzip_stream.cc", - "dist/src/google/protobuf/io/io_win32.cc", - "dist/src/google/protobuf/io/printer.cc", - "dist/src/google/protobuf/io/strtod.cc", - "dist/src/google/protobuf/io/tokenizer.cc", - "dist/src/google/protobuf/io/zero_copy_sink.cc", - "dist/src/google/protobuf/io/zero_copy_stream.cc", - "dist/src/google/protobuf/io/zero_copy_stream_impl.cc", - "dist/src/google/protobuf/io/zero_copy_stream_impl_lite.cc", - "dist/src/google/protobuf/json/internal/lexer.cc", - "dist/src/google/protobuf/json/internal/message_path.cc", - "dist/src/google/protobuf/json/internal/parser.cc", - "dist/src/google/protobuf/json/internal/unparser.cc", - "dist/src/google/protobuf/json/internal/untyped_message.cc", - "dist/src/google/protobuf/json/internal/writer.cc", - "dist/src/google/protobuf/json/internal/zero_copy_buffered_stream.cc", - "dist/src/google/protobuf/json/json.cc", - "dist/src/google/protobuf/map.cc", - "dist/src/google/protobuf/map_field.cc", - "dist/src/google/protobuf/message.cc", - "dist/src/google/protobuf/message_lite.cc", - "dist/src/google/protobuf/parse_context.cc", - "dist/src/google/protobuf/port.cc", - "dist/src/google/protobuf/raw_ptr.cc", - "dist/src/google/protobuf/reflection_mode.cc", - "dist/src/google/protobuf/reflection_ops.cc", - "dist/src/google/protobuf/repeated_field.cc", - "dist/src/google/protobuf/repeated_ptr_field.cc", - "dist/src/google/protobuf/service.cc", - "dist/src/google/protobuf/source_context.pb.cc", - "dist/src/google/protobuf/struct.pb.cc", - "dist/src/google/protobuf/stubs/common.cc", - "dist/src/google/protobuf/text_format.cc", - "dist/src/google/protobuf/timestamp.pb.cc", - "dist/src/google/protobuf/type.pb.cc", - "dist/src/google/protobuf/unknown_field_set.cc", - "dist/src/google/protobuf/util/delimited_message_util.cc", - "dist/src/google/protobuf/util/field_comparator.cc", - "dist/src/google/protobuf/util/field_mask_util.cc", - "dist/src/google/protobuf/util/message_differencer.cc", - "dist/src/google/protobuf/util/time_util.cc", - "dist/src/google/protobuf/util/type_resolver_util.cc", - "dist/src/google/protobuf/wire_format.cc", - "dist/src/google/protobuf/wire_format_lite.cc", - "dist/src/google/protobuf/wrappers.pb.cc", - ], - LIBDEPS=[ - '$BUILD_DIR/third_party/abseil-cpp/absl_base', - '$BUILD_DIR/third_party/abseil-cpp/absl_debugging_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_die_if_null', - '$BUILD_DIR/third_party/abseil-cpp/absl_flags', - '$BUILD_DIR/third_party/abseil-cpp/absl_hash', - '$BUILD_DIR/third_party/abseil-cpp/absl_log_initialize', - '$BUILD_DIR/third_party/abseil-cpp/absl_log_internal_check_op', - '$BUILD_DIR/third_party/abseil-cpp/absl_log_internal_message', - '$BUILD_DIR/third_party/abseil-cpp/absl_log_severity', - '$BUILD_DIR/third_party/abseil-cpp/absl_status', - '$BUILD_DIR/third_party/abseil-cpp/absl_statusor', - '$BUILD_DIR/third_party/abseil-cpp/absl_str_format_internal', - '$BUILD_DIR/third_party/abseil-cpp/absl_strings', - '$BUILD_DIR/third_party/abseil-cpp/absl_synchronization', - '$BUILD_DIR/third_party/abseil-cpp/absl_time', - '$BUILD_DIR/third_party/zlib/zlib', - 'utf8_validity', - ], -) - -protobuf_env.Library( - target='protoc', - source=[ - "dist/src/google/protobuf/compiler/allowlists/editions.cc", - "dist/src/google/protobuf/compiler/allowlists/empty_package.cc", - "dist/src/google/protobuf/compiler/allowlists/open_enum.cc", - "dist/src/google/protobuf/compiler/allowlists/unused_imports.cc", - "dist/src/google/protobuf/compiler/allowlists/weak_imports.cc", - "dist/src/google/protobuf/compiler/code_generator.cc", - "dist/src/google/protobuf/compiler/command_line_interface.cc", - "dist/src/google/protobuf/compiler/cpp/enum.cc", - "dist/src/google/protobuf/compiler/cpp/extension.cc", - "dist/src/google/protobuf/compiler/cpp/field.cc", - "dist/src/google/protobuf/compiler/cpp/field_generators/cord_field.cc", - "dist/src/google/protobuf/compiler/cpp/field_generators/enum_field.cc", - "dist/src/google/protobuf/compiler/cpp/field_generators/map_field.cc", - "dist/src/google/protobuf/compiler/cpp/field_generators/message_field.cc", - "dist/src/google/protobuf/compiler/cpp/field_generators/primitive_field.cc", - "dist/src/google/protobuf/compiler/cpp/field_generators/string_field.cc", - "dist/src/google/protobuf/compiler/cpp/file.cc", - "dist/src/google/protobuf/compiler/cpp/generator.cc", - "dist/src/google/protobuf/compiler/cpp/helpers.cc", - "dist/src/google/protobuf/compiler/cpp/message.cc", - "dist/src/google/protobuf/compiler/cpp/padding_optimizer.cc", - "dist/src/google/protobuf/compiler/cpp/parse_function_generator.cc", - "dist/src/google/protobuf/compiler/cpp/service.cc", - "dist/src/google/protobuf/compiler/cpp/tracker.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_enum.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_enum_field.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_field_base.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_generator.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_helpers.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_map_field.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_message.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_message_field.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc", - "dist/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc", - "dist/src/google/protobuf/compiler/csharp/names.cc", - "dist/src/google/protobuf/compiler/java/context.cc", - "dist/src/google/protobuf/compiler/java/doc_comment.cc", - "dist/src/google/protobuf/compiler/java/enum.cc", - "dist/src/google/protobuf/compiler/java/enum_field.cc", - "dist/src/google/protobuf/compiler/java/enum_field_lite.cc", - "dist/src/google/protobuf/compiler/java/enum_lite.cc", - "dist/src/google/protobuf/compiler/java/extension.cc", - "dist/src/google/protobuf/compiler/java/extension_lite.cc", - "dist/src/google/protobuf/compiler/java/field.cc", - "dist/src/google/protobuf/compiler/java/file.cc", - "dist/src/google/protobuf/compiler/java/generator.cc", - "dist/src/google/protobuf/compiler/java/generator_factory.cc", - "dist/src/google/protobuf/compiler/java/helpers.cc", - "dist/src/google/protobuf/compiler/java/java_features.pb.cc", - "dist/src/google/protobuf/compiler/java/kotlin_generator.cc", - "dist/src/google/protobuf/compiler/java/map_field.cc", - "dist/src/google/protobuf/compiler/java/map_field_lite.cc", - "dist/src/google/protobuf/compiler/java/message.cc", - "dist/src/google/protobuf/compiler/java/message_builder.cc", - "dist/src/google/protobuf/compiler/java/message_builder_lite.cc", - "dist/src/google/protobuf/compiler/java/message_field.cc", - "dist/src/google/protobuf/compiler/java/message_field_lite.cc", - "dist/src/google/protobuf/compiler/java/message_lite.cc", - "dist/src/google/protobuf/compiler/java/message_serialization.cc", - "dist/src/google/protobuf/compiler/java/name_resolver.cc", - "dist/src/google/protobuf/compiler/java/names.cc", - "dist/src/google/protobuf/compiler/java/primitive_field.cc", - "dist/src/google/protobuf/compiler/java/primitive_field_lite.cc", - "dist/src/google/protobuf/compiler/java/service.cc", - "dist/src/google/protobuf/compiler/java/shared_code_generator.cc", - "dist/src/google/protobuf/compiler/java/string_field.cc", - "dist/src/google/protobuf/compiler/java/string_field_lite.cc", - "dist/src/google/protobuf/compiler/objectivec/enum.cc", - "dist/src/google/protobuf/compiler/objectivec/enum_field.cc", - "dist/src/google/protobuf/compiler/objectivec/extension.cc", - "dist/src/google/protobuf/compiler/objectivec/field.cc", - "dist/src/google/protobuf/compiler/objectivec/file.cc", - "dist/src/google/protobuf/compiler/objectivec/generator.cc", - "dist/src/google/protobuf/compiler/objectivec/helpers.cc", - "dist/src/google/protobuf/compiler/objectivec/import_writer.cc", - "dist/src/google/protobuf/compiler/objectivec/line_consumer.cc", - "dist/src/google/protobuf/compiler/objectivec/map_field.cc", - "dist/src/google/protobuf/compiler/objectivec/message.cc", - "dist/src/google/protobuf/compiler/objectivec/message_field.cc", - "dist/src/google/protobuf/compiler/objectivec/names.cc", - "dist/src/google/protobuf/compiler/objectivec/oneof.cc", - "dist/src/google/protobuf/compiler/objectivec/primitive_field.cc", - "dist/src/google/protobuf/compiler/objectivec/text_format_decode_data.cc", - "dist/src/google/protobuf/compiler/php/names.cc", - "dist/src/google/protobuf/compiler/php/php_generator.cc", - "dist/src/google/protobuf/compiler/plugin.cc", - "dist/src/google/protobuf/compiler/plugin.pb.cc", - "dist/src/google/protobuf/compiler/python/generator.cc", - "dist/src/google/protobuf/compiler/python/helpers.cc", - "dist/src/google/protobuf/compiler/python/pyi_generator.cc", - "dist/src/google/protobuf/compiler/retention.cc", - "dist/src/google/protobuf/compiler/ruby/ruby_generator.cc", - "dist/src/google/protobuf/compiler/rust/accessors/accessors.cc", - "dist/src/google/protobuf/compiler/rust/accessors/singular_message.cc", - "dist/src/google/protobuf/compiler/rust/accessors/singular_scalar.cc", - "dist/src/google/protobuf/compiler/rust/accessors/singular_string.cc", - "dist/src/google/protobuf/compiler/rust/accessors/unsupported_field.cc", - "dist/src/google/protobuf/compiler/rust/context.cc", - "dist/src/google/protobuf/compiler/rust/generator.cc", - "dist/src/google/protobuf/compiler/rust/message.cc", - "dist/src/google/protobuf/compiler/rust/naming.cc", - "dist/src/google/protobuf/compiler/rust/oneof.cc", - "dist/src/google/protobuf/compiler/rust/relative_path.cc", - "dist/src/google/protobuf/compiler/subprocess.cc", - "dist/src/google/protobuf/compiler/zip_writer.cc", - ], - LIBDEPS=[ - '$BUILD_DIR/third_party/abseil-cpp/absl_base', - '$BUILD_DIR/third_party/abseil-cpp/absl_strings', - 'protobuf', - ], -) - -protobuf_compiler = protobuf_env.Program( - target='protobuf_compiler', - source=['dist/src/google/protobuf/compiler/main.cc'], - LIBDEPS=[ - 'protobuf', - 'protoc', - ], - AIB_COMPONENT='protobuf', -) - -installed = env.GetAutoInstalledFiles(protobuf_compiler[0]) -if installed: - setattr(installed[0].attributes, 'AIB_NO_ARCHIVE', True) diff --git a/src/third_party/protobuf/scripts/import.sh b/src/third_party/protobuf/scripts/import.sh index 340c2192951..1fa44ee0f10 100755 --- a/src/third_party/protobuf/scripts/import.sh +++ b/src/third_party/protobuf/scripts/import.sh @@ -16,7 +16,7 @@ if [[ -d $DEST_DIR/dist ]]; then exit 1 fi -git clone --branch $REVISION git@github.com:mongodb-forks/protobuf.git $DEST_DIR/dist +git clone --branch $REVISION https://github.com/mongodb-forks/protobuf.git $DEST_DIR/dist pushd $DEST_DIR/dist rm -rf benchmarks rm -rf cmake