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