1*1b3f573fSAndroid Build Coastguard Worker# Bazel (https://bazel.build/) BUILD file for Protobuf. 2*1b3f573fSAndroid Build Coastguard Worker 3*1b3f573fSAndroid Build Coastguard Workerload("@bazel_skylib//rules:common_settings.bzl", "string_flag") 4*1b3f573fSAndroid Build Coastguard Workerload("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") 5*1b3f573fSAndroid Build Coastguard Workerload("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") 6*1b3f573fSAndroid Build Coastguard Workerload("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library") 7*1b3f573fSAndroid Build Coastguard Workerload("@rules_python//python:defs.bzl", "py_library") 8*1b3f573fSAndroid Build Coastguard Workerload("@rules_java//java:defs.bzl", "java_binary", "java_lite_proto_library", "java_proto_library") 9*1b3f573fSAndroid Build Coastguard Workerload("//build_defs:cpp_opts.bzl", "COPTS", "LINK_OPTS", "PROTOC_LINK_OPTS") 10*1b3f573fSAndroid Build Coastguard Workerload( 11*1b3f573fSAndroid Build Coastguard Worker ":protobuf.bzl", 12*1b3f573fSAndroid Build Coastguard Worker "adapt_proto_library", 13*1b3f573fSAndroid Build Coastguard Worker "cc_proto_library", 14*1b3f573fSAndroid Build Coastguard Worker "internal_copied_filegroup", 15*1b3f573fSAndroid Build Coastguard Worker "internal_protobuf_py_tests", 16*1b3f573fSAndroid Build Coastguard Worker "py_proto_library", 17*1b3f573fSAndroid Build Coastguard Worker) 18*1b3f573fSAndroid Build Coastguard Worker 19*1b3f573fSAndroid Build Coastguard Workerlicenses(["notice"]) 20*1b3f573fSAndroid Build Coastguard Worker 21*1b3f573fSAndroid Build Coastguard Workerexports_files(["LICENSE"]) 22*1b3f573fSAndroid Build Coastguard Worker 23*1b3f573fSAndroid Build Coastguard Worker################################################################################ 24*1b3f573fSAndroid Build Coastguard Worker# Protobuf Runtime Library 25*1b3f573fSAndroid Build Coastguard Worker################################################################################ 26*1b3f573fSAndroid Build Coastguard Worker 27*1b3f573fSAndroid Build Coastguard Workercc_library( 28*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_lite", 29*1b3f573fSAndroid Build Coastguard Worker srcs = [ 30*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(protobuf_lite_srcs) 31*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/any_lite.cc", 32*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/arena.cc", 33*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/arenastring.cc", 34*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/arenaz_sampler.cc", 35*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/extension_set.cc", 36*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_enum_util.cc", 37*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_message_tctable_lite.cc", 38*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_message_util.cc", 39*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/implicit_weak_message.cc", 40*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/inlined_string_field.cc", 41*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/coded_stream.cc", 42*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/io_win32.cc", 43*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/strtod.cc", 44*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/zero_copy_stream.cc", 45*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/zero_copy_stream_impl.cc", 46*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/zero_copy_stream_impl_lite.cc", 47*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map.cc", 48*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/message_lite.cc", 49*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/parse_context.cc", 50*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/repeated_field.cc", 51*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/repeated_ptr_field.cc", 52*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/bytestream.cc", 53*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/common.cc", 54*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/int128.cc", 55*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/status.cc", 56*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/statusor.cc", 57*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/stringpiece.cc", 58*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/stringprintf.cc", 59*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/structurally_valid.cc", 60*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/strutil.cc", 61*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/time.cc", 62*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wire_format_lite.cc", 63*1b3f573fSAndroid Build Coastguard Worker ], 64*1b3f573fSAndroid Build Coastguard Worker hdrs = glob([ 65*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/**/*.h", 66*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/**/*.inc", 67*1b3f573fSAndroid Build Coastguard Worker ]), 68*1b3f573fSAndroid Build Coastguard Worker copts = COPTS, 69*1b3f573fSAndroid Build Coastguard Worker includes = ["src/"], 70*1b3f573fSAndroid Build Coastguard Worker linkopts = LINK_OPTS, 71*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 72*1b3f573fSAndroid Build Coastguard Worker) 73*1b3f573fSAndroid Build Coastguard Worker 74*1b3f573fSAndroid Build Coastguard Workercc_library( 75*1b3f573fSAndroid Build Coastguard Worker name = "protobuf", 76*1b3f573fSAndroid Build Coastguard Worker srcs = [ 77*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(protobuf_srcs) 78*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/any.cc", 79*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/any.pb.cc", 80*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/api.pb.cc", 81*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/importer.cc", 82*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/parser.cc", 83*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor.cc", 84*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor.pb.cc", 85*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor_database.cc", 86*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/duration.pb.cc", 87*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/dynamic_message.cc", 88*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/empty.pb.cc", 89*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/extension_set_heavy.cc", 90*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/field_mask.pb.cc", 91*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_message_bases.cc", 92*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_message_reflection.cc", 93*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_message_tctable_full.cc", 94*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/gzip_stream.cc", 95*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/printer.cc", 96*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/tokenizer.cc", 97*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_field.cc", 98*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/message.cc", 99*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/reflection_ops.cc", 100*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/service.cc", 101*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/source_context.pb.cc", 102*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/struct.pb.cc", 103*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/substitute.cc", 104*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/text_format.cc", 105*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/timestamp.pb.cc", 106*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/type.pb.cc", 107*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unknown_field_set.cc", 108*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/delimited_message_util.cc", 109*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/field_comparator.cc", 110*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/field_mask_util.cc", 111*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/datapiece.cc", 112*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/default_value_objectwriter.cc", 113*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/error_listener.cc", 114*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/field_mask_utility.cc", 115*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/json_escaping.cc", 116*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/json_objectwriter.cc", 117*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/json_stream_parser.cc", 118*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/object_writer.cc", 119*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/proto_writer.cc", 120*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/protostream_objectsource.cc", 121*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/protostream_objectwriter.cc", 122*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/type_info.cc", 123*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/utility.cc", 124*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/json_util.cc", 125*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/message_differencer.cc", 126*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/time_util.cc", 127*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/type_resolver_util.cc", 128*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wire_format.cc", 129*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wrappers.pb.cc", 130*1b3f573fSAndroid Build Coastguard Worker ], 131*1b3f573fSAndroid Build Coastguard Worker hdrs = glob([ 132*1b3f573fSAndroid Build Coastguard Worker "src/**/*.h", 133*1b3f573fSAndroid Build Coastguard Worker "src/**/*.inc", 134*1b3f573fSAndroid Build Coastguard Worker ]), 135*1b3f573fSAndroid Build Coastguard Worker copts = COPTS, 136*1b3f573fSAndroid Build Coastguard Worker includes = ["src/"], 137*1b3f573fSAndroid Build Coastguard Worker linkopts = LINK_OPTS, 138*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 139*1b3f573fSAndroid Build Coastguard Worker deps = [":protobuf_lite"] + select({ 140*1b3f573fSAndroid Build Coastguard Worker "//build_defs:config_msvc": [], 141*1b3f573fSAndroid Build Coastguard Worker "//conditions:default": ["@zlib//:zlib"], 142*1b3f573fSAndroid Build Coastguard Worker }), 143*1b3f573fSAndroid Build Coastguard Worker) 144*1b3f573fSAndroid Build Coastguard Worker 145*1b3f573fSAndroid Build Coastguard Worker# This provides just the header files for use in projects that need to build 146*1b3f573fSAndroid Build Coastguard Worker# shared libraries for dynamic loading. This target is available until Bazel 147*1b3f573fSAndroid Build Coastguard Worker# adds native support for such use cases. 148*1b3f573fSAndroid Build Coastguard Worker# TODO(keveman): Remove this target once the support gets added to Bazel. 149*1b3f573fSAndroid Build Coastguard Workercc_library( 150*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_headers", 151*1b3f573fSAndroid Build Coastguard Worker hdrs = glob([ 152*1b3f573fSAndroid Build Coastguard Worker "src/**/*.h", 153*1b3f573fSAndroid Build Coastguard Worker "src/**/*.inc", 154*1b3f573fSAndroid Build Coastguard Worker ]), 155*1b3f573fSAndroid Build Coastguard Worker includes = ["src/"], 156*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 157*1b3f573fSAndroid Build Coastguard Worker) 158*1b3f573fSAndroid Build Coastguard Worker 159*1b3f573fSAndroid Build Coastguard Worker# DEPRECATED: Prefer :well_known_type_protos for the Well-Known Types 160*1b3f573fSAndroid Build Coastguard Worker# (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf) 161*1b3f573fSAndroid Build Coastguard Worker# or :descriptor_proto(_srcs) for descriptor.proto (source), or 162*1b3f573fSAndroid Build Coastguard Worker# :compiler_plugin_proto for compiler/plugin.proto. 163*1b3f573fSAndroid Build Coastguard Workerfilegroup( 164*1b3f573fSAndroid Build Coastguard Worker name = "well_known_protos", 165*1b3f573fSAndroid Build Coastguard Worker srcs = [ 166*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/plugin.proto", 167*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor.proto", 168*1b3f573fSAndroid Build Coastguard Worker ":well_known_type_protos", 169*1b3f573fSAndroid Build Coastguard Worker ], 170*1b3f573fSAndroid Build Coastguard Worker deprecation = "Prefer :well_known_type_protos instead.", 171*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 172*1b3f573fSAndroid Build Coastguard Worker) 173*1b3f573fSAndroid Build Coastguard Worker 174*1b3f573fSAndroid Build Coastguard Workerfilegroup( 175*1b3f573fSAndroid Build Coastguard Worker name = "well_known_type_protos", 176*1b3f573fSAndroid Build Coastguard Worker srcs = [ 177*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/any.proto", 178*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/api.proto", 179*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/duration.proto", 180*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/empty.proto", 181*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/field_mask.proto", 182*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/source_context.proto", 183*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/struct.proto", 184*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/timestamp.proto", 185*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/type.proto", 186*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wrappers.proto", 187*1b3f573fSAndroid Build Coastguard Worker ], 188*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 189*1b3f573fSAndroid Build Coastguard Worker) 190*1b3f573fSAndroid Build Coastguard Worker 191*1b3f573fSAndroid Build Coastguard Workerfilegroup( 192*1b3f573fSAndroid Build Coastguard Worker name = "built_in_runtime_protos", 193*1b3f573fSAndroid Build Coastguard Worker srcs = [ 194*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/plugin.proto", 195*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor.proto", 196*1b3f573fSAndroid Build Coastguard Worker ], 197*1b3f573fSAndroid Build Coastguard Worker visibility = ["//:__subpackages__"], 198*1b3f573fSAndroid Build Coastguard Worker) 199*1b3f573fSAndroid Build Coastguard Worker 200*1b3f573fSAndroid Build Coastguard Workerexports_files( 201*1b3f573fSAndroid Build Coastguard Worker srcs = [ 202*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/any.proto", 203*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/api.proto", 204*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/plugin.proto", 205*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor.proto", 206*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/duration.proto", 207*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/empty.proto", 208*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/field_mask.proto", 209*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/source_context.proto", 210*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/struct.proto", 211*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/timestamp.proto", 212*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/type.proto", 213*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wrappers.proto", 214*1b3f573fSAndroid Build Coastguard Worker ], 215*1b3f573fSAndroid Build Coastguard Worker visibility = ["//pkg:__pkg__"], 216*1b3f573fSAndroid Build Coastguard Worker) 217*1b3f573fSAndroid Build Coastguard Worker 218*1b3f573fSAndroid Build Coastguard Workeralias( 219*1b3f573fSAndroid Build Coastguard Worker name = "lite_well_known_protos", 220*1b3f573fSAndroid Build Coastguard Worker actual = ":well_known_type_protos", 221*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 222*1b3f573fSAndroid Build Coastguard Worker) 223*1b3f573fSAndroid Build Coastguard Worker 224*1b3f573fSAndroid Build Coastguard Workeradapt_proto_library( 225*1b3f573fSAndroid Build Coastguard Worker name = "cc_wkt_protos_genproto", 226*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 227*1b3f573fSAndroid Build Coastguard Worker deps = [ 228*1b3f573fSAndroid Build Coastguard Worker "//:any_proto", 229*1b3f573fSAndroid Build Coastguard Worker "//:api_proto", 230*1b3f573fSAndroid Build Coastguard Worker "//:compiler_plugin_proto", 231*1b3f573fSAndroid Build Coastguard Worker "//:descriptor_proto", 232*1b3f573fSAndroid Build Coastguard Worker "//:duration_proto", 233*1b3f573fSAndroid Build Coastguard Worker "//:empty_proto", 234*1b3f573fSAndroid Build Coastguard Worker "//:field_mask_proto", 235*1b3f573fSAndroid Build Coastguard Worker "//:source_context_proto", 236*1b3f573fSAndroid Build Coastguard Worker "//:struct_proto", 237*1b3f573fSAndroid Build Coastguard Worker "//:timestamp_proto", 238*1b3f573fSAndroid Build Coastguard Worker "//:type_proto", 239*1b3f573fSAndroid Build Coastguard Worker "//:wrappers_proto", 240*1b3f573fSAndroid Build Coastguard Worker ], 241*1b3f573fSAndroid Build Coastguard Worker) 242*1b3f573fSAndroid Build Coastguard Worker 243*1b3f573fSAndroid Build Coastguard Workercc_library( 244*1b3f573fSAndroid Build Coastguard Worker name = "cc_wkt_protos", 245*1b3f573fSAndroid Build Coastguard Worker deprecation = "Only for backward compatibility. Do not use.", 246*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 247*1b3f573fSAndroid Build Coastguard Worker) 248*1b3f573fSAndroid Build Coastguard Worker 249*1b3f573fSAndroid Build Coastguard Worker################################################################################ 250*1b3f573fSAndroid Build Coastguard Worker# Well Known Types Proto Library Rules 251*1b3f573fSAndroid Build Coastguard Worker# 252*1b3f573fSAndroid Build Coastguard Worker# https://developers.google.com/protocol-buffers/docs/reference/google.protobuf 253*1b3f573fSAndroid Build Coastguard Worker################################################################################ 254*1b3f573fSAndroid Build Coastguard Worker# These proto_library rules can be used with one of the language specific proto 255*1b3f573fSAndroid Build Coastguard Worker# library rules i.e. java_proto_library: 256*1b3f573fSAndroid Build Coastguard Worker# 257*1b3f573fSAndroid Build Coastguard Worker# java_proto_library( 258*1b3f573fSAndroid Build Coastguard Worker# name = "any_java_proto", 259*1b3f573fSAndroid Build Coastguard Worker# deps = ["@com_google_protobuf//:any_proto], 260*1b3f573fSAndroid Build Coastguard Worker# ) 261*1b3f573fSAndroid Build Coastguard Worker################################################################################ 262*1b3f573fSAndroid Build Coastguard Worker 263*1b3f573fSAndroid Build Coastguard Workerproto_library( 264*1b3f573fSAndroid Build Coastguard Worker name = "any_proto", 265*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/any.proto"], 266*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 267*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 268*1b3f573fSAndroid Build Coastguard Worker) 269*1b3f573fSAndroid Build Coastguard Worker 270*1b3f573fSAndroid Build Coastguard Workerproto_library( 271*1b3f573fSAndroid Build Coastguard Worker name = "api_proto", 272*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/api.proto"], 273*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 274*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 275*1b3f573fSAndroid Build Coastguard Worker deps = [ 276*1b3f573fSAndroid Build Coastguard Worker "//:source_context_proto", 277*1b3f573fSAndroid Build Coastguard Worker "//:type_proto", 278*1b3f573fSAndroid Build Coastguard Worker ], 279*1b3f573fSAndroid Build Coastguard Worker) 280*1b3f573fSAndroid Build Coastguard Worker 281*1b3f573fSAndroid Build Coastguard Workerproto_library( 282*1b3f573fSAndroid Build Coastguard Worker name = "duration_proto", 283*1b3f573fSAndroid Build Coastguard Worker srcs = ["//:src/google/protobuf/duration.proto"], 284*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 285*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 286*1b3f573fSAndroid Build Coastguard Worker) 287*1b3f573fSAndroid Build Coastguard Worker 288*1b3f573fSAndroid Build Coastguard Workerproto_library( 289*1b3f573fSAndroid Build Coastguard Worker name = "empty_proto", 290*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/empty.proto"], 291*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 292*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 293*1b3f573fSAndroid Build Coastguard Worker) 294*1b3f573fSAndroid Build Coastguard Worker 295*1b3f573fSAndroid Build Coastguard Workerproto_library( 296*1b3f573fSAndroid Build Coastguard Worker name = "field_mask_proto", 297*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/field_mask.proto"], 298*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 299*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 300*1b3f573fSAndroid Build Coastguard Worker) 301*1b3f573fSAndroid Build Coastguard Worker 302*1b3f573fSAndroid Build Coastguard Workerproto_library( 303*1b3f573fSAndroid Build Coastguard Worker name = "source_context_proto", 304*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/source_context.proto"], 305*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 306*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 307*1b3f573fSAndroid Build Coastguard Worker) 308*1b3f573fSAndroid Build Coastguard Worker 309*1b3f573fSAndroid Build Coastguard Workerproto_library( 310*1b3f573fSAndroid Build Coastguard Worker name = "struct_proto", 311*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/struct.proto"], 312*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 313*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 314*1b3f573fSAndroid Build Coastguard Worker) 315*1b3f573fSAndroid Build Coastguard Worker 316*1b3f573fSAndroid Build Coastguard Workerproto_library( 317*1b3f573fSAndroid Build Coastguard Worker name = "timestamp_proto", 318*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/timestamp.proto"], 319*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 320*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 321*1b3f573fSAndroid Build Coastguard Worker) 322*1b3f573fSAndroid Build Coastguard Worker 323*1b3f573fSAndroid Build Coastguard Workerproto_library( 324*1b3f573fSAndroid Build Coastguard Worker name = "type_proto", 325*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/type.proto"], 326*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 327*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 328*1b3f573fSAndroid Build Coastguard Worker deps = [ 329*1b3f573fSAndroid Build Coastguard Worker "//:any_proto", 330*1b3f573fSAndroid Build Coastguard Worker "//:source_context_proto", 331*1b3f573fSAndroid Build Coastguard Worker ], 332*1b3f573fSAndroid Build Coastguard Worker) 333*1b3f573fSAndroid Build Coastguard Worker 334*1b3f573fSAndroid Build Coastguard Workerproto_library( 335*1b3f573fSAndroid Build Coastguard Worker name = "wrappers_proto", 336*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/wrappers.proto"], 337*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 338*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 339*1b3f573fSAndroid Build Coastguard Worker) 340*1b3f573fSAndroid Build Coastguard Worker 341*1b3f573fSAndroid Build Coastguard Worker# Built-in runtime types 342*1b3f573fSAndroid Build Coastguard Worker 343*1b3f573fSAndroid Build Coastguard Workerproto_library( 344*1b3f573fSAndroid Build Coastguard Worker name = "compiler_plugin_proto", 345*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/compiler/plugin.proto"], 346*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 347*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 348*1b3f573fSAndroid Build Coastguard Worker deps = ["//:descriptor_proto"], 349*1b3f573fSAndroid Build Coastguard Worker) 350*1b3f573fSAndroid Build Coastguard Worker 351*1b3f573fSAndroid Build Coastguard Workerproto_library( 352*1b3f573fSAndroid Build Coastguard Worker name = "descriptor_proto", 353*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/descriptor.proto"], 354*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 355*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 356*1b3f573fSAndroid Build Coastguard Worker) 357*1b3f573fSAndroid Build Coastguard Worker 358*1b3f573fSAndroid Build Coastguard Worker################################################################################ 359*1b3f573fSAndroid Build Coastguard Worker# Protocol Buffers Compiler 360*1b3f573fSAndroid Build Coastguard Worker################################################################################ 361*1b3f573fSAndroid Build Coastguard Worker 362*1b3f573fSAndroid Build Coastguard Workercc_library( 363*1b3f573fSAndroid Build Coastguard Worker name = "protoc_lib", 364*1b3f573fSAndroid Build Coastguard Worker srcs = [ 365*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(protoc_lib_srcs) 366*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/code_generator.cc", 367*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/command_line_interface.cc", 368*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/enum.cc", 369*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/enum_field.cc", 370*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/extension.cc", 371*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/field.cc", 372*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/file.cc", 373*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/generator.cc", 374*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/helpers.cc", 375*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/map_field.cc", 376*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/message.cc", 377*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/message_field.cc", 378*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/padding_optimizer.cc", 379*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/parse_function_generator.cc", 380*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/primitive_field.cc", 381*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/service.cc", 382*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/string_field.cc", 383*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_doc_comment.cc", 384*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_enum.cc", 385*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_enum_field.cc", 386*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_field_base.cc", 387*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_generator.cc", 388*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_helpers.cc", 389*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_map_field.cc", 390*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_message.cc", 391*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_message_field.cc", 392*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_primitive_field.cc", 393*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_reflection_class.cc", 394*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc", 395*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc", 396*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc", 397*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc", 398*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc", 399*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/context.cc", 400*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/doc_comment.cc", 401*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/enum.cc", 402*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/enum_field.cc", 403*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/enum_field_lite.cc", 404*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/enum_lite.cc", 405*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/extension.cc", 406*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/extension_lite.cc", 407*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/field.cc", 408*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/file.cc", 409*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/generator.cc", 410*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/generator_factory.cc", 411*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/helpers.cc", 412*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/kotlin_generator.cc", 413*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/map_field.cc", 414*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/map_field_lite.cc", 415*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/message.cc", 416*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/message_builder.cc", 417*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/message_builder_lite.cc", 418*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/message_field.cc", 419*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/message_field_lite.cc", 420*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/message_lite.cc", 421*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/name_resolver.cc", 422*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/primitive_field.cc", 423*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/primitive_field_lite.cc", 424*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/service.cc", 425*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/shared_code_generator.cc", 426*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/string_field.cc", 427*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/string_field_lite.cc", 428*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_enum.cc", 429*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc", 430*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_extension.cc", 431*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_field.cc", 432*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_file.cc", 433*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_generator.cc", 434*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_helpers.cc", 435*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_map_field.cc", 436*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_message.cc", 437*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_message_field.cc", 438*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_oneof.cc", 439*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc", 440*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/php/php_generator.cc", 441*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/plugin.cc", 442*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/plugin.pb.cc", 443*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/python/generator.cc", 444*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/python/helpers.cc", 445*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/python/pyi_generator.cc", 446*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/ruby/ruby_generator.cc", 447*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/subprocess.cc", 448*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/zip_writer.cc", 449*1b3f573fSAndroid Build Coastguard Worker ], 450*1b3f573fSAndroid Build Coastguard Worker copts = COPTS, 451*1b3f573fSAndroid Build Coastguard Worker includes = ["src/"], 452*1b3f573fSAndroid Build Coastguard Worker linkopts = LINK_OPTS, 453*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 454*1b3f573fSAndroid Build Coastguard Worker deps = [":protobuf"], 455*1b3f573fSAndroid Build Coastguard Worker) 456*1b3f573fSAndroid Build Coastguard Worker 457*1b3f573fSAndroid Build Coastguard Workercc_binary( 458*1b3f573fSAndroid Build Coastguard Worker name = "protoc", 459*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/compiler/main.cc"], 460*1b3f573fSAndroid Build Coastguard Worker linkopts = LINK_OPTS + PROTOC_LINK_OPTS, 461*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 462*1b3f573fSAndroid Build Coastguard Worker deps = [":protoc_lib"], 463*1b3f573fSAndroid Build Coastguard Worker) 464*1b3f573fSAndroid Build Coastguard Worker 465*1b3f573fSAndroid Build Coastguard Worker################################################################################ 466*1b3f573fSAndroid Build Coastguard Worker# Tests 467*1b3f573fSAndroid Build Coastguard Worker################################################################################ 468*1b3f573fSAndroid Build Coastguard Worker 469*1b3f573fSAndroid Build Coastguard Workerfilegroup( 470*1b3f573fSAndroid Build Coastguard Worker name = "testdata", 471*1b3f573fSAndroid Build Coastguard Worker srcs = glob(["src/google/protobuf/testdata/**/*"]), 472*1b3f573fSAndroid Build Coastguard Worker visibility = [ 473*1b3f573fSAndroid Build Coastguard Worker "//:__subpackages__", 474*1b3f573fSAndroid Build Coastguard Worker "@upb//:__subpackages__", 475*1b3f573fSAndroid Build Coastguard Worker ], 476*1b3f573fSAndroid Build Coastguard Worker) 477*1b3f573fSAndroid Build Coastguard Worker 478*1b3f573fSAndroid Build Coastguard WorkerRELATIVE_LITE_TEST_PROTOS = [ 479*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(lite_test_protos) 480*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/map_lite_unittest.proto", 481*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_import_lite.proto", 482*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_import_public_lite.proto", 483*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lite.proto", 484*1b3f573fSAndroid Build Coastguard Worker] 485*1b3f573fSAndroid Build Coastguard Worker 486*1b3f573fSAndroid Build Coastguard WorkerLITE_TEST_PROTOS = ["src/" + s for s in RELATIVE_LITE_TEST_PROTOS] 487*1b3f573fSAndroid Build Coastguard Worker 488*1b3f573fSAndroid Build Coastguard WorkerRELATIVE_TEST_PROTOS = [ 489*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(test_protos) 490*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/any_test.proto", 491*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/compiler/cpp/test_bad_identifiers.proto", 492*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/compiler/cpp/test_large_enum_value.proto", 493*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/map_proto2_unittest.proto", 494*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/map_unittest.proto", 495*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest.proto", 496*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_arena.proto", 497*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_custom_options.proto", 498*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_drop_unknown_fields.proto", 499*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_embed_optimize_for.proto", 500*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_empty.proto", 501*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_enormous_descriptor.proto", 502*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_import.proto", 503*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_import_public.proto", 504*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lazy_dependencies.proto", 505*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lazy_dependencies_custom_option.proto", 506*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lazy_dependencies_enum.proto", 507*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lite_imports_nonlite.proto", 508*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_mset.proto", 509*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_mset_wire_format.proto", 510*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_no_field_presence.proto", 511*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_no_generic_services.proto", 512*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_optimize_for.proto", 513*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_preserve_unknown_enum.proto", 514*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_preserve_unknown_enum2.proto", 515*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3.proto", 516*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_arena.proto", 517*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_arena_lite.proto", 518*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_lite.proto", 519*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_optional.proto", 520*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_well_known_types.proto", 521*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/anys.proto", 522*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/books.proto", 523*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/default_value.proto", 524*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/default_value_test.proto", 525*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/field_mask.proto", 526*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/maps.proto", 527*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/oneofs.proto", 528*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/proto3.proto", 529*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/struct.proto", 530*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/timestamp_duration.proto", 531*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/internal/testdata/wrappers.proto", 532*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/json_format.proto", 533*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/json_format_proto3.proto", 534*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/util/message_differencer_unittest.proto", 535*1b3f573fSAndroid Build Coastguard Worker] 536*1b3f573fSAndroid Build Coastguard Worker 537*1b3f573fSAndroid Build Coastguard WorkerTEST_PROTOS = ["src/" + s for s in RELATIVE_TEST_PROTOS] 538*1b3f573fSAndroid Build Coastguard Worker 539*1b3f573fSAndroid Build Coastguard WorkerGENERIC_RELATIVE_TEST_PROTOS = [ 540*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/map_proto2_unittest.proto", 541*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/map_unittest.proto", 542*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest.proto", 543*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_arena.proto", 544*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_custom_options.proto", 545*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_drop_unknown_fields.proto", 546*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_embed_optimize_for.proto", 547*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_empty.proto", 548*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_enormous_descriptor.proto", 549*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_import.proto", 550*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_import_public.proto", 551*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lazy_dependencies.proto", 552*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lazy_dependencies_custom_option.proto", 553*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lazy_dependencies_enum.proto", 554*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_lite_imports_nonlite.proto", 555*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_mset.proto", 556*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_mset_wire_format.proto", 557*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_no_field_presence.proto", 558*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_no_generic_services.proto", 559*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_optimize_for.proto", 560*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_preserve_unknown_enum.proto", 561*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_preserve_unknown_enum2.proto", 562*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3.proto", 563*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_arena.proto", 564*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_arena_lite.proto", 565*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_lite.proto", 566*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_proto3_optional.proto", 567*1b3f573fSAndroid Build Coastguard Worker "google/protobuf/unittest_well_known_types.proto", 568*1b3f573fSAndroid Build Coastguard Worker] 569*1b3f573fSAndroid Build Coastguard Worker 570*1b3f573fSAndroid Build Coastguard WorkerGENERIC_TEST_PROTOS = ["src/" + s for s in GENERIC_RELATIVE_TEST_PROTOS] 571*1b3f573fSAndroid Build Coastguard Worker 572*1b3f573fSAndroid Build Coastguard Workerproto_library( 573*1b3f573fSAndroid Build Coastguard Worker name = "generic_test_protos", 574*1b3f573fSAndroid Build Coastguard Worker srcs = LITE_TEST_PROTOS + GENERIC_TEST_PROTOS, 575*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 576*1b3f573fSAndroid Build Coastguard Worker visibility = ["//:__subpackages__"], 577*1b3f573fSAndroid Build Coastguard Worker deps = [ 578*1b3f573fSAndroid Build Coastguard Worker "//:any_proto", 579*1b3f573fSAndroid Build Coastguard Worker "//:api_proto", 580*1b3f573fSAndroid Build Coastguard Worker "//:descriptor_proto", 581*1b3f573fSAndroid Build Coastguard Worker "//:duration_proto", 582*1b3f573fSAndroid Build Coastguard Worker "//:empty_proto", 583*1b3f573fSAndroid Build Coastguard Worker "//:field_mask_proto", 584*1b3f573fSAndroid Build Coastguard Worker "//:source_context_proto", 585*1b3f573fSAndroid Build Coastguard Worker "//:struct_proto", 586*1b3f573fSAndroid Build Coastguard Worker "//:timestamp_proto", 587*1b3f573fSAndroid Build Coastguard Worker "//:type_proto", 588*1b3f573fSAndroid Build Coastguard Worker "//:wrappers_proto", 589*1b3f573fSAndroid Build Coastguard Worker ], 590*1b3f573fSAndroid Build Coastguard Worker) 591*1b3f573fSAndroid Build Coastguard Worker 592*1b3f573fSAndroid Build Coastguard Workercc_proto_library( 593*1b3f573fSAndroid Build Coastguard Worker name = "cc_test_protos", 594*1b3f573fSAndroid Build Coastguard Worker srcs = LITE_TEST_PROTOS + TEST_PROTOS, 595*1b3f573fSAndroid Build Coastguard Worker include = "src", 596*1b3f573fSAndroid Build Coastguard Worker default_runtime = ":protobuf", 597*1b3f573fSAndroid Build Coastguard Worker protoc = ":protoc", 598*1b3f573fSAndroid Build Coastguard Worker deps = [":cc_wkt_protos"], 599*1b3f573fSAndroid Build Coastguard Worker) 600*1b3f573fSAndroid Build Coastguard Worker 601*1b3f573fSAndroid Build Coastguard WorkerCOMMON_TEST_SRCS = [ 602*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(common_test_srcs) 603*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/arena_test_util.cc", 604*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_lite_test_util.cc", 605*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/test_util_lite.cc", 606*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_test_util.inc", 607*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/reflection_tester.cc", 608*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/test_util.cc", 609*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/test_util.inc", 610*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/testing/file.cc", 611*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/testing/googletest.cc", 612*1b3f573fSAndroid Build Coastguard Worker] 613*1b3f573fSAndroid Build Coastguard Worker 614*1b3f573fSAndroid Build Coastguard Workercc_binary( 615*1b3f573fSAndroid Build Coastguard Worker name = "test_plugin", 616*1b3f573fSAndroid Build Coastguard Worker testonly = True, 617*1b3f573fSAndroid Build Coastguard Worker srcs = [ 618*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(test_plugin_srcs) 619*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/mock_code_generator.cc", 620*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/test_plugin.cc", 621*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/testing/file.cc", 622*1b3f573fSAndroid Build Coastguard Worker ], 623*1b3f573fSAndroid Build Coastguard Worker deps = [ 624*1b3f573fSAndroid Build Coastguard Worker ":protobuf", 625*1b3f573fSAndroid Build Coastguard Worker ":protoc_lib", 626*1b3f573fSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 627*1b3f573fSAndroid Build Coastguard Worker ], 628*1b3f573fSAndroid Build Coastguard Worker) 629*1b3f573fSAndroid Build Coastguard Worker 630*1b3f573fSAndroid Build Coastguard Workercc_test( 631*1b3f573fSAndroid Build Coastguard Worker name = "win32_test", 632*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/io/io_win32_unittest.cc"], 633*1b3f573fSAndroid Build Coastguard Worker tags = [ 634*1b3f573fSAndroid Build Coastguard Worker "manual", 635*1b3f573fSAndroid Build Coastguard Worker "windows", 636*1b3f573fSAndroid Build Coastguard Worker ], 637*1b3f573fSAndroid Build Coastguard Worker deps = [ 638*1b3f573fSAndroid Build Coastguard Worker ":protobuf_lite", 639*1b3f573fSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 640*1b3f573fSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 641*1b3f573fSAndroid Build Coastguard Worker ], 642*1b3f573fSAndroid Build Coastguard Worker) 643*1b3f573fSAndroid Build Coastguard Worker 644*1b3f573fSAndroid Build Coastguard Workercc_test( 645*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_test", 646*1b3f573fSAndroid Build Coastguard Worker srcs = COMMON_TEST_SRCS + [ 647*1b3f573fSAndroid Build Coastguard Worker # AUTOGEN(test_srcs) 648*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/any_test.cc", 649*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/arena_unittest.cc", 650*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/arenastring_unittest.cc", 651*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/arenaz_sampler_test.cc", 652*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/annotation_test_util.cc", 653*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/command_line_interface_unittest.cc", 654*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/bootstrap_unittest.cc", 655*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/metadata_test.cc", 656*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/move_unittest.cc", 657*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/plugin_unittest.cc", 658*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/unittest.cc", 659*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/cpp/unittest.inc", 660*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_bootstrap_unittest.cc", 661*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/csharp/csharp_generator_unittest.cc", 662*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/importer_unittest.cc", 663*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/doc_comment_unittest.cc", 664*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/java/plugin_unittest.cc", 665*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/mock_code_generator.cc", 666*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc", 667*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/parser_unittest.cc", 668*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/python/plugin_unittest.cc", 669*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/ruby/ruby_generator_unittest.cc", 670*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor_database_unittest.cc", 671*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor_unittest.cc", 672*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/drop_unknown_fields_test.cc", 673*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/dynamic_message_unittest.cc", 674*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/extension_set_unittest.cc", 675*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_message_reflection_unittest.cc", 676*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/generated_message_tctable_lite_test.cc", 677*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/inlined_string_field_unittest.cc", 678*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/coded_stream_unittest.cc", 679*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/io_win32_unittest.cc", 680*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/printer_unittest.cc", 681*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/tokenizer_unittest.cc", 682*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/io/zero_copy_stream_unittest.cc", 683*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_field_test.cc", 684*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_test.cc", 685*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_test.inc", 686*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/message_unittest.cc", 687*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/message_unittest.inc", 688*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/no_field_presence_test.cc", 689*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/preserve_unknown_enum_test.cc", 690*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/proto3_arena_lite_unittest.cc", 691*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/proto3_arena_unittest.cc", 692*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/proto3_lite_unittest.cc", 693*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/proto3_lite_unittest.inc", 694*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/reflection_ops_unittest.cc", 695*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/repeated_field_reflection_unittest.cc", 696*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/repeated_field_unittest.cc", 697*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/bytestream_unittest.cc", 698*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/common_unittest.cc", 699*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/int128_unittest.cc", 700*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/status_test.cc", 701*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/statusor_test.cc", 702*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/stringpiece_unittest.cc", 703*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/stringprintf_unittest.cc", 704*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/structurally_valid_unittest.cc", 705*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/strutil_unittest.cc", 706*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/template_util_unittest.cc", 707*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/stubs/time_test.cc", 708*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/text_format_unittest.cc", 709*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unknown_field_set_unittest.cc", 710*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/delimited_message_util_test.cc", 711*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/field_comparator_test.cc", 712*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/field_mask_util_test.cc", 713*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/default_value_objectwriter_test.cc", 714*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/json_objectwriter_test.cc", 715*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/json_stream_parser_test.cc", 716*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/protostream_objectsource_test.cc", 717*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/protostream_objectwriter_test.cc", 718*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/internal/type_info_test_helper.cc", 719*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/json_util_test.cc", 720*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/message_differencer_unittest.cc", 721*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/time_util_test.cc", 722*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/util/type_resolver_util_test.cc", 723*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/well_known_types_unittest.cc", 724*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wire_format_unittest.cc", 725*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wire_format_unittest.inc", 726*1b3f573fSAndroid Build Coastguard Worker ], 727*1b3f573fSAndroid Build Coastguard Worker copts = COPTS + select({ 728*1b3f573fSAndroid Build Coastguard Worker "//build_defs:config_msvc": [], 729*1b3f573fSAndroid Build Coastguard Worker "//conditions:default": [ 730*1b3f573fSAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 731*1b3f573fSAndroid Build Coastguard Worker ], 732*1b3f573fSAndroid Build Coastguard Worker }), 733*1b3f573fSAndroid Build Coastguard Worker data = [ 734*1b3f573fSAndroid Build Coastguard Worker # Files for csharp_bootstrap_unittest.cc. 735*1b3f573fSAndroid Build Coastguard Worker "//conformance:all_files", 736*1b3f573fSAndroid Build Coastguard Worker ":test_plugin", 737*1b3f573fSAndroid Build Coastguard Worker ] + glob([ 738*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/**/*", 739*1b3f573fSAndroid Build Coastguard Worker ]) + glob( 740*1b3f573fSAndroid Build Coastguard Worker [ 741*1b3f573fSAndroid Build Coastguard Worker # Files for csharp_bootstrap_unittest.cc. 742*1b3f573fSAndroid Build Coastguard Worker "csharp/src/**/*", 743*1b3f573fSAndroid Build Coastguard Worker ], 744*1b3f573fSAndroid Build Coastguard Worker allow_empty = True, 745*1b3f573fSAndroid Build Coastguard Worker ), 746*1b3f573fSAndroid Build Coastguard Worker includes = [ 747*1b3f573fSAndroid Build Coastguard Worker "src/", 748*1b3f573fSAndroid Build Coastguard Worker ], 749*1b3f573fSAndroid Build Coastguard Worker linkopts = LINK_OPTS, 750*1b3f573fSAndroid Build Coastguard Worker deps = [ 751*1b3f573fSAndroid Build Coastguard Worker ":cc_test_protos", 752*1b3f573fSAndroid Build Coastguard Worker ":protobuf", 753*1b3f573fSAndroid Build Coastguard Worker ":protoc_lib", 754*1b3f573fSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 755*1b3f573fSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 756*1b3f573fSAndroid Build Coastguard Worker ] + select({ 757*1b3f573fSAndroid Build Coastguard Worker "//build_defs:config_msvc": [], 758*1b3f573fSAndroid Build Coastguard Worker "//conditions:default": ["@zlib//:zlib"], 759*1b3f573fSAndroid Build Coastguard Worker }), 760*1b3f573fSAndroid Build Coastguard Worker) 761*1b3f573fSAndroid Build Coastguard Worker 762*1b3f573fSAndroid Build Coastguard Worker################################################################################ 763*1b3f573fSAndroid Build Coastguard Worker# Java support 764*1b3f573fSAndroid Build Coastguard Worker################################################################################ 765*1b3f573fSAndroid Build Coastguard Worker 766*1b3f573fSAndroid Build Coastguard Workeralias( 767*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_java", 768*1b3f573fSAndroid Build Coastguard Worker actual = "//java/core", 769*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 770*1b3f573fSAndroid Build Coastguard Worker) 771*1b3f573fSAndroid Build Coastguard Worker 772*1b3f573fSAndroid Build Coastguard Workeralias( 773*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_javalite", 774*1b3f573fSAndroid Build Coastguard Worker actual = "//java/lite", 775*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 776*1b3f573fSAndroid Build Coastguard Worker) 777*1b3f573fSAndroid Build Coastguard Worker 778*1b3f573fSAndroid Build Coastguard Workeralias( 779*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_java_util", 780*1b3f573fSAndroid Build Coastguard Worker actual = "//java/util", 781*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 782*1b3f573fSAndroid Build Coastguard Worker) 783*1b3f573fSAndroid Build Coastguard Worker 784*1b3f573fSAndroid Build Coastguard Workeralias( 785*1b3f573fSAndroid Build Coastguard Worker name = "java_toolchain", 786*1b3f573fSAndroid Build Coastguard Worker actual = "//java/core:toolchain", 787*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 788*1b3f573fSAndroid Build Coastguard Worker) 789*1b3f573fSAndroid Build Coastguard Worker 790*1b3f573fSAndroid Build Coastguard Workeralias( 791*1b3f573fSAndroid Build Coastguard Worker name = "javalite_toolchain", 792*1b3f573fSAndroid Build Coastguard Worker actual = "//java/lite:toolchain", 793*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 794*1b3f573fSAndroid Build Coastguard Worker) 795*1b3f573fSAndroid Build Coastguard Worker 796*1b3f573fSAndroid Build Coastguard Worker################################################################################ 797*1b3f573fSAndroid Build Coastguard Worker# Python support 798*1b3f573fSAndroid Build Coastguard Worker################################################################################ 799*1b3f573fSAndroid Build Coastguard Worker 800*1b3f573fSAndroid Build Coastguard Workerpy_library( 801*1b3f573fSAndroid Build Coastguard Worker name = "python_srcs", 802*1b3f573fSAndroid Build Coastguard Worker srcs = glob( 803*1b3f573fSAndroid Build Coastguard Worker [ 804*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/**/*.py", 805*1b3f573fSAndroid Build Coastguard Worker ], 806*1b3f573fSAndroid Build Coastguard Worker ), 807*1b3f573fSAndroid Build Coastguard Worker imports = ["python"], 808*1b3f573fSAndroid Build Coastguard Worker srcs_version = "PY2AND3", 809*1b3f573fSAndroid Build Coastguard Worker visibility = ["@upb//:__subpackages__"], 810*1b3f573fSAndroid Build Coastguard Worker) 811*1b3f573fSAndroid Build Coastguard Worker 812*1b3f573fSAndroid Build Coastguard Workerpy_library( 813*1b3f573fSAndroid Build Coastguard Worker name = "python_test_srcs", 814*1b3f573fSAndroid Build Coastguard Worker srcs = glob( 815*1b3f573fSAndroid Build Coastguard Worker [ 816*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/*_test.py", 817*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/test_util.py", 818*1b3f573fSAndroid Build Coastguard Worker ], 819*1b3f573fSAndroid Build Coastguard Worker ), 820*1b3f573fSAndroid Build Coastguard Worker imports = ["python"], 821*1b3f573fSAndroid Build Coastguard Worker srcs_version = "PY3", 822*1b3f573fSAndroid Build Coastguard Worker visibility = ["@upb//:__subpackages__"], 823*1b3f573fSAndroid Build Coastguard Worker) 824*1b3f573fSAndroid Build Coastguard Worker 825*1b3f573fSAndroid Build Coastguard Workercc_binary( 826*1b3f573fSAndroid Build Coastguard Worker name = "python/google/protobuf/internal/_api_implementation.so", 827*1b3f573fSAndroid Build Coastguard Worker srcs = ["python/google/protobuf/internal/api_implementation.cc"], 828*1b3f573fSAndroid Build Coastguard Worker copts = COPTS + [ 829*1b3f573fSAndroid Build Coastguard Worker "-DPYTHON_PROTO2_CPP_IMPL_V2", 830*1b3f573fSAndroid Build Coastguard Worker ], 831*1b3f573fSAndroid Build Coastguard Worker linkshared = 1, 832*1b3f573fSAndroid Build Coastguard Worker linkstatic = 1, 833*1b3f573fSAndroid Build Coastguard Worker tags = [ 834*1b3f573fSAndroid Build Coastguard Worker # Exclude this target from wildcard expansion (//...) because it may 835*1b3f573fSAndroid Build Coastguard Worker # not even be buildable. It will be built if it is needed according 836*1b3f573fSAndroid Build Coastguard Worker # to :use_fast_cpp_protos. 837*1b3f573fSAndroid Build Coastguard Worker # https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes 838*1b3f573fSAndroid Build Coastguard Worker "manual", 839*1b3f573fSAndroid Build Coastguard Worker ], 840*1b3f573fSAndroid Build Coastguard Worker deps = select({ 841*1b3f573fSAndroid Build Coastguard Worker "//conditions:default": [], 842*1b3f573fSAndroid Build Coastguard Worker ":use_fast_cpp_protos": ["//external:python_headers"], 843*1b3f573fSAndroid Build Coastguard Worker }), 844*1b3f573fSAndroid Build Coastguard Worker) 845*1b3f573fSAndroid Build Coastguard Worker 846*1b3f573fSAndroid Build Coastguard Workercc_binary( 847*1b3f573fSAndroid Build Coastguard Worker name = "python/google/protobuf/pyext/_message.so", 848*1b3f573fSAndroid Build Coastguard Worker srcs = glob([ 849*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/pyext/*.cc", 850*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/pyext/*.h", 851*1b3f573fSAndroid Build Coastguard Worker ]), 852*1b3f573fSAndroid Build Coastguard Worker copts = COPTS + [ 853*1b3f573fSAndroid Build Coastguard Worker "-DGOOGLE_PROTOBUF_HAS_ONEOF=1", 854*1b3f573fSAndroid Build Coastguard Worker ] + select({ 855*1b3f573fSAndroid Build Coastguard Worker "//conditions:default": [], 856*1b3f573fSAndroid Build Coastguard Worker ":allow_oversize_protos": ["-DPROTOBUF_PYTHON_ALLOW_OVERSIZE_PROTOS=1"], 857*1b3f573fSAndroid Build Coastguard Worker }), 858*1b3f573fSAndroid Build Coastguard Worker includes = [ 859*1b3f573fSAndroid Build Coastguard Worker "python/", 860*1b3f573fSAndroid Build Coastguard Worker "src/", 861*1b3f573fSAndroid Build Coastguard Worker ], 862*1b3f573fSAndroid Build Coastguard Worker linkshared = 1, 863*1b3f573fSAndroid Build Coastguard Worker linkstatic = 1, 864*1b3f573fSAndroid Build Coastguard Worker tags = [ 865*1b3f573fSAndroid Build Coastguard Worker # Exclude this target from wildcard expansion (//...) because it may 866*1b3f573fSAndroid Build Coastguard Worker # not even be buildable. It will be built if it is needed according 867*1b3f573fSAndroid Build Coastguard Worker # to :use_fast_cpp_protos. 868*1b3f573fSAndroid Build Coastguard Worker # https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes 869*1b3f573fSAndroid Build Coastguard Worker "manual", 870*1b3f573fSAndroid Build Coastguard Worker ], 871*1b3f573fSAndroid Build Coastguard Worker deps = [ 872*1b3f573fSAndroid Build Coastguard Worker ":protobuf", 873*1b3f573fSAndroid Build Coastguard Worker ":proto_api", 874*1b3f573fSAndroid Build Coastguard Worker ] + select({ 875*1b3f573fSAndroid Build Coastguard Worker "//conditions:default": [], 876*1b3f573fSAndroid Build Coastguard Worker ":use_fast_cpp_protos": ["//external:python_headers"], 877*1b3f573fSAndroid Build Coastguard Worker }), 878*1b3f573fSAndroid Build Coastguard Worker) 879*1b3f573fSAndroid Build Coastguard Worker 880*1b3f573fSAndroid Build Coastguard Workerconfig_setting( 881*1b3f573fSAndroid Build Coastguard Worker name = "use_fast_cpp_protos", 882*1b3f573fSAndroid Build Coastguard Worker values = { 883*1b3f573fSAndroid Build Coastguard Worker "define": "use_fast_cpp_protos=true", 884*1b3f573fSAndroid Build Coastguard Worker }, 885*1b3f573fSAndroid Build Coastguard Worker visibility = [ 886*1b3f573fSAndroid Build Coastguard Worker # Public, but Protobuf only visibility. 887*1b3f573fSAndroid Build Coastguard Worker "//:__subpackages__", 888*1b3f573fSAndroid Build Coastguard Worker ], 889*1b3f573fSAndroid Build Coastguard Worker) 890*1b3f573fSAndroid Build Coastguard Worker 891*1b3f573fSAndroid Build Coastguard Workerconfig_setting( 892*1b3f573fSAndroid Build Coastguard Worker name = "allow_oversize_protos", 893*1b3f573fSAndroid Build Coastguard Worker values = { 894*1b3f573fSAndroid Build Coastguard Worker "define": "allow_oversize_protos=true", 895*1b3f573fSAndroid Build Coastguard Worker }, 896*1b3f573fSAndroid Build Coastguard Worker visibility = [ 897*1b3f573fSAndroid Build Coastguard Worker # Public, but Protobuf only visibility. 898*1b3f573fSAndroid Build Coastguard Worker "//:__subpackages__", 899*1b3f573fSAndroid Build Coastguard Worker ], 900*1b3f573fSAndroid Build Coastguard Worker) 901*1b3f573fSAndroid Build Coastguard Worker 902*1b3f573fSAndroid Build Coastguard Worker# Copy the builtin proto files from src/google/protobuf to 903*1b3f573fSAndroid Build Coastguard Worker# python/google/protobuf. This way, the generated Python sources will be in the 904*1b3f573fSAndroid Build Coastguard Worker# same directory as the Python runtime sources. This is necessary for the 905*1b3f573fSAndroid Build Coastguard Worker# modules to be imported correctly since they are all part of the same Python 906*1b3f573fSAndroid Build Coastguard Worker# package. 907*1b3f573fSAndroid Build Coastguard Workerinternal_copied_filegroup( 908*1b3f573fSAndroid Build Coastguard Worker name = "protos_python", 909*1b3f573fSAndroid Build Coastguard Worker srcs = [ 910*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/any.proto", 911*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/api.proto", 912*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/plugin.proto", 913*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/descriptor.proto", 914*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/duration.proto", 915*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/empty.proto", 916*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/field_mask.proto", 917*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/source_context.proto", 918*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/struct.proto", 919*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/timestamp.proto", 920*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/type.proto", 921*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/wrappers.proto", 922*1b3f573fSAndroid Build Coastguard Worker ], 923*1b3f573fSAndroid Build Coastguard Worker dest = "python", 924*1b3f573fSAndroid Build Coastguard Worker strip_prefix = "src", 925*1b3f573fSAndroid Build Coastguard Worker) 926*1b3f573fSAndroid Build Coastguard Worker 927*1b3f573fSAndroid Build Coastguard Workerpy_proto_library( 928*1b3f573fSAndroid Build Coastguard Worker name = "well_known_types_py_pb2", 929*1b3f573fSAndroid Build Coastguard Worker srcs = [ 930*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/any.proto", 931*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/api.proto", 932*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/compiler/plugin.proto", 933*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/descriptor.proto", 934*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/duration.proto", 935*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/empty.proto", 936*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/field_mask.proto", 937*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/source_context.proto", 938*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/struct.proto", 939*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/timestamp.proto", 940*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/type.proto", 941*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/wrappers.proto", 942*1b3f573fSAndroid Build Coastguard Worker ], 943*1b3f573fSAndroid Build Coastguard Worker include = "python", 944*1b3f573fSAndroid Build Coastguard Worker default_runtime = "", 945*1b3f573fSAndroid Build Coastguard Worker protoc = ":protoc", 946*1b3f573fSAndroid Build Coastguard Worker srcs_version = "PY2AND3", 947*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 948*1b3f573fSAndroid Build Coastguard Worker) 949*1b3f573fSAndroid Build Coastguard Worker 950*1b3f573fSAndroid Build Coastguard Workerpy_library( 951*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_python", 952*1b3f573fSAndroid Build Coastguard Worker data = select({ 953*1b3f573fSAndroid Build Coastguard Worker "//conditions:default": [], 954*1b3f573fSAndroid Build Coastguard Worker ":use_fast_cpp_protos": [ 955*1b3f573fSAndroid Build Coastguard Worker ":python/google/protobuf/internal/_api_implementation.so", 956*1b3f573fSAndroid Build Coastguard Worker ":python/google/protobuf/pyext/_message.so", 957*1b3f573fSAndroid Build Coastguard Worker ], 958*1b3f573fSAndroid Build Coastguard Worker }), 959*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 960*1b3f573fSAndroid Build Coastguard Worker deps = [ 961*1b3f573fSAndroid Build Coastguard Worker ":python_srcs", 962*1b3f573fSAndroid Build Coastguard Worker ":well_known_types_py_pb2", 963*1b3f573fSAndroid Build Coastguard Worker ], 964*1b3f573fSAndroid Build Coastguard Worker) 965*1b3f573fSAndroid Build Coastguard Worker 966*1b3f573fSAndroid Build Coastguard Worker# Copy the test proto files from src/google/protobuf to 967*1b3f573fSAndroid Build Coastguard Worker# python/google/protobuf. This way, the generated Python sources will be in the 968*1b3f573fSAndroid Build Coastguard Worker# same directory as the Python runtime sources. This is necessary for the 969*1b3f573fSAndroid Build Coastguard Worker# modules to be imported correctly by the tests since they are all part of the 970*1b3f573fSAndroid Build Coastguard Worker# same Python package. 971*1b3f573fSAndroid Build Coastguard Workerinternal_copied_filegroup( 972*1b3f573fSAndroid Build Coastguard Worker name = "protos_python_test", 973*1b3f573fSAndroid Build Coastguard Worker srcs = LITE_TEST_PROTOS + TEST_PROTOS, 974*1b3f573fSAndroid Build Coastguard Worker dest = "python", 975*1b3f573fSAndroid Build Coastguard Worker strip_prefix = "src", 976*1b3f573fSAndroid Build Coastguard Worker) 977*1b3f573fSAndroid Build Coastguard Worker 978*1b3f573fSAndroid Build Coastguard Worker# TODO(dzc): Remove this once py_proto_library can have labels in srcs, in 979*1b3f573fSAndroid Build Coastguard Worker# which case we can simply add :protos_python_test in srcs. 980*1b3f573fSAndroid Build Coastguard WorkerCOPIED_LITE_TEST_PROTOS = ["python/" + s for s in RELATIVE_LITE_TEST_PROTOS] 981*1b3f573fSAndroid Build Coastguard Worker 982*1b3f573fSAndroid Build Coastguard WorkerCOPIED_TEST_PROTOS = ["python/" + s for s in RELATIVE_TEST_PROTOS] 983*1b3f573fSAndroid Build Coastguard Worker 984*1b3f573fSAndroid Build Coastguard Workerpy_proto_library( 985*1b3f573fSAndroid Build Coastguard Worker name = "python_common_test_protos", 986*1b3f573fSAndroid Build Coastguard Worker srcs = COPIED_LITE_TEST_PROTOS + COPIED_TEST_PROTOS, 987*1b3f573fSAndroid Build Coastguard Worker include = "python", 988*1b3f573fSAndroid Build Coastguard Worker default_runtime = "", 989*1b3f573fSAndroid Build Coastguard Worker protoc = ":protoc", 990*1b3f573fSAndroid Build Coastguard Worker srcs_version = "PY2AND3", 991*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 992*1b3f573fSAndroid Build Coastguard Worker deps = [":well_known_types_py_pb2"], 993*1b3f573fSAndroid Build Coastguard Worker) 994*1b3f573fSAndroid Build Coastguard Worker 995*1b3f573fSAndroid Build Coastguard Workerpy_proto_library( 996*1b3f573fSAndroid Build Coastguard Worker name = "python_specific_test_protos", 997*1b3f573fSAndroid Build Coastguard Worker srcs = glob([ 998*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/*.proto", 999*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/import_test_package/*.proto", 1000*1b3f573fSAndroid Build Coastguard Worker ]), 1001*1b3f573fSAndroid Build Coastguard Worker include = "python", 1002*1b3f573fSAndroid Build Coastguard Worker default_runtime = ":protobuf_python", 1003*1b3f573fSAndroid Build Coastguard Worker protoc = ":protoc", 1004*1b3f573fSAndroid Build Coastguard Worker srcs_version = "PY2AND3", 1005*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1006*1b3f573fSAndroid Build Coastguard Worker deps = [":python_common_test_protos"], 1007*1b3f573fSAndroid Build Coastguard Worker) 1008*1b3f573fSAndroid Build Coastguard Worker 1009*1b3f573fSAndroid Build Coastguard Workerpy_library( 1010*1b3f573fSAndroid Build Coastguard Worker name = "python_tests", 1011*1b3f573fSAndroid Build Coastguard Worker srcs = glob( 1012*1b3f573fSAndroid Build Coastguard Worker [ 1013*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/*_test.py", 1014*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/test_util.py", 1015*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/import_test_package/__init__.py", 1016*1b3f573fSAndroid Build Coastguard Worker ], 1017*1b3f573fSAndroid Build Coastguard Worker ), 1018*1b3f573fSAndroid Build Coastguard Worker imports = ["python"], 1019*1b3f573fSAndroid Build Coastguard Worker srcs_version = "PY2AND3", 1020*1b3f573fSAndroid Build Coastguard Worker deps = [ 1021*1b3f573fSAndroid Build Coastguard Worker ":protobuf_python", 1022*1b3f573fSAndroid Build Coastguard Worker ":python_common_test_protos", 1023*1b3f573fSAndroid Build Coastguard Worker ":python_specific_test_protos", 1024*1b3f573fSAndroid Build Coastguard Worker ], 1025*1b3f573fSAndroid Build Coastguard Worker) 1026*1b3f573fSAndroid Build Coastguard Worker 1027*1b3f573fSAndroid Build Coastguard Workerinternal_protobuf_py_tests( 1028*1b3f573fSAndroid Build Coastguard Worker name = "python_tests_batch", 1029*1b3f573fSAndroid Build Coastguard Worker data = glob([ 1030*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/**/*", 1031*1b3f573fSAndroid Build Coastguard Worker ]), 1032*1b3f573fSAndroid Build Coastguard Worker modules = [ 1033*1b3f573fSAndroid Build Coastguard Worker "descriptor_database_test", 1034*1b3f573fSAndroid Build Coastguard Worker "descriptor_pool_test", 1035*1b3f573fSAndroid Build Coastguard Worker "descriptor_test", 1036*1b3f573fSAndroid Build Coastguard Worker "generator_test", 1037*1b3f573fSAndroid Build Coastguard Worker "json_format_test", 1038*1b3f573fSAndroid Build Coastguard Worker "message_factory_test", 1039*1b3f573fSAndroid Build Coastguard Worker "message_test", 1040*1b3f573fSAndroid Build Coastguard Worker "proto_builder_test", 1041*1b3f573fSAndroid Build Coastguard Worker "reflection_test", 1042*1b3f573fSAndroid Build Coastguard Worker "service_reflection_test", 1043*1b3f573fSAndroid Build Coastguard Worker "symbol_database_test", 1044*1b3f573fSAndroid Build Coastguard Worker "text_encoding_test", 1045*1b3f573fSAndroid Build Coastguard Worker "text_format_test", 1046*1b3f573fSAndroid Build Coastguard Worker "unknown_fields_test", 1047*1b3f573fSAndroid Build Coastguard Worker "wire_format_test", 1048*1b3f573fSAndroid Build Coastguard Worker ], 1049*1b3f573fSAndroid Build Coastguard Worker deps = [":python_tests"], 1050*1b3f573fSAndroid Build Coastguard Worker) 1051*1b3f573fSAndroid Build Coastguard Worker 1052*1b3f573fSAndroid Build Coastguard Workercc_library( 1053*1b3f573fSAndroid Build Coastguard Worker name = "proto_api", 1054*1b3f573fSAndroid Build Coastguard Worker hdrs = ["python/google/protobuf/proto_api.h"], 1055*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1056*1b3f573fSAndroid Build Coastguard Worker deps = [ 1057*1b3f573fSAndroid Build Coastguard Worker "//external:python_headers", 1058*1b3f573fSAndroid Build Coastguard Worker ], 1059*1b3f573fSAndroid Build Coastguard Worker) 1060*1b3f573fSAndroid Build Coastguard Worker 1061*1b3f573fSAndroid Build Coastguard Workerproto_lang_toolchain( 1062*1b3f573fSAndroid Build Coastguard Worker name = "cc_toolchain", 1063*1b3f573fSAndroid Build Coastguard Worker blacklisted_protos = [ 1064*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:any_proto", 1065*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:api_proto", 1066*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:compiler_plugin_proto", 1067*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:descriptor_proto", 1068*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:duration_proto", 1069*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:empty_proto", 1070*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:field_mask_proto", 1071*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:source_context_proto", 1072*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:struct_proto", 1073*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:timestamp_proto", 1074*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:type_proto", 1075*1b3f573fSAndroid Build Coastguard Worker "@com_google_protobuf//:wrappers_proto", 1076*1b3f573fSAndroid Build Coastguard Worker ], 1077*1b3f573fSAndroid Build Coastguard Worker command_line = "--cpp_out=$(OUT)", 1078*1b3f573fSAndroid Build Coastguard Worker runtime = ":protobuf", 1079*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1080*1b3f573fSAndroid Build Coastguard Worker) 1081*1b3f573fSAndroid Build Coastguard Worker 1082*1b3f573fSAndroid Build Coastguard Workeralias( 1083*1b3f573fSAndroid Build Coastguard Worker name = "objectivec", 1084*1b3f573fSAndroid Build Coastguard Worker actual = "//objectivec", 1085*1b3f573fSAndroid Build Coastguard Worker tags = ["manual"], 1086*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1087*1b3f573fSAndroid Build Coastguard Worker) 1088*1b3f573fSAndroid Build Coastguard Worker 1089*1b3f573fSAndroid Build Coastguard Workeralias( 1090*1b3f573fSAndroid Build Coastguard Worker name = "protobuf_objc", 1091*1b3f573fSAndroid Build Coastguard Worker actual = "//objectivec", 1092*1b3f573fSAndroid Build Coastguard Worker tags = ["manual"], 1093*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1094*1b3f573fSAndroid Build Coastguard Worker) 1095*1b3f573fSAndroid Build Coastguard Worker 1096*1b3f573fSAndroid Build Coastguard Worker################################################################################ 1097*1b3f573fSAndroid Build Coastguard Worker# Test generated proto support 1098*1b3f573fSAndroid Build Coastguard Worker################################################################################ 1099*1b3f573fSAndroid Build Coastguard Worker 1100*1b3f573fSAndroid Build Coastguard Workergenrule( 1101*1b3f573fSAndroid Build Coastguard Worker name = "generated_protos", 1102*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/unittest_import.proto"], 1103*1b3f573fSAndroid Build Coastguard Worker outs = ["unittest_gen_import.proto"], 1104*1b3f573fSAndroid Build Coastguard Worker cmd = "cat $(SRCS) | sed 's|google/|src/google/|' > $(OUTS)", 1105*1b3f573fSAndroid Build Coastguard Worker) 1106*1b3f573fSAndroid Build Coastguard Worker 1107*1b3f573fSAndroid Build Coastguard Workerproto_library( 1108*1b3f573fSAndroid Build Coastguard Worker name = "generated_protos_proto", 1109*1b3f573fSAndroid Build Coastguard Worker srcs = [ 1110*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import_public.proto", 1111*1b3f573fSAndroid Build Coastguard Worker "unittest_gen_import.proto", 1112*1b3f573fSAndroid Build Coastguard Worker ], 1113*1b3f573fSAndroid Build Coastguard Worker) 1114*1b3f573fSAndroid Build Coastguard Worker 1115*1b3f573fSAndroid Build Coastguard Workerpy_proto_library( 1116*1b3f573fSAndroid Build Coastguard Worker name = "generated_protos_py", 1117*1b3f573fSAndroid Build Coastguard Worker srcs = [ 1118*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import_public.proto", 1119*1b3f573fSAndroid Build Coastguard Worker "unittest_gen_import.proto", 1120*1b3f573fSAndroid Build Coastguard Worker ], 1121*1b3f573fSAndroid Build Coastguard Worker default_runtime = "", 1122*1b3f573fSAndroid Build Coastguard Worker protoc = ":protoc", 1123*1b3f573fSAndroid Build Coastguard Worker) 1124*1b3f573fSAndroid Build Coastguard Worker 1125*1b3f573fSAndroid Build Coastguard Worker################################################################################ 1126*1b3f573fSAndroid Build Coastguard Worker# Conformance tests 1127*1b3f573fSAndroid Build Coastguard Worker################################################################################ 1128*1b3f573fSAndroid Build Coastguard Worker 1129*1b3f573fSAndroid Build Coastguard Workeralias( 1130*1b3f573fSAndroid Build Coastguard Worker name = "conformance_test_runner", 1131*1b3f573fSAndroid Build Coastguard Worker actual = "//conformance:conformance_test_runner", 1132*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1133*1b3f573fSAndroid Build Coastguard Worker) 1134*1b3f573fSAndroid Build Coastguard Worker 1135*1b3f573fSAndroid Build Coastguard Workerproto_library( 1136*1b3f573fSAndroid Build Coastguard Worker name = "test_messages_proto2_proto", 1137*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 1138*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/test_messages_proto2.proto"], 1139*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1140*1b3f573fSAndroid Build Coastguard Worker) 1141*1b3f573fSAndroid Build Coastguard Worker 1142*1b3f573fSAndroid Build Coastguard Workerproto_library( 1143*1b3f573fSAndroid Build Coastguard Worker name = "test_messages_proto3_proto", 1144*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 1145*1b3f573fSAndroid Build Coastguard Worker srcs = ["src/google/protobuf/test_messages_proto3.proto"], 1146*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1147*1b3f573fSAndroid Build Coastguard Worker deps = [ 1148*1b3f573fSAndroid Build Coastguard Worker ":any_proto", 1149*1b3f573fSAndroid Build Coastguard Worker ":duration_proto", 1150*1b3f573fSAndroid Build Coastguard Worker ":field_mask_proto", 1151*1b3f573fSAndroid Build Coastguard Worker ":struct_proto", 1152*1b3f573fSAndroid Build Coastguard Worker ":timestamp_proto", 1153*1b3f573fSAndroid Build Coastguard Worker ":wrappers_proto", 1154*1b3f573fSAndroid Build Coastguard Worker ], 1155*1b3f573fSAndroid Build Coastguard Worker) 1156*1b3f573fSAndroid Build Coastguard Worker 1157*1b3f573fSAndroid Build Coastguard Worker# TODO: re-enable this test if appropriate, or replace with something that 1158*1b3f573fSAndroid Build Coastguard Worker# uses the new setup. 1159*1b3f573fSAndroid Build Coastguard Worker# sh_test( 1160*1b3f573fSAndroid Build Coastguard Worker# name = "build_files_updated_unittest", 1161*1b3f573fSAndroid Build Coastguard Worker# srcs = [ 1162*1b3f573fSAndroid Build Coastguard Worker# "build_files_updated_unittest.sh", 1163*1b3f573fSAndroid Build Coastguard Worker# ], 1164*1b3f573fSAndroid Build Coastguard Worker# data = [ 1165*1b3f573fSAndroid Build Coastguard Worker# "BUILD", 1166*1b3f573fSAndroid Build Coastguard Worker# "cmake/extract_includes.bat.in", 1167*1b3f573fSAndroid Build Coastguard Worker# "cmake/libprotobuf.cmake", 1168*1b3f573fSAndroid Build Coastguard Worker# "cmake/libprotobuf-lite.cmake", 1169*1b3f573fSAndroid Build Coastguard Worker# "cmake/libprotoc.cmake", 1170*1b3f573fSAndroid Build Coastguard Worker# "cmake/tests.cmake", 1171*1b3f573fSAndroid Build Coastguard Worker# "src/Makefile.am", 1172*1b3f573fSAndroid Build Coastguard Worker# "update_file_lists.sh", 1173*1b3f573fSAndroid Build Coastguard Worker# ], 1174*1b3f573fSAndroid Build Coastguard Worker# ) 1175*1b3f573fSAndroid Build Coastguard Worker 1176*1b3f573fSAndroid Build Coastguard Workerjava_proto_library( 1177*1b3f573fSAndroid Build Coastguard Worker name = "test_messages_proto2_java_proto", 1178*1b3f573fSAndroid Build Coastguard Worker visibility = [ 1179*1b3f573fSAndroid Build Coastguard Worker "//conformance:__pkg__", 1180*1b3f573fSAndroid Build Coastguard Worker "//java:__subpackages__", 1181*1b3f573fSAndroid Build Coastguard Worker ], 1182*1b3f573fSAndroid Build Coastguard Worker deps = [":test_messages_proto2_proto"], 1183*1b3f573fSAndroid Build Coastguard Worker) 1184*1b3f573fSAndroid Build Coastguard Worker 1185*1b3f573fSAndroid Build Coastguard Workerjava_proto_library( 1186*1b3f573fSAndroid Build Coastguard Worker name = "test_messages_proto3_java_proto", 1187*1b3f573fSAndroid Build Coastguard Worker visibility = [ 1188*1b3f573fSAndroid Build Coastguard Worker "//conformance:__pkg__", 1189*1b3f573fSAndroid Build Coastguard Worker "//java:__subpackages__", 1190*1b3f573fSAndroid Build Coastguard Worker ], 1191*1b3f573fSAndroid Build Coastguard Worker deps = [":test_messages_proto3_proto"], 1192*1b3f573fSAndroid Build Coastguard Worker) 1193*1b3f573fSAndroid Build Coastguard Worker 1194*1b3f573fSAndroid Build Coastguard Workerjava_lite_proto_library( 1195*1b3f573fSAndroid Build Coastguard Worker name = "test_messages_proto2_java_proto_lite", 1196*1b3f573fSAndroid Build Coastguard Worker visibility = [ 1197*1b3f573fSAndroid Build Coastguard Worker "//conformance:__pkg__", 1198*1b3f573fSAndroid Build Coastguard Worker "//java:__subpackages__", 1199*1b3f573fSAndroid Build Coastguard Worker ], 1200*1b3f573fSAndroid Build Coastguard Worker deps = [":test_messages_proto2_proto"], 1201*1b3f573fSAndroid Build Coastguard Worker) 1202*1b3f573fSAndroid Build Coastguard Worker 1203*1b3f573fSAndroid Build Coastguard Workerjava_lite_proto_library( 1204*1b3f573fSAndroid Build Coastguard Worker name = "test_messages_proto3_java_proto_lite", 1205*1b3f573fSAndroid Build Coastguard Worker visibility = [ 1206*1b3f573fSAndroid Build Coastguard Worker "//conformance:__pkg__", 1207*1b3f573fSAndroid Build Coastguard Worker "//java:__subpackages__", 1208*1b3f573fSAndroid Build Coastguard Worker ], 1209*1b3f573fSAndroid Build Coastguard Worker deps = [":test_messages_proto3_proto"], 1210*1b3f573fSAndroid Build Coastguard Worker) 1211*1b3f573fSAndroid Build Coastguard Worker 1212*1b3f573fSAndroid Build Coastguard Workerfilegroup( 1213*1b3f573fSAndroid Build Coastguard Worker name = "bzl_srcs", 1214*1b3f573fSAndroid Build Coastguard Worker srcs = glob(["**/*.bzl"]), 1215*1b3f573fSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 1216*1b3f573fSAndroid Build Coastguard Worker) 1217*1b3f573fSAndroid Build Coastguard Worker 1218*1b3f573fSAndroid Build Coastguard Worker# Kotlin proto rules 1219*1b3f573fSAndroid Build Coastguard Worker 1220*1b3f573fSAndroid Build Coastguard Workerproto_library( 1221*1b3f573fSAndroid Build Coastguard Worker name = "kt_unittest_lite", 1222*1b3f573fSAndroid Build Coastguard Worker srcs = [ 1223*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_lite_unittest.proto", 1224*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import_lite.proto", 1225*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import_public_lite.proto", 1226*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_lite.proto", 1227*1b3f573fSAndroid Build Coastguard Worker ], 1228*1b3f573fSAndroid Build Coastguard Worker visibility = ["//java/kotlin-lite:__subpackages__"], 1229*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 1230*1b3f573fSAndroid Build Coastguard Worker) 1231*1b3f573fSAndroid Build Coastguard Worker 1232*1b3f573fSAndroid Build Coastguard Workerproto_library( 1233*1b3f573fSAndroid Build Coastguard Worker name = "kt_unittest", 1234*1b3f573fSAndroid Build Coastguard Worker srcs = [ 1235*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/map_proto2_unittest.proto", 1236*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest.proto", 1237*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import.proto", 1238*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import_public.proto", 1239*1b3f573fSAndroid Build Coastguard Worker ], 1240*1b3f573fSAndroid Build Coastguard Worker visibility = ["//java/kotlin:__subpackages__"], 1241*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 1242*1b3f573fSAndroid Build Coastguard Worker) 1243*1b3f573fSAndroid Build Coastguard Worker 1244*1b3f573fSAndroid Build Coastguard Workerproto_library( 1245*1b3f573fSAndroid Build Coastguard Worker name = "kt_proto3_unittest", 1246*1b3f573fSAndroid Build Coastguard Worker srcs = [ 1247*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import.proto", 1248*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_import_public.proto", 1249*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/unittest_proto3.proto", 1250*1b3f573fSAndroid Build Coastguard Worker ], 1251*1b3f573fSAndroid Build Coastguard Worker visibility = [ 1252*1b3f573fSAndroid Build Coastguard Worker "//java/kotlin:__subpackages__", 1253*1b3f573fSAndroid Build Coastguard Worker "//java/kotlin-lite:__subpackages__", 1254*1b3f573fSAndroid Build Coastguard Worker ], 1255*1b3f573fSAndroid Build Coastguard Worker strip_import_prefix = "src", 1256*1b3f573fSAndroid Build Coastguard Worker) 1257*1b3f573fSAndroid Build Coastguard Worker 1258*1b3f573fSAndroid Build Coastguard Worker################################################################################ 1259*1b3f573fSAndroid Build Coastguard Worker# Packaging rules 1260*1b3f573fSAndroid Build Coastguard Worker################################################################################ 1261*1b3f573fSAndroid Build Coastguard Worker 1262*1b3f573fSAndroid Build Coastguard Worker# Files included in all source distributions 1263*1b3f573fSAndroid Build Coastguard Workerpkg_files( 1264*1b3f573fSAndroid Build Coastguard Worker name = "common_dist_files", 1265*1b3f573fSAndroid Build Coastguard Worker srcs = glob( 1266*1b3f573fSAndroid Build Coastguard Worker [ 1267*1b3f573fSAndroid Build Coastguard Worker "*.bzl", 1268*1b3f573fSAndroid Build Coastguard Worker "cmake/*.cmake", 1269*1b3f573fSAndroid Build Coastguard Worker "cmake/*.in", 1270*1b3f573fSAndroid Build Coastguard Worker "editors/*", 1271*1b3f573fSAndroid Build Coastguard Worker 1272*1b3f573fSAndroid Build Coastguard Worker # Several of these files are generated by autogen.sh, so using 1273*1b3f573fSAndroid Build Coastguard Worker # glob() lets us ignore them if they are missing. (This is not good 1274*1b3f573fSAndroid Build Coastguard Worker # practice, though.) 1275*1b3f573fSAndroid Build Coastguard Worker "Makefile.in", 1276*1b3f573fSAndroid Build Coastguard Worker "aclocal.m4", 1277*1b3f573fSAndroid Build Coastguard Worker "ar-lib", 1278*1b3f573fSAndroid Build Coastguard Worker "compile", 1279*1b3f573fSAndroid Build Coastguard Worker "config*", 1280*1b3f573fSAndroid Build Coastguard Worker "depcomp", 1281*1b3f573fSAndroid Build Coastguard Worker "install-sh", 1282*1b3f573fSAndroid Build Coastguard Worker "ltmain.sh", 1283*1b3f573fSAndroid Build Coastguard Worker "m4/*.m4", 1284*1b3f573fSAndroid Build Coastguard Worker "missing", 1285*1b3f573fSAndroid Build Coastguard Worker "protobuf*.pc.in", 1286*1b3f573fSAndroid Build Coastguard Worker "test-driver", 1287*1b3f573fSAndroid Build Coastguard Worker ], 1288*1b3f573fSAndroid Build Coastguard Worker allow_empty = True, 1289*1b3f573fSAndroid Build Coastguard Worker ) + [ 1290*1b3f573fSAndroid Build Coastguard Worker "BUILD.bazel", 1291*1b3f573fSAndroid Build Coastguard Worker "CHANGES.txt", 1292*1b3f573fSAndroid Build Coastguard Worker "CMakeLists.txt", 1293*1b3f573fSAndroid Build Coastguard Worker "CONTRIBUTORS.txt", 1294*1b3f573fSAndroid Build Coastguard Worker "LICENSE", 1295*1b3f573fSAndroid Build Coastguard Worker "Makefile.am", 1296*1b3f573fSAndroid Build Coastguard Worker "README.md", 1297*1b3f573fSAndroid Build Coastguard Worker "WORKSPACE", 1298*1b3f573fSAndroid Build Coastguard Worker "autogen.sh", 1299*1b3f573fSAndroid Build Coastguard Worker "build_files_updated_unittest.sh", 1300*1b3f573fSAndroid Build Coastguard Worker "cmake/CMakeLists.txt", 1301*1b3f573fSAndroid Build Coastguard Worker "cmake/README.md", 1302*1b3f573fSAndroid Build Coastguard Worker "generate_descriptor_proto.sh", 1303*1b3f573fSAndroid Build Coastguard Worker "maven_install.json", 1304*1b3f573fSAndroid Build Coastguard Worker "update_file_lists.sh", 1305*1b3f573fSAndroid Build Coastguard Worker "//third_party:BUILD.bazel", 1306*1b3f573fSAndroid Build Coastguard Worker "//third_party:zlib.BUILD", 1307*1b3f573fSAndroid Build Coastguard Worker "//util/python:BUILD.bazel", 1308*1b3f573fSAndroid Build Coastguard Worker ], 1309*1b3f573fSAndroid Build Coastguard Worker strip_prefix = strip_prefix.from_root(""), 1310*1b3f573fSAndroid Build Coastguard Worker visibility = ["//pkg:__pkg__"], 1311*1b3f573fSAndroid Build Coastguard Worker) 1312*1b3f573fSAndroid Build Coastguard Worker 1313*1b3f573fSAndroid Build Coastguard Worker# C++ runtime 1314*1b3f573fSAndroid Build Coastguard Workerpkg_files( 1315*1b3f573fSAndroid Build Coastguard Worker name = "cpp_dist_files", 1316*1b3f573fSAndroid Build Coastguard Worker srcs = glob( 1317*1b3f573fSAndroid Build Coastguard Worker ["src/**/*"], 1318*1b3f573fSAndroid Build Coastguard Worker exclude = [ 1319*1b3f573fSAndroid Build Coastguard Worker "src/google/protobuf/compiler/objectivec/method_dump.sh", # not in autotools dist 1320*1b3f573fSAndroid Build Coastguard Worker ], 1321*1b3f573fSAndroid Build Coastguard Worker ), 1322*1b3f573fSAndroid Build Coastguard Worker strip_prefix = strip_prefix.from_root(""), 1323*1b3f573fSAndroid Build Coastguard Worker visibility = ["//pkg:__pkg__"], 1324*1b3f573fSAndroid Build Coastguard Worker) 1325*1b3f573fSAndroid Build Coastguard Worker 1326*1b3f573fSAndroid Build Coastguard Worker# Additional files for C# 1327*1b3f573fSAndroid Build Coastguard Workerpkg_files( 1328*1b3f573fSAndroid Build Coastguard Worker name = "csharp_dist_files", 1329*1b3f573fSAndroid Build Coastguard Worker srcs = [ 1330*1b3f573fSAndroid Build Coastguard Worker "global.json", 1331*1b3f573fSAndroid Build Coastguard Worker ], 1332*1b3f573fSAndroid Build Coastguard Worker visibility = ["//pkg:__pkg__"], 1333*1b3f573fSAndroid Build Coastguard Worker) 1334*1b3f573fSAndroid Build Coastguard Worker 1335*1b3f573fSAndroid Build Coastguard Worker# Additional files for ObjC 1336*1b3f573fSAndroid Build Coastguard Workerpkg_files( 1337*1b3f573fSAndroid Build Coastguard Worker name = "objectivec_dist_files", 1338*1b3f573fSAndroid Build Coastguard Worker srcs = [ 1339*1b3f573fSAndroid Build Coastguard Worker "Protobuf.podspec", 1340*1b3f573fSAndroid Build Coastguard Worker ], 1341*1b3f573fSAndroid Build Coastguard Worker visibility = ["//pkg:__pkg__"], 1342*1b3f573fSAndroid Build Coastguard Worker) 1343*1b3f573fSAndroid Build Coastguard Worker 1344*1b3f573fSAndroid Build Coastguard Worker# Python runtime 1345*1b3f573fSAndroid Build Coastguard Workerpkg_files( 1346*1b3f573fSAndroid Build Coastguard Worker name = "python_dist_files", 1347*1b3f573fSAndroid Build Coastguard Worker srcs = glob([ 1348*1b3f573fSAndroid Build Coastguard Worker "python/google/**/*.proto", 1349*1b3f573fSAndroid Build Coastguard Worker "python/google/**/*.py", 1350*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/internal/*.cc", 1351*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/pyext/*.cc", 1352*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/pyext/*.h", 1353*1b3f573fSAndroid Build Coastguard Worker ]) + [ 1354*1b3f573fSAndroid Build Coastguard Worker "python/MANIFEST.in", 1355*1b3f573fSAndroid Build Coastguard Worker "python/README.md", 1356*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/proto_api.h", 1357*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/pyext/README", 1358*1b3f573fSAndroid Build Coastguard Worker "python/google/protobuf/python_protobuf.h", 1359*1b3f573fSAndroid Build Coastguard Worker "python/mox.py", 1360*1b3f573fSAndroid Build Coastguard Worker "python/release.sh", 1361*1b3f573fSAndroid Build Coastguard Worker "python/setup.cfg", 1362*1b3f573fSAndroid Build Coastguard Worker "python/setup.py", 1363*1b3f573fSAndroid Build Coastguard Worker "python/stubout.py", 1364*1b3f573fSAndroid Build Coastguard Worker "python/tox.ini", 1365*1b3f573fSAndroid Build Coastguard Worker ], 1366*1b3f573fSAndroid Build Coastguard Worker strip_prefix = strip_prefix.from_root(""), 1367*1b3f573fSAndroid Build Coastguard Worker visibility = ["//pkg:__pkg__"], 1368*1b3f573fSAndroid Build Coastguard Worker) 1369