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