BUILD.bazel 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. # This is an API workspace, having public visibility by default makes perfect sense.
  2. package(default_visibility = ["//visibility:public"])
  3. ##############################################################################
  4. # Common
  5. ##############################################################################
  6. load("@rules_proto//proto:defs.bzl", "proto_library")
  7. load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
  8. proto_library(
  9. name = "secretmanager_proto",
  10. srcs = [
  11. "resources.proto",
  12. "service.proto",
  13. ],
  14. deps = [
  15. "//google/api:annotations_proto",
  16. "//google/api:client_proto",
  17. "//google/api:field_behavior_proto",
  18. "//google/api:resource_proto",
  19. "//google/iam/v1:iam_policy_proto",
  20. "//google/iam/v1:policy_proto",
  21. "@com_google_protobuf//:empty_proto",
  22. "@com_google_protobuf//:field_mask_proto",
  23. "@com_google_protobuf//:timestamp_proto",
  24. ],
  25. )
  26. proto_library_with_info(
  27. name = "secretmanager_proto_with_info",
  28. deps = [
  29. ":secretmanager_proto",
  30. "//google/cloud:common_resources_proto",
  31. ],
  32. )
  33. ##############################################################################
  34. # Java
  35. ##############################################################################
  36. load(
  37. "@com_google_googleapis_imports//:imports.bzl",
  38. "java_gapic_assembly_gradle_pkg",
  39. "java_gapic_library",
  40. "java_gapic_test",
  41. "java_grpc_library",
  42. "java_proto_library",
  43. )
  44. java_proto_library(
  45. name = "secretmanager_java_proto",
  46. deps = [":secretmanager_proto"],
  47. )
  48. java_grpc_library(
  49. name = "secretmanager_java_grpc",
  50. srcs = [":secretmanager_proto"],
  51. deps = [":secretmanager_java_proto"],
  52. )
  53. java_gapic_library(
  54. name = "secretmanager_java_gapic",
  55. srcs = [":secretmanager_proto_with_info"],
  56. grpc_service_config = "secretmanager_grpc_service_config.json",
  57. test_deps = [
  58. ":secretmanager_java_grpc",
  59. "//google/iam/v1:iam_java_grpc",
  60. ],
  61. deps = [
  62. ":secretmanager_java_proto",
  63. "//google/iam/v1:iam_java_proto",
  64. ],
  65. )
  66. java_gapic_test(
  67. name = "secretmanager_java_gapic_test_suite",
  68. test_classes = [
  69. "com.google.cloud.secretmanager.v1beta1.SecretManagerServiceClientTest",
  70. ],
  71. runtime_deps = [":secretmanager_java_gapic_test"],
  72. )
  73. # Open Source Packages
  74. java_gapic_assembly_gradle_pkg(
  75. name = "google-cloud-secretmanager-v1beta1-java",
  76. deps = [
  77. ":secretmanager_java_gapic",
  78. ":secretmanager_java_grpc",
  79. ":secretmanager_java_proto",
  80. ":secretmanager_proto",
  81. ],
  82. )
  83. ##############################################################################
  84. # Go
  85. ##############################################################################
  86. load(
  87. "@com_google_googleapis_imports//:imports.bzl",
  88. "go_gapic_assembly_pkg",
  89. "go_gapic_library",
  90. "go_proto_library",
  91. "go_test",
  92. )
  93. go_proto_library(
  94. name = "secretmanager_go_proto",
  95. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  96. importpath = "google.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1",
  97. protos = [":secretmanager_proto"],
  98. deps = [
  99. "//google/api:annotations_go_proto",
  100. "//google/iam/v1:iam_go_proto",
  101. ],
  102. )
  103. go_gapic_library(
  104. name = "secretmanager_go_gapic",
  105. srcs = [":secretmanager_proto_with_info"],
  106. grpc_service_config = "secretmanager_grpc_service_config.json",
  107. importpath = "cloud.google.com/go/secretmanager/apiv1beta1;secretmanager",
  108. service_yaml = "//google/cloud/secrets/v1beta1:secretmanager_v1beta1.yaml",
  109. deps = [
  110. ":secretmanager_go_proto",
  111. "//google/iam/v1:iam_go_proto",
  112. ],
  113. )
  114. go_test(
  115. name = "secretmanager_go_gapic_test",
  116. srcs = [":secretmanager_go_gapic_srcjar_test"],
  117. embed = [":secretmanager_go_gapic"],
  118. importpath = "cloud.google.com/go/secretmanager/apiv1beta1",
  119. )
  120. # Open Source Packages
  121. go_gapic_assembly_pkg(
  122. name = "gapi-cloud-secretmanager-v1beta1-go",
  123. deps = [
  124. ":secretmanager_go_gapic",
  125. ":secretmanager_go_gapic_srcjar-test.srcjar",
  126. ":secretmanager_go_proto",
  127. ],
  128. )
  129. ##############################################################################
  130. # Python
  131. ##############################################################################
  132. load(
  133. "@com_google_googleapis_imports//:imports.bzl",
  134. "py_gapic_assembly_pkg",
  135. "py_gapic_library",
  136. )
  137. py_gapic_library(
  138. name = "secretmanager_py_gapic",
  139. srcs = [":secretmanager_proto"],
  140. grpc_service_config = "secretmanager_grpc_service_config.json",
  141. opt_args = [
  142. "python-gapic-namespace=google.cloud",
  143. "python-gapic-name=secretmanager",
  144. ],
  145. )
  146. py_gapic_assembly_pkg(
  147. name = "secretmanager-v1beta1-py",
  148. deps = [
  149. ":secretmanager_py_gapic",
  150. ],
  151. )
  152. ##############################################################################
  153. # PHP
  154. ##############################################################################
  155. load(
  156. "@com_google_googleapis_imports//:imports.bzl",
  157. "php_gapic_assembly_pkg",
  158. "php_gapic_library",
  159. "php_grpc_library",
  160. "php_proto_library",
  161. )
  162. php_proto_library(
  163. name = "secretmanager_php_proto",
  164. deps = [":secretmanager_proto"],
  165. )
  166. php_grpc_library(
  167. name = "secretmanager_php_grpc",
  168. srcs = [":secretmanager_proto"],
  169. deps = [":secretmanager_php_proto"],
  170. )
  171. php_gapic_library(
  172. name = "secretmanager_php_gapic",
  173. srcs = [":secretmanager_proto_with_info"],
  174. grpc_service_config = "secretmanager_grpc_service_config.json",
  175. deps = [
  176. ":secretmanager_php_grpc",
  177. ":secretmanager_php_proto",
  178. ],
  179. )
  180. # Open Source Packages
  181. php_gapic_assembly_pkg(
  182. name = "google-cloud-secretmanager-v1beta1-php",
  183. deps = [
  184. ":secretmanager_php_gapic",
  185. ":secretmanager_php_grpc",
  186. ":secretmanager_php_proto",
  187. ],
  188. )
  189. ##############################################################################
  190. # Node.js
  191. ##############################################################################
  192. load(
  193. "@com_google_googleapis_imports//:imports.bzl",
  194. "nodejs_gapic_assembly_pkg",
  195. "nodejs_gapic_library",
  196. )
  197. nodejs_gapic_library(
  198. name = "secretmanager_nodejs_gapic",
  199. package_name = "@google-cloud/secret-manager",
  200. src = ":secretmanager_proto_with_info",
  201. extra_protoc_parameters = ["metadata"],
  202. grpc_service_config = "secretmanager_grpc_service_config.json",
  203. package = "google.cloud.secrets.v1beta1",
  204. service_yaml = "//google/cloud/secrets/v1beta1:secretmanager_v1beta1.yaml",
  205. deps = [],
  206. )
  207. nodejs_gapic_assembly_pkg(
  208. name = "secretmanager-v1beta1-nodejs",
  209. deps = [
  210. ":secretmanager_nodejs_gapic",
  211. ":secretmanager_proto",
  212. ],
  213. )
  214. ##############################################################################
  215. # Ruby
  216. ##############################################################################
  217. load(
  218. "@com_google_googleapis_imports//:imports.bzl",
  219. "ruby_cloud_gapic_library",
  220. "ruby_gapic_assembly_pkg",
  221. "ruby_grpc_library",
  222. "ruby_proto_library",
  223. )
  224. ruby_proto_library(
  225. name = "secretmanager_ruby_proto",
  226. deps = [":secretmanager_proto"],
  227. )
  228. ruby_grpc_library(
  229. name = "secretmanager_ruby_grpc",
  230. srcs = [":secretmanager_proto"],
  231. deps = [":secretmanager_ruby_proto"],
  232. )
  233. ruby_cloud_gapic_library(
  234. name = "secretmanager_ruby_gapic",
  235. srcs = [":secretmanager_proto_with_info"],
  236. extra_protoc_parameters = [
  237. "ruby-cloud-gem-name=google-cloud-secret_manager-v1beta1",
  238. "ruby-cloud-env-prefix=SECRET_MANAGER",
  239. "ruby-cloud-product-url=https://cloud.google.com/secret-manager",
  240. "ruby-cloud-api-id=secretmanager.googleapis.com",
  241. "ruby-cloud-api-shortname=secretmanager",
  242. ],
  243. grpc_service_config = "secretmanager_grpc_service_config.json",
  244. ruby_cloud_description = "Secret Manager is a secure and convenient storage system for API keys, passwords, certificates, and other sensitive data. Secret Manager provides a central place and single source of truth to manage, access, and audit secrets across Google Cloud.",
  245. ruby_cloud_title = "Secret Manager V1beta1",
  246. deps = [
  247. ":secretmanager_ruby_grpc",
  248. ":secretmanager_ruby_proto",
  249. ],
  250. )
  251. # Open Source Packages
  252. ruby_gapic_assembly_pkg(
  253. name = "google-cloud-secretmanager-v1beta1-ruby",
  254. deps = [
  255. ":secretmanager_ruby_gapic",
  256. ":secretmanager_ruby_grpc",
  257. ":secretmanager_ruby_proto",
  258. ],
  259. )
  260. ##############################################################################
  261. # C#
  262. ##############################################################################
  263. load(
  264. "@com_google_googleapis_imports//:imports.bzl",
  265. "csharp_gapic_assembly_pkg",
  266. "csharp_gapic_library",
  267. "csharp_grpc_library",
  268. "csharp_proto_library",
  269. )
  270. csharp_proto_library(
  271. name = "secretmanager_csharp_proto",
  272. deps = [":secretmanager_proto"],
  273. )
  274. csharp_grpc_library(
  275. name = "secretmanager_csharp_grpc",
  276. srcs = [":secretmanager_proto"],
  277. deps = [":secretmanager_csharp_proto"],
  278. )
  279. csharp_gapic_library(
  280. name = "secretmanager_csharp_gapic",
  281. srcs = [":secretmanager_proto_with_info"],
  282. common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
  283. grpc_service_config = "secretmanager_grpc_service_config.json",
  284. deps = [
  285. ":secretmanager_csharp_grpc",
  286. ":secretmanager_csharp_proto",
  287. ],
  288. )
  289. # Open Source Packages
  290. csharp_gapic_assembly_pkg(
  291. name = "google-cloud-secretmanager-v1beta1-csharp",
  292. deps = [
  293. ":secretmanager_csharp_gapic",
  294. ":secretmanager_csharp_grpc",
  295. ":secretmanager_csharp_proto",
  296. ],
  297. )
  298. ##############################################################################
  299. # C++
  300. ##############################################################################
  301. # Put your C++ rules here