• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
15package(default_visibility = ["//visibility:public"])
16
17exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"])
18
19##############################################################################
20# Common
21##############################################################################
22load("@rules_proto//proto:defs.bzl", "proto_library")
23load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
24
25proto_library(
26    name = "googleads_proto",
27    srcs = [],
28    deps = [
29        "//google/ads/googleads/v15/common:common_proto",
30        "//google/ads/googleads/v15/enums:enums_proto",
31        "//google/ads/googleads/v15/errors:errors_proto",
32        "//google/ads/googleads/v15/resources:resources_proto",
33        "//google/ads/googleads/v15/services:services_proto",
34    ],
35)
36
37proto_library_with_info(
38    name = "googleads_proto_with_info",
39    deps = [
40        ":googleads_proto",
41    ],
42)
43
44##############################################################################
45# Java
46##############################################################################
47load(
48    "@com_google_googleapis_imports//:imports.bzl",
49    "java_gapic_assembly_gradle_pkg",
50    "java_gapic_library",
51    "java_gapic_test",
52)
53
54java_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    service_yaml = "googleads_v15.yaml",
62    deps = [
63        "//google/ads/googleads/v15/common:common_java_proto",
64        "//google/ads/googleads/v15/enums:enums_java_proto",
65        "//google/ads/googleads/v15/resources:resources_java_proto",
66        "//google/ads/googleads/v15/services:services_java_grpc",
67        "//google/ads/googleads/v15/services:services_java_proto",
68    ],
69)
70
71# TODO(ohren): Add more test classes when java_gapic_test is able to run more
72# than a single test. Having at least one verifies proper compilation at least.
73java_gapic_test(
74    name = "googleads_java_gapic_suite",
75    test_classes = [
76        "com.google.ads.googleads.v15.services.CampaignServiceClientTest",
77    ],
78    runtime_deps = [":googleads_java_gapic_test"],
79)
80
81java_gapic_assembly_gradle_pkg(
82    name = "googleads-java",
83    deps = [
84        ":googleads_java_gapic",
85        "//google/ads/googleads/v15:googleads_proto",
86        "//google/ads/googleads/v15/common:common_java_proto",
87        "//google/ads/googleads/v15/enums:enums_java_proto",
88        "//google/ads/googleads/v15/errors:errors_java_proto",
89        "//google/ads/googleads/v15/resources:resources_java_proto",
90        "//google/ads/googleads/v15/services:services_java_grpc",
91        "//google/ads/googleads/v15/services:services_java_proto",
92    ],
93)
94
95##############################################################################
96# PHP
97##############################################################################
98load(
99    "@com_google_googleapis_imports//:imports.bzl",
100    "php_gapic_assembly_pkg",
101    "php_gapic_library",
102    "php_grpc_library",
103    "php_proto_library",
104)
105
106php_proto_library(
107    name = "googleads_php_proto",
108    plugin_args = ["aggregate_metadata=google.ads.googleads"],
109    deps = [":googleads_proto"],
110)
111
112php_grpc_library(
113    name = "googleads_php_grpc",
114    srcs = [":googleads_proto"],
115    deps = [":googleads_php_proto"],
116)
117
118php_gapic_library(
119    name = "googleads_php_gapic",
120    srcs = [":googleads_proto"],
121    gapic_yaml = "googleads_gapic.yaml",
122    grpc_service_config = "googleads_grpc_service_config.json",
123    service_yaml = "googleads_v15.yaml",
124    generate_snippets = False,
125    migration_mode = "NEW_SURFACE_ONLY",
126    deps = [
127        ":googleads_php_grpc",
128        ":googleads_php_proto",
129    ],
130)
131
132php_gapic_assembly_pkg(
133    name = "googleads-php",
134    deps = [
135        ":googleads_php_gapic",
136        ":googleads_php_grpc",
137        ":googleads_php_proto",
138    ],
139)
140
141##############################################################################
142# C#
143##############################################################################
144load(
145    "@com_google_googleapis_imports//:imports.bzl",
146    "csharp_gapic_assembly_pkg",
147    "csharp_gapic_library",
148)
149
150csharp_gapic_library(
151    name = "googleads_csharp_gapic",
152    srcs = [
153        ":googleads_proto_with_info",
154    ],
155    grpc_service_config = "googleads_grpc_service_config.json",
156    service_yaml = "googleads_v15.yaml",
157    deps = [
158        "//google/ads/googleads/v15/services:services_csharp_grpc",
159    ],
160)
161
162csharp_gapic_assembly_pkg(
163    name = "googleads-csharp",
164    deps = [
165        ":googleads_csharp_gapic",
166        "//google/ads/googleads/v15/common:common_csharp_proto",
167        "//google/ads/googleads/v15/enums:enums_csharp_proto",
168        "//google/ads/googleads/v15/errors:errors_csharp_proto",
169        "//google/ads/googleads/v15/resources:resources_csharp_proto",
170        "//google/ads/googleads/v15/services:services_csharp_grpc",
171        "//google/ads/googleads/v15/services:services_csharp_proto",
172    ],
173)
174
175##############################################################################
176# Ruby
177##############################################################################
178load(
179    "@com_google_googleapis_imports//:imports.bzl",
180    "ruby_ads_gapic_library",
181    "ruby_gapic_assembly_pkg",
182)
183
184ruby_ads_gapic_library(
185    name = "googleads_ruby_gapic",
186    srcs = ["googleads_proto_with_info"],
187    extra_protoc_parameters = [
188        ":gem.:name=google-ads-googleads",
189        ":defaults.:service.:default_host=googleads.googleapis.com",
190        ":overrides.:namespace.Googleads=GoogleAds",
191    ],
192    grpc_service_config = "googleads_grpc_service_config.json",
193    service_yaml = "googleads_v15.yaml",
194)
195
196ruby_gapic_assembly_pkg(
197    name = "googleads-ruby",
198    deps = [
199        ":googleads_ruby_gapic",
200        "//google/ads/googleads/v15/common:common_ruby_proto",
201        "//google/ads/googleads/v15/enums:enums_ruby_proto",
202        "//google/ads/googleads/v15/errors:errors_ruby_proto",
203        "//google/ads/googleads/v15/resources:resources_ruby_proto",
204        "//google/ads/googleads/v15/services:services_ruby_grpc",
205        "//google/ads/googleads/v15/services:services_ruby_proto",
206    ],
207)
208
209##############################################################################
210# Python
211##############################################################################
212load(
213    "@com_google_googleapis_imports//:imports.bzl",
214    "py_gapic_assembly_pkg",
215    "py_gapic_library",
216)
217
218py_gapic_library(
219    name = "googleads_py_gapic",
220    srcs = [":googleads_proto_with_info"],
221    service_yaml = "googleads_v15.yaml",
222    grpc_service_config = "googleads_grpc_service_config.json",
223    opt_args = [
224        "old-naming",
225        "lazy-import",
226        "python-gapic-name=googleads",
227        "python-gapic-templates=ads-templates",
228        "warehouse-package-name=google-ads",
229    ],
230)
231
232py_gapic_assembly_pkg(
233    name = "googleads-py",
234    deps = [
235        ":googleads_py_gapic",
236    ],
237)
238
239##############################################################################
240# Node.js
241##############################################################################
242load(
243    "@com_google_googleapis_imports//:imports.bzl",
244    "nodejs_gapic_assembly_pkg",
245    "nodejs_gapic_library",
246)
247
248nodejs_gapic_library(
249    name = "googleads_nodejs_gapic",
250    package_name = "google-ads",
251    src = ":googleads_proto_with_info",
252    extra_protoc_parameters = ["metadata"],
253    grpc_service_config = "googleads_grpc_service_config.json",
254    main_service = "GoogleAdsService",
255    package = "google.ads.googleads.v15",
256    service_yaml = "googleads_v15.yaml",
257    deps = [],
258)
259
260nodejs_gapic_assembly_pkg(
261    name = "googleads-nodejs",
262    deps = [
263        ":googleads_nodejs_gapic",
264        ":googleads_proto",
265    ],
266)
267