Skip to content

Commit 553cb54

Browse files
Google APIscopybara-github
authored andcommitted
feat(googleads): Protos and build files for Google Ads API v10
Committer: @aohren PiperOrigin-RevId: 427535047
1 parent 978e373 commit 553cb54

728 files changed

Lines changed: 71446 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
# Copyright 2020 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
package(default_visibility = ["//visibility:public"])
16+
17+
exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"])
18+
19+
##############################################################################
20+
# Common
21+
##############################################################################
22+
load("@rules_proto//proto:defs.bzl", "proto_library")
23+
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
24+
25+
proto_library(
26+
name = "googleads_proto",
27+
srcs = [],
28+
deps = [
29+
"//google/ads/googleads/v10/common:common_proto",
30+
"//google/ads/googleads/v10/enums:enums_proto",
31+
"//google/ads/googleads/v10/errors:errors_proto",
32+
"//google/ads/googleads/v10/resources:resources_proto",
33+
"//google/ads/googleads/v10/services:services_proto",
34+
],
35+
)
36+
37+
proto_library_with_info(
38+
name = "googleads_proto_with_info",
39+
deps = [
40+
":googleads_proto",
41+
],
42+
)
43+
44+
##############################################################################
45+
# Java
46+
##############################################################################
47+
load(
48+
"@com_google_googleapis_imports//:imports.bzl",
49+
"java_gapic_assembly_gradle_pkg",
50+
"java_gapic_library",
51+
"java_gapic_test",
52+
)
53+
54+
java_gapic_library(
55+
name = "googleads_java_gapic",
56+
srcs = [
57+
":googleads_proto_with_info",
58+
],
59+
gapic_yaml = "googleads_gapic.yaml",
60+
grpc_service_config = ":googleads_grpc_service_config.json",
61+
deps = [
62+
"//google/ads/googleads/v10/common:common_java_proto",
63+
"//google/ads/googleads/v10/enums:enums_java_proto",
64+
"//google/ads/googleads/v10/resources:resources_java_proto",
65+
"//google/ads/googleads/v10/services:services_java_grpc",
66+
"//google/ads/googleads/v10/services:services_java_proto",
67+
],
68+
)
69+
70+
# TODO(ohren): Add more test classes when java_gapic_test is able to run more
71+
# than a single test. Having at least one verifies proper compilation at least.
72+
java_gapic_test(
73+
name = "googleads_java_gapic_suite",
74+
test_classes = [
75+
"com.google.ads.googleads.v10.services.CampaignServiceClientTest",
76+
],
77+
runtime_deps = [":googleads_java_gapic_test"],
78+
)
79+
80+
java_gapic_assembly_gradle_pkg(
81+
name = "googleads-java",
82+
deps = [
83+
":googleads_java_gapic",
84+
"//google/ads/googleads/v10:googleads_proto",
85+
"//google/ads/googleads/v10/common:common_java_proto",
86+
"//google/ads/googleads/v10/enums:enums_java_proto",
87+
"//google/ads/googleads/v10/errors:errors_java_proto",
88+
"//google/ads/googleads/v10/resources:resources_java_proto",
89+
"//google/ads/googleads/v10/services:services_java_grpc",
90+
"//google/ads/googleads/v10/services:services_java_proto",
91+
],
92+
)
93+
94+
##############################################################################
95+
# PHP
96+
##############################################################################
97+
load(
98+
"@com_google_googleapis_imports//:imports.bzl",
99+
"php_gapic_assembly_pkg",
100+
"php_gapic_library",
101+
"php_grpc_library",
102+
"php_proto_library",
103+
)
104+
105+
php_proto_library(
106+
name = "googleads_php_proto",
107+
plugin_args = ["aggregate_metadata=google.ads.googleads"],
108+
deps = [":googleads_proto"],
109+
)
110+
111+
php_grpc_library(
112+
name = "googleads_php_grpc",
113+
srcs = [":googleads_proto"],
114+
deps = [":googleads_php_proto"],
115+
)
116+
117+
php_gapic_library(
118+
name = "googleads_php_gapic",
119+
srcs = [":googleads_proto"],
120+
gapic_yaml = "googleads_gapic.yaml",
121+
grpc_service_config = "googleads_grpc_service_config.json",
122+
service_yaml = "googleads_v10.yaml",
123+
deps = [
124+
":googleads_php_grpc",
125+
":googleads_php_proto",
126+
],
127+
)
128+
129+
php_gapic_assembly_pkg(
130+
name = "googleads-php",
131+
deps = [
132+
":googleads_php_gapic",
133+
":googleads_php_grpc",
134+
":googleads_php_proto",
135+
],
136+
)
137+
138+
##############################################################################
139+
# C#
140+
##############################################################################
141+
load("@gapic_generator_csharp//rules_csharp_gapic:csharp_gapic.bzl", "csharp_gapic_library")
142+
load("@gapic_generator_csharp//rules_csharp_gapic:csharp_gapic_pkg.bzl", "csharp_gapic_assembly_pkg")
143+
144+
csharp_gapic_library(
145+
name = "googleads_csharp_gapic",
146+
srcs = [
147+
":googleads_proto_with_info",
148+
],
149+
grpc_service_config = "googleads_grpc_service_config.json",
150+
deps = [
151+
"//google/ads/googleads/v10/services:services_csharp_grpc",
152+
],
153+
)
154+
155+
csharp_gapic_assembly_pkg(
156+
name = "googleads-csharp",
157+
deps = [
158+
":googleads_csharp_gapic",
159+
"//google/ads/googleads/v10/common:common_csharp_proto",
160+
"//google/ads/googleads/v10/enums:enums_csharp_proto",
161+
"//google/ads/googleads/v10/errors:errors_csharp_proto",
162+
"//google/ads/googleads/v10/resources:resources_csharp_proto",
163+
"//google/ads/googleads/v10/services:services_csharp_grpc",
164+
"//google/ads/googleads/v10/services:services_csharp_proto",
165+
],
166+
)
167+
168+
##############################################################################
169+
# Ruby
170+
##############################################################################
171+
load(
172+
"@com_google_googleapis_imports//:imports.bzl",
173+
"ruby_ads_gapic_library",
174+
"ruby_gapic_assembly_pkg",
175+
)
176+
177+
ruby_ads_gapic_library(
178+
name = "googleads_ruby_gapic",
179+
srcs = ["googleads_proto_with_info"],
180+
extra_protoc_parameters = [
181+
":gem.:name=google-ads-googleads",
182+
":defaults.:service.:default_host=googleads.googleapis.com",
183+
":overrides.:namespace.Googleads=GoogleAds",
184+
],
185+
grpc_service_config = "googleads_grpc_service_config.json",
186+
)
187+
188+
ruby_gapic_assembly_pkg(
189+
name = "googleads-ruby",
190+
deps = [
191+
":googleads_ruby_gapic",
192+
"//google/ads/googleads/v10/common:common_ruby_proto",
193+
"//google/ads/googleads/v10/enums:enums_ruby_proto",
194+
"//google/ads/googleads/v10/errors:errors_ruby_proto",
195+
"//google/ads/googleads/v10/resources:resources_ruby_proto",
196+
"//google/ads/googleads/v10/services:services_ruby_grpc",
197+
"//google/ads/googleads/v10/services:services_ruby_proto",
198+
],
199+
)
200+
201+
##############################################################################
202+
# Python
203+
##############################################################################
204+
load(
205+
"@com_google_googleapis_imports//:imports.bzl",
206+
"py_gapic_assembly_pkg",
207+
"py_gapic_library",
208+
)
209+
210+
py_gapic_library(
211+
name = "googleads_py_gapic",
212+
srcs = [":googleads_proto_with_info"],
213+
grpc_service_config = "googleads_grpc_service_config.json",
214+
opt_args = [
215+
"old-naming",
216+
"lazy-import",
217+
"python-gapic-name=googleads",
218+
"python-gapic-templates=ads-templates",
219+
"warehouse-package-name=google-ads",
220+
],
221+
)
222+
223+
py_gapic_assembly_pkg(
224+
name = "googleads-py",
225+
deps = [
226+
":googleads_py_gapic",
227+
"//google/ads/googleads/v10/common:common_py_proto",
228+
"//google/ads/googleads/v10/enums:enums_py_proto",
229+
"//google/ads/googleads/v10/errors:errors_py_proto",
230+
"//google/ads/googleads/v10/resources:resources_py_proto",
231+
"//google/ads/googleads/v10/services:services_py_grpc",
232+
"//google/ads/googleads/v10/services:services_py_proto",
233+
],
234+
)
235+
236+
##############################################################################
237+
# Node.js
238+
##############################################################################
239+
load(
240+
"@com_google_googleapis_imports//:imports.bzl",
241+
"nodejs_gapic_assembly_pkg",
242+
"nodejs_gapic_library",
243+
)
244+
245+
nodejs_gapic_library(
246+
name = "googleads_nodejs_gapic",
247+
package_name = "google-ads",
248+
src = ":googleads_proto_with_info",
249+
extra_protoc_parameters = ["metadata"],
250+
grpc_service_config = "googleads_grpc_service_config.json",
251+
main_service = "GoogleAdsService",
252+
package = "google.ads.googleads.v10",
253+
service_yaml = "googleads_v10.yaml",
254+
deps = [],
255+
)
256+
257+
nodejs_gapic_assembly_pkg(
258+
name = "googleads-nodejs",
259+
deps = [
260+
":googleads_nodejs_gapic",
261+
":googleads_proto",
262+
],
263+
)
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Copyright 2020 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
package(default_visibility = ["//visibility:public"])
16+
17+
##############################################################################
18+
# Common
19+
##############################################################################
20+
load("@rules_proto//proto:defs.bzl", "proto_library")
21+
22+
# TODO(ohren): Change srcs to use an enumeration of each individual proto
23+
# instead of *.proto globbing once the build file generator supports
24+
# subpackages.
25+
proto_library(
26+
name = "common_proto",
27+
srcs = glob(["*.proto"]),
28+
deps = [
29+
"//google/ads/googleads/v10/enums:enums_proto",
30+
"//google/api:annotations_proto",
31+
"//google/api:field_behavior_proto",
32+
"//google/api:resource_proto",
33+
"@com_google_protobuf//:wrappers_proto",
34+
],
35+
)
36+
37+
##############################################################################
38+
# Java
39+
##############################################################################
40+
load(
41+
"@com_google_googleapis_imports//:imports.bzl",
42+
"java_proto_library",
43+
)
44+
45+
java_proto_library(
46+
name = "common_java_proto",
47+
deps = [":common_proto"],
48+
)
49+
50+
##############################################################################
51+
# PHP
52+
##############################################################################
53+
54+
# PHP targets are in the parent directory's BUILD.bazel file to facilitate
55+
# aggregating metadata using a single underlying call to protoc.
56+
57+
##############################################################################
58+
# C#
59+
##############################################################################
60+
load(
61+
"@gapic_generator_csharp//rules_csharp_gapic:csharp_gapic.bzl",
62+
"csharp_proto_library",
63+
)
64+
65+
csharp_proto_library(
66+
name = "common_csharp_proto",
67+
deps = [":common_proto"],
68+
)
69+
70+
##############################################################################
71+
# Ruby
72+
##############################################################################
73+
load(
74+
"@gapic_generator_ruby//rules_ruby_gapic:ruby_gapic.bzl",
75+
"ruby_proto_library",
76+
)
77+
78+
ruby_proto_library(
79+
name = "common_ruby_proto",
80+
deps = [":common_proto"],
81+
)
82+
83+
##############################################################################
84+
# Python
85+
##############################################################################
86+
load(
87+
"@com_google_googleapis_imports//:imports.bzl",
88+
"py_proto_library",
89+
)
90+
91+
py_proto_library(
92+
name = "common_py_proto",
93+
deps = [":common_proto"],
94+
)

0 commit comments

Comments
 (0)