| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | load(    "//bazel:generate_objc.bzl",    "generate_objc",    "generate_objc_hdrs",    "generate_objc_srcs",    "generate_objc_non_arc_srcs")load("//bazel:protobuf.bzl", "well_known_proto_libs")def objc_grpc_library(name, deps, srcs = [], use_well_known_protos = False, **kwargs):    """Generates messages and/or service stubs for given proto_library and all transitively dependent proto files    Args:        name: name of target        deps: a list of proto_library targets that needs to be compiled        srcs: a list of labels to proto files with service stubs to be generated,            labels specified must include service stubs; otherwise Bazel will complain about srcs being empty        use_well_known_protos: whether to use the well known protos defined in            @com_google_protobuf//src/google/protobuf, default to false        **kwargs: other arguments    """    objc_grpc_library_name = "_" + name + "_objc_grpc_library"    generate_objc(        name = objc_grpc_library_name,        srcs = srcs,        deps = deps,        use_well_known_protos = use_well_known_protos,        **kwargs    )    generate_objc_hdrs(        name = objc_grpc_library_name + "_hdrs",        src = ":" + objc_grpc_library_name,    )    generate_objc_non_arc_srcs(        name = objc_grpc_library_name + "_non_arc_srcs",        src = ":" + objc_grpc_library_name,    )    arc_srcs = None    if len(srcs) > 0:        generate_objc_srcs(            name = objc_grpc_library_name + "_srcs",            src = ":" + objc_grpc_library_name,        )        arc_srcs = [":" + objc_grpc_library_name + "_srcs"]    native.objc_library(        name = name,        hdrs = [":" + objc_grpc_library_name + "_hdrs"],        non_arc_srcs = [":" + objc_grpc_library_name + "_non_arc_srcs"],        srcs = arc_srcs,        defines = [            "GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=0",            "GPB_GRPC_FORWARD_DECLARE_MESSAGE_PROTO=0",        ],        includes = [            "_generated_protos",            "src/objective-c",        ],        deps = [            "@com_github_grpc_grpc//src/objective-c:proto_objc_rpc",            "@com_google_protobuf//:protobuf_objc",        ],        **kwargs    )
 |