BUILD.bazel 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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. ##############################################################################
  16. # Common
  17. ##############################################################################
  18. load("@rules_proto//proto:defs.bzl", "proto_library")
  19. load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
  20. # TODO(ohren): Change srcs to use an enumeration of each individual proto
  21. # instead of *.proto globbing once the build file generator supports
  22. # subpackages.
  23. proto_library(
  24. name = "services_proto",
  25. srcs = glob(["*.proto"]),
  26. deps = [
  27. "//google/ads/googleads/v12/common:common_proto",
  28. "//google/ads/googleads/v12/enums:enums_proto",
  29. "//google/ads/googleads/v12/errors:errors_proto",
  30. "//google/ads/googleads/v12/resources:resources_proto",
  31. "//google/api:annotations_proto",
  32. "//google/api:client_proto",
  33. "//google/api:field_behavior_proto",
  34. "//google/api:resource_proto",
  35. "//google/longrunning:operations_proto",
  36. "//google/rpc:status_proto",
  37. "@com_google_protobuf//:empty_proto",
  38. "@com_google_protobuf//:field_mask_proto",
  39. "@com_google_protobuf//:wrappers_proto",
  40. ],
  41. )
  42. proto_library_with_info(
  43. name = "services_proto_with_info",
  44. deps = [
  45. ":services_proto",
  46. ],
  47. )
  48. ##############################################################################
  49. # Java
  50. ##############################################################################
  51. load(
  52. "@com_google_googleapis_imports//:imports.bzl",
  53. "java_grpc_library",
  54. "java_proto_library",
  55. )
  56. java_proto_library(
  57. name = "services_java_proto",
  58. deps = [":services_proto"],
  59. )
  60. java_grpc_library(
  61. name = "services_java_grpc",
  62. srcs = [":services_proto"],
  63. deps = [":services_java_proto"],
  64. )
  65. ##############################################################################
  66. # PHP
  67. ##############################################################################
  68. # PHP targets are in the parent directory's BUILD.bazel file to facilitate
  69. # aggregating metadata using a single underlying call to protoc.
  70. ##############################################################################
  71. # C#
  72. ##############################################################################
  73. load(
  74. "@com_google_googleapis_imports//:imports.bzl",
  75. "csharp_grpc_library",
  76. "csharp_proto_library",
  77. )
  78. csharp_proto_library(
  79. name = "services_csharp_proto",
  80. deps = [":services_proto"],
  81. )
  82. csharp_grpc_library(
  83. name = "services_csharp_grpc",
  84. srcs = [":services_proto"],
  85. deps = [":services_csharp_proto"],
  86. )
  87. ##############################################################################
  88. # Ruby
  89. ##############################################################################
  90. load(
  91. "@com_google_googleapis_imports//:imports.bzl",
  92. "ruby_grpc_library",
  93. "ruby_proto_library",
  94. )
  95. ruby_proto_library(
  96. name = "services_ruby_proto",
  97. deps = [":services_proto"],
  98. )
  99. ruby_grpc_library(
  100. name = "services_ruby_grpc",
  101. srcs = [":services_proto"],
  102. deps = [":services_ruby_proto"],
  103. )
  104. ##############################################################################
  105. # Python
  106. ##############################################################################
  107. load(
  108. "@com_google_googleapis_imports//:imports.bzl",
  109. "py_grpc_library",
  110. "py_proto_library",
  111. )
  112. py_proto_library(
  113. name = "services_py_proto",
  114. deps = [":services_proto"],
  115. )
  116. py_grpc_library(
  117. name = "services_py_grpc",
  118. srcs = [":services_proto"],
  119. deps = [":services_py_proto"],
  120. )