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