BUILD.bazel 11 KB

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