BUILD.bazel 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. load("@rules_proto//proto:defs.bzl", "proto_library")
  2. # This is an API workspace, having public visibility by default makes perfect sense.
  3. package(default_visibility = ["//visibility:public"])
  4. # Reading the default service config is useful for custom gRPC clients.
  5. exports_files(["cloudkms_grpc_service_config.json"])
  6. ##############################################################################
  7. # Common
  8. ##############################################################################
  9. load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
  10. proto_library(
  11. name = "kms_proto",
  12. srcs = [
  13. "resources.proto",
  14. "service.proto",
  15. ],
  16. deps = [
  17. "//google/api:annotations_proto",
  18. "//google/api:client_proto",
  19. "//google/api:field_behavior_proto",
  20. "//google/api:resource_proto",
  21. "@com_google_protobuf//:duration_proto",
  22. "@com_google_protobuf//:field_mask_proto",
  23. "@com_google_protobuf//:struct_proto",
  24. "@com_google_protobuf//:timestamp_proto",
  25. "@com_google_protobuf//:wrappers_proto",
  26. ],
  27. )
  28. proto_library_with_info(
  29. name = "kms_proto_with_info",
  30. deps = [
  31. ":kms_proto",
  32. "//google/cloud:common_resources_proto",
  33. "//google/iam/v1:iam_policy_proto",
  34. "//google/iam/v1:policy_proto",
  35. ],
  36. )
  37. ##############################################################################
  38. # Java
  39. ##############################################################################
  40. load(
  41. "@com_google_googleapis_imports//:imports.bzl",
  42. "java_gapic_assembly_gradle_pkg",
  43. "java_gapic_library",
  44. "java_gapic_test",
  45. "java_grpc_library",
  46. "java_proto_library",
  47. )
  48. java_proto_library(
  49. name = "kms_java_proto",
  50. deps = [":kms_proto"],
  51. )
  52. java_grpc_library(
  53. name = "kms_java_grpc",
  54. srcs = [":kms_proto"],
  55. deps = [":kms_java_proto"],
  56. )
  57. java_gapic_library(
  58. name = "kms_java_gapic",
  59. srcs = [":kms_proto_with_info"],
  60. grpc_service_config = "cloudkms_grpc_service_config.json",
  61. service_yaml = "cloudkms_v1.yaml",
  62. test_deps = [
  63. ":kms_java_grpc",
  64. "//google/iam/v1:iam_java_grpc",
  65. ],
  66. deps = [
  67. ":kms_java_proto",
  68. "//google/iam/v1:iam_java_proto",
  69. ],
  70. )
  71. java_gapic_test(
  72. name = "kms_java_gapic_test_suite",
  73. test_classes = [
  74. "com.google.cloud.kms.v1.KeyManagementServiceClientTest",
  75. ],
  76. runtime_deps = [":kms_java_gapic_test"],
  77. )
  78. # Open Source Packages
  79. java_gapic_assembly_gradle_pkg(
  80. name = "google-cloud-kms-v1-java",
  81. deps = [
  82. ":kms_java_gapic",
  83. ":kms_java_grpc",
  84. ":kms_java_proto",
  85. ":kms_proto",
  86. ],
  87. )
  88. ##############################################################################
  89. # Go
  90. ##############################################################################
  91. load(
  92. "@com_google_googleapis_imports//:imports.bzl",
  93. "go_gapic_assembly_pkg",
  94. "go_gapic_library",
  95. "go_proto_library",
  96. "go_test",
  97. )
  98. go_proto_library(
  99. name = "kms_go_proto",
  100. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  101. importpath = "google.golang.org/genproto/googleapis/cloud/kms/v1",
  102. protos = [":kms_proto"],
  103. deps = [
  104. "//google/api:annotations_go_proto",
  105. "//google/iam/v1:iam_go_proto",
  106. ],
  107. )
  108. go_gapic_library(
  109. name = "kms_go_gapic",
  110. srcs = [":kms_proto_with_info"],
  111. grpc_service_config = "cloudkms_grpc_service_config.json",
  112. importpath = "cloud.google.com/go/kms/apiv1;kms",
  113. service_yaml = "cloudkms_v1.yaml",
  114. deps = [
  115. ":kms_go_proto",
  116. "//google/iam/v1:iam_go_proto",
  117. "@io_bazel_rules_go//proto/wkt:duration_go_proto",
  118. ],
  119. )
  120. go_test(
  121. name = "kms_go_gapic_test",
  122. srcs = [":kms_go_gapic_srcjar_test"],
  123. embed = [":kms_go_gapic"],
  124. importpath = "cloud.google.com/go/kms/apiv1",
  125. )
  126. # Open Source Packages
  127. go_gapic_assembly_pkg(
  128. name = "gapi-cloud-kms-v1-go",
  129. deps = [
  130. ":kms_go_gapic",
  131. ":kms_go_gapic_srcjar-test.srcjar",
  132. ":kms_go_proto",
  133. ],
  134. )
  135. ##############################################################################
  136. # Python
  137. ##############################################################################
  138. load(
  139. "@com_google_googleapis_imports//:imports.bzl",
  140. "py_gapic_assembly_pkg",
  141. "py_gapic_library",
  142. )
  143. py_gapic_library(
  144. name = "kms_py_gapic",
  145. srcs = [":kms_proto"],
  146. grpc_service_config = "cloudkms_grpc_service_config.json",
  147. opt_args = ["add-iam-methods"],
  148. )
  149. py_gapic_assembly_pkg(
  150. name = "kms-v1-py",
  151. deps = [
  152. ":kms_py_gapic",
  153. ],
  154. )
  155. ##############################################################################
  156. # PHP
  157. ##############################################################################
  158. load(
  159. "@com_google_googleapis_imports//:imports.bzl",
  160. "php_gapic_assembly_pkg",
  161. "php_gapic_library",
  162. "php_grpc_library",
  163. "php_proto_library",
  164. )
  165. php_proto_library(
  166. name = "kms_php_proto",
  167. deps = [":kms_proto"],
  168. )
  169. php_grpc_library(
  170. name = "kms_php_grpc",
  171. srcs = [":kms_proto"],
  172. deps = [":kms_php_proto"],
  173. )
  174. php_gapic_library(
  175. name = "kms_php_gapic",
  176. srcs = [":kms_proto_with_info"],
  177. service_yaml = "cloudkms_v1.yaml",
  178. deps = [
  179. ":kms_php_grpc",
  180. ":kms_php_proto",
  181. ],
  182. )
  183. # Open Source Packages
  184. php_gapic_assembly_pkg(
  185. name = "google-cloud-kms-v1-php",
  186. deps = [
  187. ":kms_php_gapic",
  188. ":kms_php_grpc",
  189. ":kms_php_proto",
  190. ],
  191. )
  192. ##############################################################################
  193. # Node.js
  194. ##############################################################################
  195. load(
  196. "@com_google_googleapis_imports//:imports.bzl",
  197. "nodejs_gapic_assembly_pkg",
  198. "nodejs_gapic_library",
  199. )
  200. nodejs_gapic_library(
  201. name = "kms_nodejs_gapic",
  202. package_name = "@google-cloud/kms",
  203. src = ":kms_proto_with_info",
  204. extra_protoc_parameters = ["metadata"],
  205. grpc_service_config = "cloudkms_grpc_service_config.json",
  206. package = "google.cloud.kms.v1",
  207. service_yaml = "cloudkms_v1.yaml",
  208. deps = [],
  209. )
  210. nodejs_gapic_assembly_pkg(
  211. name = "kms-v1-nodejs",
  212. deps = [
  213. ":kms_nodejs_gapic",
  214. ":kms_proto",
  215. ],
  216. )
  217. ##############################################################################
  218. # Ruby
  219. ##############################################################################
  220. load(
  221. "@com_google_googleapis_imports//:imports.bzl",
  222. "ruby_cloud_gapic_library",
  223. "ruby_gapic_assembly_pkg",
  224. "ruby_grpc_library",
  225. "ruby_proto_library",
  226. )
  227. ruby_proto_library(
  228. name = "kms_ruby_proto",
  229. deps = [":kms_proto"],
  230. )
  231. ruby_grpc_library(
  232. name = "kms_ruby_grpc",
  233. srcs = [":kms_proto"],
  234. deps = [":kms_ruby_proto"],
  235. )
  236. ruby_cloud_gapic_library(
  237. name = "kms_ruby_gapic",
  238. srcs = [":kms_proto_with_info"],
  239. extra_protoc_parameters = [
  240. "ruby-cloud-gem-name=google-cloud-kms-v1",
  241. "ruby-cloud-env-prefix=KMS",
  242. "ruby-cloud-common-services=google.iam.v1.IAMPolicy=google.cloud.kms.v1.KeyManagementService",
  243. "ruby-cloud-product-url=https://cloud.google.com/kms",
  244. "ruby-cloud-api-id=cloudkms.googleapis.com",
  245. "ruby-cloud-api-shortname=cloudkms",
  246. ],
  247. grpc_service_config = "cloudkms_grpc_service_config.json",
  248. ruby_cloud_description = "Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.",
  249. ruby_cloud_title = "Cloud Key Management Service (KMS) V1",
  250. deps = [
  251. ":kms_ruby_grpc",
  252. ":kms_ruby_proto",
  253. ],
  254. )
  255. # Open Source Packages
  256. ruby_gapic_assembly_pkg(
  257. name = "google-cloud-kms-v1-ruby",
  258. deps = [
  259. ":kms_ruby_gapic",
  260. ":kms_ruby_grpc",
  261. ":kms_ruby_proto",
  262. ],
  263. )
  264. ##############################################################################
  265. # C#
  266. ##############################################################################
  267. load(
  268. "@com_google_googleapis_imports//:imports.bzl",
  269. "csharp_gapic_assembly_pkg",
  270. "csharp_gapic_library",
  271. "csharp_grpc_library",
  272. "csharp_proto_library",
  273. )
  274. csharp_proto_library(
  275. name = "kms_csharp_proto",
  276. deps = [":kms_proto"],
  277. )
  278. csharp_grpc_library(
  279. name = "kms_csharp_grpc",
  280. srcs = [":kms_proto"],
  281. deps = [":kms_csharp_proto"],
  282. )
  283. csharp_gapic_library(
  284. name = "kms_csharp_gapic",
  285. srcs = [":kms_proto_with_info"],
  286. common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
  287. grpc_service_config = "cloudkms_grpc_service_config.json",
  288. deps = [
  289. ":kms_csharp_grpc",
  290. ":kms_csharp_proto",
  291. ],
  292. )
  293. # Open Source Packages
  294. csharp_gapic_assembly_pkg(
  295. name = "google-cloud-kms-v1-csharp",
  296. deps = [
  297. ":kms_csharp_gapic",
  298. ":kms_csharp_grpc",
  299. ":kms_csharp_proto",
  300. ],
  301. )
  302. ##############################################################################
  303. # C++
  304. ##############################################################################
  305. load(
  306. "@com_google_googleapis_imports//:imports.bzl",
  307. "cc_grpc_library",
  308. "cc_proto_library",
  309. )
  310. cc_proto_library(
  311. name = "kms_cc_proto",
  312. deps = [":kms_proto"],
  313. )
  314. cc_grpc_library(
  315. name = "kms_cc_grpc",
  316. srcs = [":kms_proto"],
  317. grpc_only = True,
  318. deps = [":kms_cc_proto"],
  319. )