xref: /aosp_15_r20/external/googleapis/google/longrunning/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
11proto_library(
12    name = "operations_proto",
13    srcs = ["operations.proto"],
14    deps = [
15        "//google/api:annotations_proto",
16        "//google/api:client_proto",
17        "//google/rpc:status_proto",
18        "@com_google_protobuf//:any_proto",
19        "@com_google_protobuf//:descriptor_proto",
20        "@com_google_protobuf//:duration_proto",
21        "@com_google_protobuf//:empty_proto",
22    ],
23)
24
25proto_library_with_info(
26    name = "longrunning_proto_with_info",
27    deps = [":operations_proto"],
28)
29
30##############################################################################
31# Java
32##############################################################################
33load(
34    "@com_google_googleapis_imports//:imports.bzl",
35    "java_gapic_assembly_gradle_pkg",
36    "java_grpc_library",
37    "java_proto_library",
38)
39
40java_proto_library(
41    name = "longrunning_java_proto",
42    deps = [":operations_proto"],
43)
44
45java_grpc_library(
46    name = "longrunning_java_grpc",
47    srcs = [":operations_proto"],
48    deps = [":longrunning_java_proto"],
49)
50
51# Please DO-NOT-REMOVE this section.
52# This is required to generate java files for these protos.
53# Open Source Packages
54java_gapic_assembly_gradle_pkg(
55    name = "google-longrunning-java",
56    transport = "grpc+rest",
57    deps = [
58        ":longrunning_java_grpc",
59        ":longrunning_java_proto",
60        ":operations_proto",
61    ],
62)
63
64##############################################################################
65# Go
66##############################################################################
67load(
68    "@com_google_googleapis_imports//:imports.bzl",
69    "go_gapic_assembly_pkg",
70    "go_gapic_library",
71    "go_proto_library",
72)
73
74go_proto_library(
75    name = "longrunning_go_proto",
76    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
77    importpath = "cloud.google.com/go/longrunning/autogen/longrunningpb",
78    protos = [":operations_proto"],
79    visibility = ["//visibility:public"],
80    deps = [
81        "//google/api:annotations_go_proto",
82        "//google/rpc:status_go_proto",
83    ],
84)
85
86go_gapic_library(
87    name = "longrunning_go_gapic",
88    srcs = [":longrunning_proto_with_info"],
89    grpc_service_config = "longrunning_grpc_service_config.json",
90    importpath = "cloud.google.com/go/longrunning/autogen;longrunning",
91    metadata = True,
92    release_level = "ga",
93    rest_numeric_enums = False,
94    service_yaml = "longrunning.yaml",
95    transport = "grpc+rest",
96    deps = [":longrunning_go_proto"],
97)
98
99# Open Source Packages
100go_gapic_assembly_pkg(
101    name = "gapi-cloud-longrunning-go",
102    deps = [
103        ":longrunning_go_gapic",
104        ":longrunning_go_gapic_srcjar-metadata.srcjar",
105        ":longrunning_go_gapic_srcjar-snippets.srcjar",
106        ":longrunning_go_gapic_srcjar-test.srcjar",
107        ":longrunning_go_proto",
108    ],
109)
110
111##############################################################################
112# C++
113##############################################################################
114load(
115    "@com_google_googleapis_imports//:imports.bzl",
116    "cc_grpc_library",
117    "cc_proto_library",
118)
119
120cc_proto_library(
121    name = "longrunning_cc_proto",
122    deps = [":operations_proto"],
123)
124
125cc_grpc_library(
126    name = "longrunning_cc_grpc",
127    srcs = [":operations_proto"],
128    grpc_only = True,
129    deps = [":longrunning_cc_proto"],
130)
131
132##############################################################################
133# C#
134##############################################################################
135load(
136    "@com_google_googleapis_imports//:imports.bzl",
137    "csharp_gapic_assembly_pkg",
138    "csharp_gapic_library",
139    "csharp_grpc_library",
140    "csharp_proto_library",
141)
142
143csharp_proto_library(
144    name = "longrunning_csharp_proto",
145    deps = [":operations_proto"],
146)
147
148csharp_grpc_library(
149    name = "longrunning_csharp_grpc",
150    srcs = [":operations_proto"],
151    deps = [":longrunning_csharp_proto"],
152)
153
154csharp_gapic_library(
155    name = "longrunning_csharp_gapic",
156    srcs = [":longrunning_proto_with_info"],
157    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
158    grpc_service_config = "longrunning_grpc_service_config.json",
159    rest_numeric_enums = False,
160    service_yaml = "longrunning.yaml",
161    deps = [
162        ":longrunning_csharp_grpc",
163        ":longrunning_csharp_proto",
164    ],
165)
166
167# Open Source Packages
168csharp_gapic_assembly_pkg(
169    name = "google-longrunning-csharp",
170    deps = [
171        ":longrunning_csharp_gapic",
172        ":longrunning_csharp_grpc",
173        ":longrunning_csharp_proto",
174    ],
175)
176
177##############################################################################
178# PHP
179##############################################################################
180load(
181    "@com_google_googleapis_imports//:imports.bzl",
182    "php_gapic_assembly_pkg",
183    "php_gapic_library",
184    "php_proto_library",
185)
186
187php_proto_library(
188    name = "longrunning_php_proto",
189    deps = [":operations_proto"],
190)
191
192php_gapic_library(
193    name = "longrunning_php_gapic",
194    srcs = [":longrunning_proto_with_info"],
195    grpc_service_config = "longrunning_grpc_service_config.json",
196    migration_mode = "MIGRATING",
197    rest_numeric_enums = False,
198    service_yaml = "longrunning.yaml",
199    transport = "grpc+rest",
200    deps = [":longrunning_php_proto"],
201)
202
203# Open Source Packages
204php_gapic_assembly_pkg(
205    name = "google-longrunning-php",
206    deps = [
207        ":longrunning_php_gapic",
208        ":longrunning_php_proto",
209    ],
210)
211
212##############################################################################
213# Python
214##############################################################################
215load(
216    "@com_google_googleapis_imports//:imports.bzl",
217    "py_proto_library",
218)
219
220py_proto_library(
221    name = "operations_py_proto",
222    deps = ["operations_proto"],
223)
224