BUILD.bazel 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  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 = "spanner_proto",
  11. srcs = [
  12. "commit_response.proto",
  13. "keys.proto",
  14. "mutation.proto",
  15. "query_plan.proto",
  16. "result_set.proto",
  17. "spanner.proto",
  18. "transaction.proto",
  19. "type.proto",
  20. ],
  21. deps = [
  22. "//google/api:annotations_proto",
  23. "//google/api:client_proto",
  24. "//google/api:field_behavior_proto",
  25. "//google/api:resource_proto",
  26. "//google/rpc:status_proto",
  27. "@com_google_protobuf//:duration_proto",
  28. "@com_google_protobuf//:empty_proto",
  29. "@com_google_protobuf//:struct_proto",
  30. "@com_google_protobuf//:timestamp_proto",
  31. ],
  32. )
  33. proto_library_with_info(
  34. name = "spanner_proto_with_info",
  35. deps = [
  36. ":spanner_proto",
  37. "//google/cloud:common_resources_proto",
  38. ],
  39. )
  40. ##############################################################################
  41. # Java
  42. ##############################################################################
  43. load(
  44. "@com_google_googleapis_imports//:imports.bzl",
  45. "java_gapic_assembly_gradle_pkg",
  46. "java_gapic_library",
  47. "java_gapic_test",
  48. "java_grpc_library",
  49. "java_proto_library",
  50. )
  51. java_proto_library(
  52. name = "spanner_java_proto",
  53. deps = [":spanner_proto"],
  54. )
  55. java_grpc_library(
  56. name = "spanner_java_grpc",
  57. srcs = [":spanner_proto"],
  58. deps = [":spanner_java_proto"],
  59. )
  60. java_gapic_library(
  61. name = "spanner_java_gapic",
  62. srcs = [":spanner_proto_with_info"],
  63. gapic_yaml = "spanner_gapic.yaml",
  64. grpc_service_config = "spanner_grpc_service_config.json",
  65. test_deps = [
  66. ":spanner_java_grpc",
  67. ],
  68. deps = [
  69. ":spanner_java_proto",
  70. ],
  71. )
  72. java_gapic_test(
  73. name = "spanner_java_gapic_test_suite",
  74. test_classes = [
  75. "com.google.cloud.spanner.v1.SpannerClientTest",
  76. ],
  77. runtime_deps = [":spanner_java_gapic_test"],
  78. )
  79. # Open Source Packages
  80. java_gapic_assembly_gradle_pkg(
  81. name = "google-cloud-spanner-v1-java",
  82. deps = [
  83. ":spanner_java_gapic",
  84. ":spanner_java_grpc",
  85. ":spanner_java_proto",
  86. ":spanner_proto",
  87. ],
  88. )
  89. ##############################################################################
  90. # Go
  91. ##############################################################################
  92. load(
  93. "@com_google_googleapis_imports//:imports.bzl",
  94. "go_gapic_assembly_pkg",
  95. "go_gapic_library",
  96. "go_proto_library",
  97. "go_test",
  98. )
  99. go_proto_library(
  100. name = "spanner_go_proto",
  101. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  102. importpath = "google.golang.org/genproto/googleapis/spanner/v1",
  103. protos = [":spanner_proto"],
  104. deps = [
  105. "//google/api:annotations_go_proto",
  106. "//google/rpc:status_go_proto",
  107. ],
  108. )
  109. go_gapic_library(
  110. name = "spanner_go_gapic",
  111. srcs = [":spanner_proto_with_info"],
  112. grpc_service_config = "spanner_grpc_service_config.json",
  113. importpath = "cloud.google.com/go/spanner/apiv1;spanner",
  114. service_yaml = "spanner.yaml",
  115. deps = [
  116. ":spanner_go_proto",
  117. "@io_bazel_rules_go//proto/wkt:duration_go_proto",
  118. ],
  119. )
  120. go_test(
  121. name = "spanner_go_gapic_test",
  122. srcs = [":spanner_go_gapic_srcjar_test"],
  123. embed = [":spanner_go_gapic"],
  124. importpath = "cloud.google.com/go/spanner/apiv1",
  125. )
  126. # Open Source Packages
  127. go_gapic_assembly_pkg(
  128. name = "gapi-cloud-spanner-v1-go",
  129. deps = [
  130. ":spanner_go_gapic",
  131. ":spanner_go_gapic_srcjar-test.srcjar",
  132. ":spanner_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 = "spanner_py_gapic",
  145. srcs = [":spanner_proto"],
  146. grpc_service_config = "spanner_grpc_service_config.json",
  147. opt_args = ["python-gapic-namespace=google.cloud"],
  148. )
  149. py_gapic_assembly_pkg(
  150. name = "spanner-v1-py",
  151. deps = [
  152. ":spanner_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 = "spanner_php_proto",
  167. deps = [":spanner_proto"],
  168. )
  169. php_grpc_library(
  170. name = "spanner_php_grpc",
  171. srcs = [":spanner_proto"],
  172. deps = [":spanner_php_proto"],
  173. )
  174. php_gapic_library(
  175. name = "spanner_php_gapic",
  176. srcs = [":spanner_proto_with_info"],
  177. grpc_service_config = "spanner_grpc_service_config.json",
  178. service_yaml = "spanner.yaml",
  179. deps = [
  180. ":spanner_php_grpc",
  181. ":spanner_php_proto",
  182. ],
  183. )
  184. # Open Source Packages
  185. php_gapic_assembly_pkg(
  186. name = "google-cloud-spanner-v1-php",
  187. deps = [
  188. ":spanner_php_gapic",
  189. ":spanner_php_grpc",
  190. ":spanner_php_proto",
  191. ],
  192. )
  193. ##############################################################################
  194. # Node.js
  195. ##############################################################################
  196. load(
  197. "@com_google_googleapis_imports//:imports.bzl",
  198. "nodejs_gapic_assembly_pkg",
  199. "nodejs_gapic_library",
  200. )
  201. nodejs_gapic_library(
  202. name = "spanner_nodejs_gapic",
  203. package_name = "@google-cloud/spanner",
  204. src = ":spanner_proto_with_info",
  205. extra_protoc_parameters = ["metadata"],
  206. grpc_service_config = "spanner_grpc_service_config.json",
  207. main_service = "spanner",
  208. package = "google.spanner.v1",
  209. service_yaml = "spanner.yaml",
  210. deps = [],
  211. )
  212. nodejs_gapic_assembly_pkg(
  213. name = "spanner-v1-nodejs",
  214. deps = [
  215. ":spanner_nodejs_gapic",
  216. ":spanner_proto",
  217. ],
  218. )
  219. ##############################################################################
  220. # Ruby
  221. ##############################################################################
  222. load(
  223. "@com_google_googleapis_imports//:imports.bzl",
  224. "ruby_cloud_gapic_library",
  225. "ruby_gapic_assembly_pkg",
  226. "ruby_grpc_library",
  227. "ruby_proto_library",
  228. )
  229. ruby_proto_library(
  230. name = "spanner_ruby_proto",
  231. deps = [":spanner_proto"],
  232. )
  233. ruby_grpc_library(
  234. name = "spanner_ruby_grpc",
  235. srcs = [":spanner_proto"],
  236. deps = [":spanner_ruby_proto"],
  237. )
  238. ruby_cloud_gapic_library(
  239. name = "spanner_ruby_gapic",
  240. srcs = [":spanner_proto_with_info"],
  241. extra_protoc_parameters = [
  242. "ruby-cloud-gem-name=google-cloud-spanner-v1",
  243. "ruby-cloud-env-prefix=SPANNER",
  244. "ruby-cloud-product-url=https://cloud.google.com/spanner",
  245. "ruby-cloud-api-id=spanner.googleapis.com",
  246. "ruby-cloud-api-shortname=spanner",
  247. ],
  248. grpc_service_config = "spanner_grpc_service_config.json",
  249. ruby_cloud_description = "Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.",
  250. ruby_cloud_title = "Cloud Spanner V1",
  251. deps = [
  252. ":spanner_ruby_grpc",
  253. ":spanner_ruby_proto",
  254. ],
  255. )
  256. # Open Source Packages
  257. ruby_gapic_assembly_pkg(
  258. name = "google-cloud-spanner-v1-ruby",
  259. deps = [
  260. ":spanner_ruby_gapic",
  261. ":spanner_ruby_grpc",
  262. ":spanner_ruby_proto",
  263. ],
  264. )
  265. ##############################################################################
  266. # C#
  267. ##############################################################################
  268. load(
  269. "@com_google_googleapis_imports//:imports.bzl",
  270. "csharp_gapic_assembly_pkg",
  271. "csharp_gapic_library",
  272. "csharp_grpc_library",
  273. "csharp_proto_library",
  274. )
  275. csharp_proto_library(
  276. name = "spanner_csharp_proto",
  277. deps = [":spanner_proto"],
  278. )
  279. csharp_grpc_library(
  280. name = "spanner_csharp_grpc",
  281. srcs = [":spanner_proto"],
  282. deps = [":spanner_csharp_proto"],
  283. )
  284. csharp_gapic_library(
  285. name = "spanner_csharp_gapic",
  286. srcs = [":spanner_proto_with_info"],
  287. common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
  288. grpc_service_config = "spanner_grpc_service_config.json",
  289. deps = [
  290. ":spanner_csharp_grpc",
  291. ":spanner_csharp_proto",
  292. ],
  293. )
  294. # Open Source Packages
  295. csharp_gapic_assembly_pkg(
  296. name = "google-cloud-spanner-v1-csharp",
  297. deps = [
  298. ":spanner_csharp_gapic",
  299. ":spanner_csharp_grpc",
  300. ":spanner_csharp_proto",
  301. ],
  302. )
  303. ##############################################################################
  304. # C++
  305. ##############################################################################
  306. load(
  307. "@com_google_googleapis_imports//:imports.bzl",
  308. "cc_grpc_library",
  309. "cc_proto_library",
  310. )
  311. cc_proto_library(
  312. name = "spanner_cc_proto",
  313. deps = [":spanner_proto"],
  314. )
  315. cc_grpc_library(
  316. name = "spanner_cc_grpc",
  317. srcs = [":spanner_proto"],
  318. grpc_only = True,
  319. deps = [":spanner_cc_proto"],
  320. )