BUILD.bazel 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. load("@rules_proto//proto:defs.bzl", "proto_library")
  2. ##############################################################################
  3. # Common
  4. ##############################################################################
  5. load(
  6. "@com_google_googleapis_imports//:imports.bzl",
  7. "cc_grpc_library",
  8. "cc_proto_library",
  9. "csharp_gapic_assembly_pkg",
  10. "csharp_gapic_library",
  11. "csharp_grpc_library",
  12. "csharp_proto_library",
  13. "go_gapic_assembly_pkg",
  14. "go_proto_library",
  15. "java_gapic_assembly_gradle_pkg",
  16. "java_grpc_library",
  17. "java_proto_library",
  18. "proto_library_with_info",
  19. "py_proto_library",
  20. "ruby_cloud_gapic_library",
  21. "ruby_gapic_assembly_pkg",
  22. "ruby_grpc_library",
  23. "ruby_proto_library",
  24. )
  25. # This is an API workspace, having public visibility by default makes perfect sense.
  26. package(default_visibility = ["//visibility:public"])
  27. proto_library(
  28. name = "iam_policy_proto",
  29. srcs = ["iam_policy.proto"],
  30. deps = [
  31. ":options_proto",
  32. ":policy_proto",
  33. "//google/api:annotations_proto",
  34. "//google/api:client_proto",
  35. "//google/api:field_behavior_proto",
  36. "//google/api:resource_proto",
  37. "@com_google_protobuf//:field_mask_proto",
  38. ],
  39. )
  40. proto_library(
  41. name = "policy_proto",
  42. srcs = ["policy.proto"],
  43. deps = [
  44. "//google/api:annotations_proto",
  45. "//google/type:expr_proto",
  46. ],
  47. )
  48. proto_library(
  49. name = "options_proto",
  50. srcs = ["options.proto"],
  51. deps = [
  52. "//google/api:annotations_proto",
  53. ],
  54. )
  55. proto_library_with_info(
  56. name = "iam_proto_with_info",
  57. deps = [
  58. ":iam_policy_proto",
  59. ":options_proto",
  60. ":policy_proto",
  61. ],
  62. )
  63. java_proto_library(
  64. name = "iam_java_proto",
  65. deps = [
  66. ":iam_policy_proto",
  67. ":options_proto",
  68. ":policy_proto",
  69. ],
  70. )
  71. java_grpc_library(
  72. name = "iam_java_grpc",
  73. srcs = [":iam_policy_proto"],
  74. deps = [":iam_java_proto"],
  75. )
  76. # Please DO-NOT-REMOVE this section.
  77. # This is required to generate java files for these protos.
  78. # Open Source Packages
  79. java_gapic_assembly_gradle_pkg(
  80. name = "google-iam-v1-java",
  81. include_samples = True,
  82. transport = "grpc+rest",
  83. deps = [
  84. "iam_java_grpc",
  85. "iam_java_proto",
  86. ],
  87. )
  88. go_proto_library(
  89. name = "iam_go_proto",
  90. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  91. importpath = "google.golang.org/genproto/googleapis/iam/v1",
  92. protos = [
  93. ":iam_policy_proto",
  94. ":options_proto",
  95. ":policy_proto",
  96. ],
  97. deps = [
  98. "//google/api:annotations_go_proto",
  99. "//google/type:expr_go_proto",
  100. ],
  101. )
  102. go_gapic_assembly_pkg(
  103. name = "gapi-cloud-iam-v1-go",
  104. deps = [
  105. ":iam_go_proto",
  106. ],
  107. )
  108. cc_proto_library(
  109. name = "iam_policy_cc_proto",
  110. deps = [":iam_policy_proto"],
  111. )
  112. cc_proto_library(
  113. name = "options_cc_proto",
  114. deps = [":options_proto"],
  115. )
  116. cc_proto_library(
  117. name = "policy_cc_proto",
  118. deps = [":policy_proto"],
  119. )
  120. cc_grpc_library(
  121. name = "iam_cc_grpc",
  122. srcs = [":iam_policy_proto"],
  123. grpc_only = True,
  124. deps = [":iam_policy_cc_proto"],
  125. )
  126. py_proto_library(
  127. name = "iam_policy_py_proto",
  128. deps = [":iam_policy_proto"],
  129. )
  130. py_proto_library(
  131. name = "policy_py_proto",
  132. deps = [":policy_proto"],
  133. )
  134. py_proto_library(
  135. name = "options_py_proto",
  136. deps = [":options_proto"],
  137. )
  138. ruby_proto_library(
  139. name = "iam_ruby_proto",
  140. deps = [
  141. ":iam_policy_proto",
  142. ":options_proto",
  143. ":policy_proto",
  144. "//google/iam/v1/logging:audit_data_proto",
  145. ],
  146. )
  147. ruby_grpc_library(
  148. name = "iam_ruby_grpc",
  149. srcs = [":iam_policy_proto"],
  150. deps = [":iam_ruby_proto"],
  151. )
  152. ruby_cloud_gapic_library(
  153. name = "iam_ruby_gapic",
  154. srcs = [":iam_proto_with_info"],
  155. extra_protoc_parameters = [
  156. "ruby-cloud-gem-name=google-iam-v1",
  157. ],
  158. rest_numeric_enums = False,
  159. ruby_cloud_description = "An add-on interface used by some Google API clients to provide IAM Policy calls.",
  160. ruby_cloud_title = "IAM",
  161. deps = [
  162. ":iam_ruby_grpc",
  163. ":iam_ruby_proto",
  164. ],
  165. )
  166. # Open Source Packages
  167. ruby_gapic_assembly_pkg(
  168. name = "google-cloud-iam-v1-ruby",
  169. deps = [
  170. ":iam_ruby_gapic",
  171. ":iam_ruby_grpc",
  172. ":iam_ruby_proto",
  173. ],
  174. )
  175. csharp_proto_library(
  176. name = "iam_csharp_proto",
  177. deps = [
  178. ":iam_policy_proto",
  179. ":options_proto",
  180. ":policy_proto",
  181. "//google/iam/v1/logging:audit_data_proto",
  182. ],
  183. )
  184. csharp_grpc_library(
  185. name = "iam_csharp_grpc",
  186. srcs = [":iam_policy_proto"],
  187. deps = [":iam_csharp_proto"],
  188. )
  189. csharp_gapic_library(
  190. name = "iam_csharp_gapic",
  191. srcs = [":iam_proto_with_info"],
  192. common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
  193. rest_numeric_enums = False,
  194. deps = [
  195. ":iam_csharp_grpc",
  196. ":iam_csharp_proto",
  197. ],
  198. )
  199. # Open Source Packages
  200. csharp_gapic_assembly_pkg(
  201. name = "google-cloud-iam-v1-csharp",
  202. deps = [
  203. ":iam_csharp_gapic",
  204. ":iam_csharp_grpc",
  205. ":iam_csharp_proto",
  206. ],
  207. )