text: """Generated definition of objc_grpc_library."""
  
  load("//objc:objc_grpc_compile.bzl", "objc_grpc_compile")
  load("//internal:compile.bzl", "proto_compile_attrs")
  load("//internal:filter_files.bzl", "filter_files")
  load("@rules_cc//cc:defs.bzl", "objc_library")
  
  def objc_grpc_library(name, **kwargs):  # buildifier: disable=function-docstring
      # Compile protos
      name_pb = name + "_pb"
      objc_grpc_compile(
          name = name_pb,
          **{
              k: v
              for (k, v) in kwargs.items()
              if k in proto_compile_attrs.keys()
          }  # Forward args
      )
  
      # Filter files to sources and headers
      filter_files(
          name = name_pb + "_srcs",
          target = name_pb,
          extensions = ["m"],
      )
  
      filter_files(
          name = name_pb + "_hdrs",
          target = name_pb,
          extensions = ["h"],
      )
  
      # Create objc library
      objc_library(
          name = name,
          srcs = [name_pb],
          deps = GRPC_DEPS + kwargs.get("deps", []),
          includes = [name_pb],
          alwayslink = kwargs.get("alwayslink"),
          copts = kwargs.get("copts"),
          defines = kwargs.get("defines"),
          include_prefix = kwargs.get("include_prefix"),
          linkopts = kwargs.get("linkopts"),
          linkstatic = kwargs.get("linkstatic"),
          local_defines = kwargs.get("local_defines"),
          nocopts = kwargs.get("nocopts"),
          strip_include_prefix = kwargs.get("strip_include_prefix"),
          visibility = kwargs.get("visibility"),
          tags = kwargs.get("tags"),
      )
  
  GRPC_DEPS = [
      "@com_google_protobuf//:protobuf_objc",
      "@com_github_grpc_grpc//src/objective-c:proto_objc_rpc",
  ]
  