BUILD.bazel 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. # This file was automatically generated by BuildFileGenerator
  2. # This is an API workspace, having public visibility by default makes perfect sense.
  3. package(default_visibility = ["//visibility:public"])
  4. ##############################################################################
  5. # Common
  6. ##############################################################################
  7. load("@rules_proto//proto:defs.bzl", "proto_library")
  8. load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
  9. proto_library(
  10. name = "storage_proto",
  11. srcs = [
  12. "storage.proto",
  13. "storage_resources.proto",
  14. ],
  15. deps = [
  16. "//google/api:client_proto",
  17. "//google/api:field_behavior_proto",
  18. "//google/iam/v1:iam_policy_proto",
  19. "//google/iam/v1:policy_proto",
  20. "@com_google_protobuf//:empty_proto",
  21. "@com_google_protobuf//:field_mask_proto",
  22. "@com_google_protobuf//:timestamp_proto",
  23. "@com_google_protobuf//:wrappers_proto",
  24. ],
  25. )
  26. proto_library_with_info(
  27. name = "storage_proto_with_info",
  28. deps = [
  29. ":storage_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 = "storage_java_proto",
  46. deps = [":storage_proto"],
  47. )
  48. java_grpc_library(
  49. name = "storage_java_grpc",
  50. srcs = [":storage_proto"],
  51. deps = [":storage_java_proto"],
  52. )
  53. java_gapic_library(
  54. name = "storage_java_gapic",
  55. srcs = [":storage_proto_with_info"],
  56. gapic_yaml = "storage_gapic.yaml",
  57. grpc_service_config = "storage_grpc_service_config.json",
  58. test_deps = [
  59. ":storage_java_grpc",
  60. "//google/iam/v1:iam_java_grpc",
  61. ],
  62. deps = [
  63. ":storage_java_proto",
  64. "//google/iam/v1:iam_java_proto",
  65. ],
  66. )
  67. java_gapic_test(
  68. name = "storage_java_gapic_test_suite",
  69. test_classes = [
  70. "com.google.cloud.google.storage.v1.StorageClientTest",
  71. ],
  72. runtime_deps = [":storage_java_gapic_test"],
  73. )
  74. # Open Source Packages
  75. java_gapic_assembly_gradle_pkg(
  76. name = "google-cloud-storage-v1-java",
  77. deps = [
  78. ":storage_java_gapic",
  79. ":storage_java_grpc",
  80. ":storage_java_proto",
  81. ":storage_proto",
  82. ],
  83. )
  84. ##############################################################################
  85. # Go
  86. ##############################################################################
  87. load(
  88. "@com_google_googleapis_imports//:imports.bzl",
  89. "go_gapic_assembly_pkg",
  90. "go_gapic_library",
  91. "go_proto_library",
  92. "go_test",
  93. )
  94. go_proto_library(
  95. name = "storage_go_proto",
  96. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  97. importpath = "google.golang.org/genproto/googleapis/storage/v1",
  98. protos = [":storage_proto"],
  99. deps = [
  100. "//google/api:annotations_go_proto",
  101. "//google/iam/v1:iam_go_proto",
  102. ],
  103. )
  104. go_gapic_library(
  105. name = "storage_go_gapic",
  106. srcs = [":storage_proto_with_info"],
  107. grpc_service_config = "storage_grpc_service_config.json",
  108. importpath = "cloud.google.com/go/storage/apiv1;storage",
  109. service_yaml = "storage_v1.yaml",
  110. deps = [
  111. ":storage_go_proto",
  112. "//google/iam/v1:iam_go_proto",
  113. ],
  114. )
  115. go_test(
  116. name = "storage_go_gapic_test",
  117. srcs = [":storage_go_gapic_srcjar_test"],
  118. embed = [":storage_go_gapic"],
  119. importpath = "cloud.google.com/go/storage/apiv1",
  120. )
  121. # Open Source Packages
  122. go_gapic_assembly_pkg(
  123. name = "gapi-cloud-storage-v1-go",
  124. deps = [
  125. ":storage_go_gapic",
  126. ":storage_go_gapic_srcjar-test.srcjar",
  127. ":storage_go_proto",
  128. ],
  129. )
  130. ##############################################################################
  131. # Python
  132. ##############################################################################
  133. load(
  134. "@com_google_googleapis_imports//:imports.bzl",
  135. "py_gapic_assembly_pkg",
  136. "py_gapic_library",
  137. )
  138. py_gapic_library(
  139. name = "storage_py_gapic",
  140. srcs = [":storage_proto"],
  141. grpc_service_config = "storage_grpc_service_config.json",
  142. )
  143. # Open Source Packages
  144. py_gapic_assembly_pkg(
  145. name = "storage-v1-py",
  146. deps = [
  147. ":storage_py_gapic",
  148. ],
  149. )
  150. ##############################################################################
  151. # PHP
  152. ##############################################################################
  153. # Note: The GCS gRPC API is launching without PHP client library support (see
  154. # https://buganizer.corp.google.com/issues/118459221#comment3), but we need to
  155. # generate Bazel build rules for all languages must be present else the
  156. # build_gen step will fail with NPE. We further needed to comment out the
  157. # PHP lines here because building PHP clients requires all RPCs in the service
  158. # definitions to contain http_rule annotations.
  159. #load(
  160. # "@com_google_googleapis_imports//:imports.bzl",
  161. # "php_gapic_assembly_pkg",
  162. # "php_gapic_library",
  163. # "php_grpc_library",
  164. # "php_proto_library",
  165. #)
  166. #
  167. #php_proto_library(
  168. # name = "storage_php_proto",
  169. # deps = [":storage_proto"],
  170. #)
  171. #
  172. #php_grpc_library(
  173. # name = "storage_php_grpc",
  174. # srcs = [":storage_proto"],
  175. # deps = [":storage_php_proto"],
  176. #)
  177. #
  178. #php_gapic_library(
  179. # name = "storage_php_gapic",
  180. # src = ":storage_proto_with_info",
  181. # gapic_yaml = "storage_gapic.yaml",
  182. # package = "google.storage.v1",
  183. # service_yaml = "storage_v1.yaml",
  184. # deps = [
  185. # ":storage_php_grpc",
  186. # ":storage_php_proto",
  187. # ],
  188. #)
  189. #
  190. ## Open Source Packages
  191. #php_gapic_assembly_pkg(
  192. # name = "google-cloud-storage-v1-php",
  193. # deps = [
  194. # ":storage_php_gapic",
  195. # ":storage_php_grpc",
  196. # ":storage_php_proto",
  197. # ],
  198. #)
  199. ##############################################################################
  200. # Node.js
  201. ##############################################################################
  202. load(
  203. "@com_google_googleapis_imports//:imports.bzl",
  204. "nodejs_gapic_assembly_pkg",
  205. "nodejs_gapic_library",
  206. )
  207. nodejs_gapic_library(
  208. name = "storage_nodejs_gapic",
  209. src = ":storage_proto_with_info",
  210. extra_protoc_parameters = ["metadata"],
  211. grpc_service_config = "storage_grpc_service_config.json",
  212. package = "google.storage.v1",
  213. service_yaml = "storage_v1.yaml",
  214. deps = [],
  215. )
  216. nodejs_gapic_assembly_pkg(
  217. name = "storage-v1-nodejs",
  218. deps = [
  219. ":storage_nodejs_gapic",
  220. ":storage_proto",
  221. ],
  222. )
  223. ##############################################################################
  224. # Ruby
  225. ##############################################################################
  226. load(
  227. "@com_google_googleapis_imports//:imports.bzl",
  228. "ruby_gapic_assembly_pkg",
  229. "ruby_cloud_gapic_library",
  230. "ruby_grpc_library",
  231. "ruby_proto_library",
  232. )
  233. ruby_proto_library(
  234. name = "storage_ruby_proto",
  235. deps = [":storage_proto"],
  236. )
  237. ruby_grpc_library(
  238. name = "storage_ruby_grpc",
  239. srcs = [":storage_proto"],
  240. deps = [":storage_ruby_proto"],
  241. )
  242. ruby_cloud_gapic_library(
  243. name = "storage_ruby_gapic",
  244. srcs = [":storage_proto_with_info",],
  245. extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-storage-v1"],
  246. deps = [
  247. ":storage_ruby_grpc",
  248. ":storage_ruby_proto",
  249. ],
  250. )
  251. # Open Source Packages
  252. ruby_gapic_assembly_pkg(
  253. name = "google-cloud-storage-v1-ruby",
  254. deps = [
  255. ":storage_ruby_gapic",
  256. ":storage_ruby_grpc",
  257. ":storage_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 = "storage_csharp_proto",
  272. deps = [":storage_proto"],
  273. )
  274. csharp_grpc_library(
  275. name = "storage_csharp_grpc",
  276. srcs = [":storage_proto"],
  277. deps = [":storage_csharp_proto"],
  278. )
  279. # Client streaming unsupported in C#, cannot build.
  280. # csharp_gapic_library(
  281. # name = "storage_csharp_gapic",
  282. # srcs = [":storage_proto_with_info"],
  283. # grpc_service_config = "storage_grpc_service_config.json",
  284. # common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
  285. # deps = [
  286. # ":storage_csharp_grpc",
  287. # ":storage_csharp_proto",
  288. # ],
  289. # )
  290. # # Open Source Packages
  291. # csharp_gapic_assembly_pkg(
  292. # name = "google-cloud-storage-v1-csharp",
  293. # deps = [
  294. # ":storage_csharp_gapic",
  295. # ":storage_csharp_grpc",
  296. # ":storage_csharp_proto",
  297. # ],
  298. # )
  299. ##############################################################################
  300. # C++
  301. ##############################################################################
  302. load(
  303. "@com_google_googleapis_imports//:imports.bzl",
  304. "cc_grpc_library",
  305. "cc_proto_library",
  306. )
  307. cc_proto_library(
  308. name = "storage_cc_proto",
  309. deps = [":storage_proto"],
  310. )
  311. cc_grpc_library(
  312. name = "storage_cc_grpc",
  313. srcs = [":storage_proto"],
  314. generate_mocks = True,
  315. grpc_only = True,
  316. deps = [":storage_cc_proto"],
  317. )