xref: /aosp_15_r20/external/googleapis/google/devtools/containeranalysis/v1beta1/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##############################################################################
7# Common
8##############################################################################
9load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
10
11_PROTO_SUBPACKAGE_DEPS = [
12    "//google/devtools/containeranalysis/v1beta1/attestation:attestation_proto",
13    "//google/devtools/containeranalysis/v1beta1/build:build_proto",
14    "//google/devtools/containeranalysis/v1beta1/common:common_proto",
15    "//google/devtools/containeranalysis/v1beta1/cvss:cvss_proto",
16    "//google/devtools/containeranalysis/v1beta1/deployment:deployment_proto",
17    "//google/devtools/containeranalysis/v1beta1/discovery:discovery_proto",
18    "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_proto",
19    "//google/devtools/containeranalysis/v1beta1/image:image_proto",
20    "//google/devtools/containeranalysis/v1beta1/package:package_proto",
21    "//google/devtools/containeranalysis/v1beta1/provenance:provenance_proto",
22    "//google/devtools/containeranalysis/v1beta1/source:source_proto",
23    "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_proto",
24]
25
26proto_library(
27    name = "containeranalysis_proto",
28    srcs = [
29        "containeranalysis.proto",
30    ],
31    deps = [
32        "//google/api:annotations_proto",
33        "//google/api:client_proto",
34        "//google/api:field_behavior_proto",
35        "//google/api:resource_proto",
36        "//google/iam/v1:iam_policy_proto",
37        "//google/iam/v1:policy_proto",
38        "@com_google_protobuf//:empty_proto",
39        "@com_google_protobuf//:timestamp_proto",
40    ],
41)
42
43proto_library_with_info(
44    name = "containeranalysis_proto_with_info",
45    deps = [
46        ":containeranalysis_proto",
47        "//google/cloud:common_resources_proto",
48    ] + _PROTO_SUBPACKAGE_DEPS,
49)
50
51##############################################################################
52# Java
53##############################################################################
54load(
55    "@com_google_googleapis_imports//:imports.bzl",
56    "java_gapic_assembly_gradle_pkg",
57    "java_gapic_library",
58    "java_gapic_test",
59    "java_grpc_library",
60    "java_proto_library",
61)
62
63_JAVA_PROTO_SUBPACKAGE_DEPS = [
64    "//google/devtools/containeranalysis/v1beta1/attestation:attestation_java_proto",
65    "//google/devtools/containeranalysis/v1beta1/build:build_java_proto",
66    "//google/devtools/containeranalysis/v1beta1/common:common_java_proto",
67    "//google/devtools/containeranalysis/v1beta1/deployment:deployment_java_proto",
68    "//google/devtools/containeranalysis/v1beta1/discovery:discovery_java_proto",
69    "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_java_proto",
70    "//google/devtools/containeranalysis/v1beta1/image:image_java_proto",
71    "//google/devtools/containeranalysis/v1beta1/package:package_java_proto",
72    "//google/devtools/containeranalysis/v1beta1/provenance:provenance_java_proto",
73    "//google/devtools/containeranalysis/v1beta1/source:source_java_proto",
74    "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_java_proto",
75]
76
77_JAVA_GRPC_SUBPACKAGE_DEPS = [
78    "//google/devtools/containeranalysis/v1beta1/attestation:attestation_java_grpc",
79    "//google/devtools/containeranalysis/v1beta1/build:build_java_grpc",
80    "//google/devtools/containeranalysis/v1beta1/common:common_java_grpc",
81    "//google/devtools/containeranalysis/v1beta1/deployment:deployment_java_grpc",
82    "//google/devtools/containeranalysis/v1beta1/discovery:discovery_java_grpc",
83    "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_java_grpc",
84    "//google/devtools/containeranalysis/v1beta1/image:image_java_grpc",
85    "//google/devtools/containeranalysis/v1beta1/package:package_java_grpc",
86    "//google/devtools/containeranalysis/v1beta1/provenance:provenance_java_grpc",
87    "//google/devtools/containeranalysis/v1beta1/source:source_java_grpc",
88    "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_java_grpc",
89]
90
91java_proto_library(
92    name = "containeranalysis_java_proto",
93    deps = [":containeranalysis_proto"],
94)
95
96java_grpc_library(
97    name = "containeranalysis_java_grpc",
98    srcs = [":containeranalysis_proto"],
99    deps = [":containeranalysis_java_proto"],
100)
101
102java_gapic_library(
103    name = "containeranalysis_java_gapic",
104    srcs = [":containeranalysis_proto_with_info"],
105    gapic_yaml = "containeranalysis_gapic.yaml",
106    grpc_service_config = "containeranalysis_grpc_service_config.json",
107    rest_numeric_enums = True,
108    service_yaml = "containeranalysis_v1beta1.yaml",
109    test_deps = [
110        ":containeranalysis_java_grpc",
111    ] + _JAVA_GRPC_SUBPACKAGE_DEPS,
112    transport = "grpc+rest",
113    deps = [
114        ":containeranalysis_java_proto",
115        "//google/iam/v1:iam_java_proto",
116    ] + _JAVA_PROTO_SUBPACKAGE_DEPS,
117)
118
119java_gapic_test(
120    name = "containeranalysis_java_gapic_test_suite",
121    test_classes = [
122        "com.google.cloud.devtools.containeranalysis.v1beta1.ContainerAnalysisV1Beta1ClientHttpJsonTest",
123        "com.google.cloud.devtools.containeranalysis.v1beta1.ContainerAnalysisV1Beta1ClientTest",
124        "com.google.cloud.devtools.containeranalysis.v1beta1.GrafeasV1Beta1ClientHttpJsonTest",
125        "com.google.cloud.devtools.containeranalysis.v1beta1.GrafeasV1Beta1ClientTest",
126    ],
127    runtime_deps = ["containeranalysis_java_gapic_test"],
128)
129
130# Open Source Packages
131java_gapic_assembly_gradle_pkg(
132    name = "google-cloud-devtools-containeranalysis-v1beta1-java",
133    transport = "grpc+rest",
134    deps = [
135        ":containeranalysis_java_gapic",
136        ":containeranalysis_java_grpc",
137        ":containeranalysis_java_proto",
138        ":containeranalysis_proto",
139    ] + _JAVA_GRPC_SUBPACKAGE_DEPS + _JAVA_PROTO_SUBPACKAGE_DEPS + _PROTO_SUBPACKAGE_DEPS,
140)
141
142##############################################################################
143# Go
144##############################################################################
145load(
146    "@com_google_googleapis_imports//:imports.bzl",
147    "go_gapic_assembly_pkg",
148    "go_gapic_library",
149    "go_proto_library",
150)
151
152go_proto_library(
153    name = "containeranalysis_go_proto",
154    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
155    importpath = "cloud.google.com/go/containeranalysis/apiv1beta1/containeranalysispb",
156    protos = [":containeranalysis_proto"],
157    deps = [
158        "//google/api:annotations_go_proto",
159        "//google/iam/v1:iam_go_proto",
160    ],
161)
162
163go_gapic_library(
164    name = "containeranalysis_go_gapic",
165    srcs = [":containeranalysis_proto_with_info"],
166    grpc_service_config = "containeranalysis_grpc_service_config.json",
167    importpath = "cloud.google.com/go/containeranalysis/apiv1beta1;containeranalysis",
168    release_level = "beta",
169    rest_numeric_enums = True,
170    service_yaml = "containeranalysis_v1beta1.yaml",
171    transport = "grpc+rest",
172    deps = [
173        ":containeranalysis_go_proto",
174        "//google/devtools/containeranalysis/v1beta1/attestation:attestation_go_proto",
175        "//google/devtools/containeranalysis/v1beta1/build:build_go_proto",
176        "//google/devtools/containeranalysis/v1beta1/common:common_go_proto",
177        "//google/devtools/containeranalysis/v1beta1/deployment:deployment_go_proto",
178        "//google/devtools/containeranalysis/v1beta1/discovery:discovery_go_proto",
179        "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_go_proto",
180        "//google/devtools/containeranalysis/v1beta1/image:image_go_proto",
181        "//google/devtools/containeranalysis/v1beta1/package:package_go_proto",
182        "//google/devtools/containeranalysis/v1beta1/provenance:provenance_go_proto",
183        "//google/devtools/containeranalysis/v1beta1/source:source_go_proto",
184        "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_go_proto",
185        "//google/iam/v1:iam_go_proto",
186    ],
187)
188
189# Open Source Packages
190go_gapic_assembly_pkg(
191    name = "gapi-cloud-devtools-containeranalysis-v1beta1-go",
192    deps = [
193        ":containeranalysis_go_gapic",
194        ":containeranalysis_go_gapic_srcjar-snippets.srcjar",
195        ":containeranalysis_go_gapic_srcjar-test.srcjar",
196        ":containeranalysis_go_proto",
197        "//google/devtools/containeranalysis/v1beta1/attestation:attestation_go_proto",
198        "//google/devtools/containeranalysis/v1beta1/build:build_go_proto",
199        "//google/devtools/containeranalysis/v1beta1/common:common_go_proto",
200        "//google/devtools/containeranalysis/v1beta1/deployment:deployment_go_proto",
201        "//google/devtools/containeranalysis/v1beta1/discovery:discovery_go_proto",
202        "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_go_proto",
203        "//google/devtools/containeranalysis/v1beta1/image:image_go_proto",
204        "//google/devtools/containeranalysis/v1beta1/package:package_go_proto",
205        "//google/devtools/containeranalysis/v1beta1/provenance:provenance_go_proto",
206        "//google/devtools/containeranalysis/v1beta1/source:source_go_proto",
207        "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_go_proto",
208    ],
209)
210
211##############################################################################
212# Node.js
213##############################################################################
214load(
215    "@com_google_googleapis_imports//:imports.bzl",
216    "nodejs_gapic_assembly_pkg",
217    "nodejs_gapic_library",
218)
219
220nodejs_gapic_library(
221    name = "containeranalysis_nodejs_gapic",
222    package_name = "@google-cloud/containeranalysis",
223    src = ":containeranalysis_proto_with_info",
224    extra_protoc_parameters = ["metadata"],
225    grpc_service_config = "containeranalysis_grpc_service_config.json",
226    main_service = "containeranalysis",
227    package = "google.devtools.containeranalysis.v1beta1",
228    rest_numeric_enums = True,
229    service_yaml = "containeranalysis_v1beta1.yaml",
230    transport = "grpc+rest",
231    deps = [],
232)
233
234nodejs_gapic_assembly_pkg(
235    name = "devtools-containeranalysis-v1beta1-nodejs",
236    deps = [
237        ":containeranalysis_nodejs_gapic",
238        ":containeranalysis_proto",
239    ] + _PROTO_SUBPACKAGE_DEPS,
240)
241