xref: /aosp_15_r20/external/googleapis/google/cloud/kms/v1/BUILD.bazel (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1load("@rules_proto//proto:defs.bzl", "proto_library")
2
3# This is an API workspace, having public visibility by default makes perfect sense.
4package(default_visibility = ["//visibility:public"])
5
6# Reading the default service config is useful for custom gRPC clients.
7exports_files(["cloudkms_grpc_service_config.json"])
8
9##############################################################################
10# Common
11##############################################################################
12# buildifier: disable=load-on-top
13load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
14
15proto_library(
16    name = "kms_proto",
17    srcs = [
18        "ekm_service.proto",
19        "resources.proto",
20        "service.proto",
21    ],
22    deps = [
23        "//google/api:annotations_proto",
24        "//google/api:client_proto",
25        "//google/api:field_behavior_proto",
26        "//google/api:resource_proto",
27        "@com_google_protobuf//:duration_proto",
28        "@com_google_protobuf//:field_mask_proto",
29        "@com_google_protobuf//:struct_proto",
30        "@com_google_protobuf//:timestamp_proto",
31        "@com_google_protobuf//:wrappers_proto",
32    ],
33)
34
35proto_library_with_info(
36    name = "kms_proto_with_info",
37    deps = [
38        ":kms_proto",
39        "//google/cloud:common_resources_proto",
40        "//google/cloud/location:location_proto",
41        "//google/iam/v1:iam_policy_proto",
42        "//google/iam/v1:policy_proto",
43    ],
44)
45
46##############################################################################
47# Java
48##############################################################################
49# buildifier: disable=load-on-top
50# buildifier: disable=same-origin-load
51load(
52    "@com_google_googleapis_imports//:imports.bzl",
53    "java_gapic_assembly_gradle_pkg",
54    "java_gapic_library",
55    "java_gapic_test",
56    "java_grpc_library",
57    "java_proto_library",
58)
59
60java_proto_library(
61    name = "kms_java_proto",
62    deps = [":kms_proto"],
63)
64
65java_grpc_library(
66    name = "kms_java_grpc",
67    srcs = [":kms_proto"],
68    deps = [":kms_java_proto"],
69)
70
71java_gapic_library(
72    name = "kms_java_gapic",
73    srcs = [":kms_proto_with_info"],
74    grpc_service_config = "cloudkms_grpc_service_config.json",
75    rest_numeric_enums = True,
76    service_yaml = "cloudkms_v1.yaml",
77    test_deps = [
78        ":kms_java_grpc",
79        "//google/cloud/location:location_java_grpc",
80        "//google/iam/v1:iam_java_grpc",
81    ],
82    transport = "grpc+rest",
83    deps = [
84        ":kms_java_proto",
85        "//google/cloud/location:location_java_proto",
86        "//google/iam/v1:iam_java_proto",
87    ],
88)
89
90java_gapic_test(
91    name = "kms_java_gapic_test_suite",
92    test_classes = [
93        "com.google.cloud.kms.v1.KeyManagementServiceClientHttpJsonTest",
94        "com.google.cloud.kms.v1.KeyManagementServiceClientTest",
95    ],
96    runtime_deps = [":kms_java_gapic_test"],
97)
98
99# Open Source Packages
100java_gapic_assembly_gradle_pkg(
101    name = "google-cloud-kms-v1-java",
102    include_samples = True,
103    transport = "grpc+rest",
104    deps = [
105        ":kms_java_gapic",
106        ":kms_java_grpc",
107        ":kms_java_proto",
108        ":kms_proto",
109    ],
110)
111
112##############################################################################
113# Go
114##############################################################################
115# buildifier: disable=load-on-top
116# buildifier: disable=same-origin-load
117load(
118    "@com_google_googleapis_imports//:imports.bzl",
119    "go_gapic_assembly_pkg",
120    "go_gapic_library",
121    "go_proto_library",
122)
123
124go_proto_library(
125    name = "kms_go_proto",
126    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
127    importpath = "cloud.google.com/go/kms/apiv1/kmspb",
128    protos = [":kms_proto"],
129    deps = [
130        "//google/api:annotations_go_proto",
131        "//google/iam/v1:iam_go_proto",
132    ],
133)
134
135go_gapic_library(
136    name = "kms_go_gapic",
137    srcs = [":kms_proto_with_info"],
138    grpc_service_config = "cloudkms_grpc_service_config.json",
139    importpath = "cloud.google.com/go/kms/apiv1;kms",
140    metadata = True,
141    release_level = "ga",
142    rest_numeric_enums = True,
143    service_yaml = "cloudkms_v1.yaml",
144    transport = "grpc+rest",
145    deps = [
146        ":kms_go_proto",
147        "//google/cloud/location:location_go_proto",
148        "//google/iam/v1:iam_go_proto",
149        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
150    ],
151)
152
153# Open Source Packages
154go_gapic_assembly_pkg(
155    name = "gapi-cloud-kms-v1-go",
156    deps = [
157        ":kms_go_gapic",
158        ":kms_go_gapic_srcjar-snippets.srcjar",
159        ":kms_go_gapic_srcjar-test.srcjar",
160        ":kms_go_proto",
161    ],
162)
163
164##############################################################################
165# Python
166##############################################################################
167# buildifier: disable=load-on-top
168# buildifier: disable=same-origin-load
169load(
170    "@com_google_googleapis_imports//:imports.bzl",
171    "py_gapic_assembly_pkg",
172    "py_gapic_library",
173    "py_proto_library",  # manually load py_proto_libary
174    "py_test",
175)
176
177# manually add this target for kms/inventory/v1
178py_proto_library(
179    name = "kms_py_proto",
180    deps = [":kms_proto"],
181)
182
183py_gapic_library(
184    name = "kms_py_gapic",
185    srcs = [":kms_proto"],
186    grpc_service_config = "cloudkms_grpc_service_config.json",
187    opt_args = ["add-iam-methods"],
188    rest_numeric_enums = True,
189    service_yaml = "cloudkms_v1.yaml",
190    transport = "grpc+rest",
191    deps = [
192        "//google/iam/v1:iam_policy_py_proto",
193        "//google/iam/v1:policy_py_proto",
194    ],
195)
196
197py_test(
198    name = "kms_py_gapic_test",
199    srcs = [
200        "kms_py_gapic_pytest.py",
201        "kms_py_gapic_test.py",
202    ],
203    legacy_create_init = False,
204    deps = [":kms_py_gapic"],
205)
206
207py_gapic_assembly_pkg(
208    name = "kms-v1-py",
209    deps = [
210        ":kms_py_gapic",
211    ],
212)
213
214##############################################################################
215# PHP
216##############################################################################
217# buildifier: disable=load-on-top
218# buildifier: disable=same-origin-load
219load(
220    "@com_google_googleapis_imports//:imports.bzl",
221    "php_gapic_assembly_pkg",
222    "php_gapic_library",
223    "php_proto_library",
224)
225
226php_proto_library(
227    name = "kms_php_proto",
228    deps = [":kms_proto"],
229)
230
231php_gapic_library(
232    name = "kms_php_gapic",
233    srcs = [":kms_proto_with_info"],
234    migration_mode = "MIGRATING",
235    rest_numeric_enums = True,
236    service_yaml = "cloudkms_v1.yaml",
237    transport = "grpc+rest",
238    deps = [":kms_php_proto"],
239)
240
241# Open Source Packages
242php_gapic_assembly_pkg(
243    name = "google-cloud-kms-v1-php",
244    deps = [
245        ":kms_php_gapic",
246        ":kms_php_proto",
247    ],
248)
249
250##############################################################################
251# Node.js
252##############################################################################
253# buildifier: disable=load-on-top
254# buildifier: disable=same-origin-load
255load(
256    "@com_google_googleapis_imports//:imports.bzl",
257    "nodejs_gapic_assembly_pkg",
258    "nodejs_gapic_library",
259)
260
261nodejs_gapic_library(
262    name = "kms_nodejs_gapic",
263    package_name = "@google-cloud/kms",
264    src = ":kms_proto_with_info",
265    extra_protoc_parameters = ["metadata"],
266    grpc_service_config = "cloudkms_grpc_service_config.json",
267    package = "google.cloud.kms.v1",
268    rest_numeric_enums = True,
269    service_yaml = "cloudkms_v1.yaml",
270    transport = "grpc+rest",
271    deps = [],
272)
273
274nodejs_gapic_assembly_pkg(
275    name = "kms-v1-nodejs",
276    deps = [
277        ":kms_nodejs_gapic",
278        ":kms_proto",
279    ],
280)
281
282##############################################################################
283# Ruby
284##############################################################################
285# buildifier: disable=load-on-top
286# buildifier: disable=same-origin-load
287load(
288    "@com_google_googleapis_imports//:imports.bzl",
289    "ruby_cloud_gapic_library",
290    "ruby_gapic_assembly_pkg",
291    "ruby_grpc_library",
292    "ruby_proto_library",
293)
294
295ruby_proto_library(
296    name = "kms_ruby_proto",
297    deps = [":kms_proto"],
298)
299
300ruby_grpc_library(
301    name = "kms_ruby_grpc",
302    srcs = [":kms_proto"],
303    deps = [":kms_ruby_proto"],
304)
305
306ruby_cloud_gapic_library(
307    name = "kms_ruby_gapic",
308    srcs = [":kms_proto_with_info"],
309    extra_protoc_parameters = [
310        "ruby-cloud-gem-name=google-cloud-kms-v1",
311        "ruby-cloud-env-prefix=KMS",
312        "ruby-cloud-product-url=https://cloud.google.com/kms",
313        "ruby-cloud-api-id=cloudkms.googleapis.com",
314        "ruby-cloud-api-shortname=cloudkms",
315    ],
316    grpc_service_config = "cloudkms_grpc_service_config.json",
317    rest_numeric_enums = True,
318    ruby_cloud_description = "Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.",
319    ruby_cloud_title = "Cloud Key Management Service (KMS) V1",
320    service_yaml = "cloudkms_v1.yaml",
321    transport = "grpc+rest",
322    deps = [
323        ":kms_ruby_grpc",
324        ":kms_ruby_proto",
325    ],
326)
327
328# Open Source Packages
329ruby_gapic_assembly_pkg(
330    name = "google-cloud-kms-v1-ruby",
331    deps = [
332        ":kms_ruby_gapic",
333        ":kms_ruby_grpc",
334        ":kms_ruby_proto",
335    ],
336)
337
338##############################################################################
339# C#
340##############################################################################
341# buildifier: disable=load-on-top
342# buildifier: disable=same-origin-load
343load(
344    "@com_google_googleapis_imports//:imports.bzl",
345    "csharp_gapic_assembly_pkg",
346    "csharp_gapic_library",
347    "csharp_grpc_library",
348    "csharp_proto_library",
349)
350
351csharp_proto_library(
352    name = "kms_csharp_proto",
353    deps = [":kms_proto"],
354)
355
356csharp_grpc_library(
357    name = "kms_csharp_grpc",
358    srcs = [":kms_proto"],
359    deps = [":kms_csharp_proto"],
360)
361
362csharp_gapic_library(
363    name = "kms_csharp_gapic",
364    srcs = [":kms_proto_with_info"],
365    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
366    grpc_service_config = "cloudkms_grpc_service_config.json",
367    rest_numeric_enums = True,
368    service_yaml = "cloudkms_v1.yaml",
369    transport = "grpc+rest",
370    deps = [
371        ":kms_csharp_grpc",
372        ":kms_csharp_proto",
373    ],
374)
375
376# Open Source Packages
377csharp_gapic_assembly_pkg(
378    name = "google-cloud-kms-v1-csharp",
379    deps = [
380        ":kms_csharp_gapic",
381        ":kms_csharp_grpc",
382        ":kms_csharp_proto",
383    ],
384)
385
386##############################################################################
387# C++
388##############################################################################
389# buildifier: disable=load-on-top
390# buildifier: disable=same-origin-load
391load(
392    "@com_google_googleapis_imports//:imports.bzl",
393    "cc_grpc_library",
394    "cc_proto_library",
395)
396
397cc_proto_library(
398    name = "kms_cc_proto",
399    deps = [":kms_proto"],
400)
401
402cc_grpc_library(
403    name = "kms_cc_grpc",
404    srcs = [":kms_proto"],
405    grpc_only = True,
406    deps = [":kms_cc_proto"],
407)
408