BUILD.bazel 8.4 KB

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