BUILD.bazel 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. load("@rules_proto//proto:defs.bzl", "proto_library")
  2. # This is an API workspace, having public visibility by default makes perfect sense.
  3. package(default_visibility = ["//visibility:public"])
  4. ##############################################################################
  5. # Common
  6. ##############################################################################
  7. load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
  8. _PROTO_SUBPACKAGE_DEPS = [
  9. "//google/devtools/containeranalysis/v1beta1/attestation:attestation_proto",
  10. "//google/devtools/containeranalysis/v1beta1/build:build_proto",
  11. "//google/devtools/containeranalysis/v1beta1/common:common_proto",
  12. "//google/devtools/containeranalysis/v1beta1/cvss:cvss_proto",
  13. "//google/devtools/containeranalysis/v1beta1/deployment:deployment_proto",
  14. "//google/devtools/containeranalysis/v1beta1/discovery:discovery_proto",
  15. "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_proto",
  16. "//google/devtools/containeranalysis/v1beta1/image:image_proto",
  17. "//google/devtools/containeranalysis/v1beta1/package:package_proto",
  18. "//google/devtools/containeranalysis/v1beta1/provenance:provenance_proto",
  19. "//google/devtools/containeranalysis/v1beta1/source:source_proto",
  20. "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_proto",
  21. ]
  22. proto_library(
  23. name = "containeranalysis_proto",
  24. srcs = [
  25. "containeranalysis.proto",
  26. ],
  27. deps = [
  28. "//google/api:annotations_proto",
  29. "//google/api:client_proto",
  30. "//google/api:field_behavior_proto",
  31. "//google/api:resource_proto",
  32. "//google/iam/v1:iam_policy_proto",
  33. "//google/iam/v1:policy_proto",
  34. "@com_google_protobuf//:timestamp_proto",
  35. ],
  36. )
  37. proto_library_with_info(
  38. name = "containeranalysis_proto_with_info",
  39. deps = [
  40. "//google/cloud:common_resources_proto",
  41. ":containeranalysis_proto",
  42. ] + _PROTO_SUBPACKAGE_DEPS,
  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. "java_grpc_library",
  53. "java_proto_library",
  54. )
  55. _JAVA_PROTO_SUBPACKAGE_DEPS = [
  56. "//google/devtools/containeranalysis/v1beta1/attestation:attestation_java_proto",
  57. "//google/devtools/containeranalysis/v1beta1/build:build_java_proto",
  58. "//google/devtools/containeranalysis/v1beta1/common:common_java_proto",
  59. "//google/devtools/containeranalysis/v1beta1/deployment:deployment_java_proto",
  60. "//google/devtools/containeranalysis/v1beta1/discovery:discovery_java_proto",
  61. "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_java_proto",
  62. "//google/devtools/containeranalysis/v1beta1/image:image_java_proto",
  63. "//google/devtools/containeranalysis/v1beta1/package:package_java_proto",
  64. "//google/devtools/containeranalysis/v1beta1/provenance:provenance_java_proto",
  65. "//google/devtools/containeranalysis/v1beta1/source:source_java_proto",
  66. "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_java_proto",
  67. ]
  68. _JAVA_GRPC_SUBPACKAGE_DEPS = [
  69. "//google/devtools/containeranalysis/v1beta1/attestation:attestation_java_grpc",
  70. "//google/devtools/containeranalysis/v1beta1/build:build_java_grpc",
  71. "//google/devtools/containeranalysis/v1beta1/common:common_java_grpc",
  72. "//google/devtools/containeranalysis/v1beta1/deployment:deployment_java_grpc",
  73. "//google/devtools/containeranalysis/v1beta1/discovery:discovery_java_grpc",
  74. "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_java_grpc",
  75. "//google/devtools/containeranalysis/v1beta1/image:image_java_grpc",
  76. "//google/devtools/containeranalysis/v1beta1/package:package_java_grpc",
  77. "//google/devtools/containeranalysis/v1beta1/provenance:provenance_java_grpc",
  78. "//google/devtools/containeranalysis/v1beta1/source:source_java_grpc",
  79. "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_java_grpc",
  80. ]
  81. java_proto_library(
  82. name = "containeranalysis_java_proto",
  83. deps = [":containeranalysis_proto"],
  84. )
  85. java_grpc_library(
  86. name = "containeranalysis_java_grpc",
  87. srcs = [":containeranalysis_proto"],
  88. deps = [":containeranalysis_java_proto"],
  89. )
  90. java_gapic_library(
  91. name = "containeranalysis_java_gapic",
  92. srcs = [":containeranalysis_proto_with_info"],
  93. gapic_yaml = "containeranalysis_gapic.yaml",
  94. grpc_service_config = "containeranalysis_grpc_service_config.json",
  95. rest_numeric_enums = False,
  96. test_deps = [
  97. ":containeranalysis_java_grpc",
  98. ] + _JAVA_GRPC_SUBPACKAGE_DEPS,
  99. transport = "grpc+rest",
  100. deps = [
  101. ":containeranalysis_java_proto",
  102. "//google/iam/v1:iam_java_proto",
  103. ] + _JAVA_PROTO_SUBPACKAGE_DEPS,
  104. )
  105. java_gapic_test(
  106. name = "containeranalysis_java_gapic_test_suite",
  107. test_classes = [
  108. "com.google.cloud.devtools.containeranalysis.v1beta1.ContainerAnalysisV1Beta1ClientHttpJsonTest",
  109. "com.google.cloud.devtools.containeranalysis.v1beta1.ContainerAnalysisV1Beta1ClientTest",
  110. "com.google.cloud.devtools.containeranalysis.v1beta1.GrafeasV1Beta1ClientHttpJsonTest",
  111. "com.google.cloud.devtools.containeranalysis.v1beta1.GrafeasV1Beta1ClientTest",
  112. ],
  113. runtime_deps = ["containeranalysis_java_gapic_test"],
  114. )
  115. # Open Source Packages
  116. java_gapic_assembly_gradle_pkg(
  117. name = "google-cloud-devtools-containeranalysis-v1beta1-java",
  118. transport = "grpc+rest",
  119. deps = [
  120. ":containeranalysis_java_gapic",
  121. ":containeranalysis_java_grpc",
  122. ":containeranalysis_java_proto",
  123. ":containeranalysis_proto",
  124. ] + _JAVA_GRPC_SUBPACKAGE_DEPS + _JAVA_PROTO_SUBPACKAGE_DEPS + _PROTO_SUBPACKAGE_DEPS,
  125. )
  126. ##############################################################################
  127. # Go
  128. ##############################################################################
  129. load(
  130. "@com_google_googleapis_imports//:imports.bzl",
  131. "go_gapic_assembly_pkg",
  132. "go_gapic_library",
  133. "go_proto_library",
  134. "go_test",
  135. )
  136. go_proto_library(
  137. name = "containeranalysis_go_proto",
  138. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  139. importpath = "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1beta1",
  140. protos = [":containeranalysis_proto"],
  141. deps = [
  142. "//google/api:annotations_go_proto",
  143. "//google/iam/v1:iam_go_proto",
  144. ],
  145. )
  146. go_gapic_library(
  147. name = "containeranalysis_go_gapic",
  148. srcs = [":containeranalysis_proto_with_info"],
  149. grpc_service_config = "containeranalysis_grpc_service_config.json",
  150. importpath = "cloud.google.com/go/containeranalysis/apiv1beta1;containeranalysis",
  151. rest_numeric_enums = False,
  152. service_yaml = "containeranalysis_v1beta1.yaml",
  153. transport = "grpc+rest",
  154. deps = [
  155. ":containeranalysis_go_proto",
  156. "//google/devtools/containeranalysis/v1beta1/attestation:attestation_go_proto",
  157. "//google/devtools/containeranalysis/v1beta1/build:build_go_proto",
  158. "//google/devtools/containeranalysis/v1beta1/common:common_go_proto",
  159. "//google/devtools/containeranalysis/v1beta1/deployment:deployment_go_proto",
  160. "//google/devtools/containeranalysis/v1beta1/discovery:discovery_go_proto",
  161. "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_go_proto",
  162. "//google/devtools/containeranalysis/v1beta1/image:image_go_proto",
  163. "//google/devtools/containeranalysis/v1beta1/package:package_go_proto",
  164. "//google/devtools/containeranalysis/v1beta1/provenance:provenance_go_proto",
  165. "//google/devtools/containeranalysis/v1beta1/source:source_go_proto",
  166. "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_go_proto",
  167. "//google/iam/v1:iam_go_proto",
  168. ],
  169. )
  170. go_test(
  171. name = "containeranalysis_go_gapic_test",
  172. srcs = [":containeranalysis_go_gapic_srcjar_test"],
  173. embed = [":containeranalysis_go_gapic"],
  174. importpath = "cloud.google.com/go/containeranalysis/apiv1beta1",
  175. )
  176. # Open Source Packages
  177. go_gapic_assembly_pkg(
  178. name = "gapi-cloud-devtools-containeranalysis-v1beta1-go",
  179. deps = [
  180. ":containeranalysis_go_gapic",
  181. ":containeranalysis_go_gapic_srcjar-test.srcjar",
  182. ":containeranalysis_go_proto",
  183. "//google/devtools/containeranalysis/v1beta1/attestation:attestation_go_proto",
  184. "//google/devtools/containeranalysis/v1beta1/build:build_go_proto",
  185. "//google/devtools/containeranalysis/v1beta1/common:common_go_proto",
  186. "//google/devtools/containeranalysis/v1beta1/deployment:deployment_go_proto",
  187. "//google/devtools/containeranalysis/v1beta1/discovery:discovery_go_proto",
  188. "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_go_proto",
  189. "//google/devtools/containeranalysis/v1beta1/image:image_go_proto",
  190. "//google/devtools/containeranalysis/v1beta1/package:package_go_proto",
  191. "//google/devtools/containeranalysis/v1beta1/provenance:provenance_go_proto",
  192. "//google/devtools/containeranalysis/v1beta1/source:source_go_proto",
  193. "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_go_proto",
  194. ],
  195. )
  196. ##############################################################################
  197. # Node.js
  198. ##############################################################################
  199. load(
  200. "@com_google_googleapis_imports//:imports.bzl",
  201. "nodejs_gapic_assembly_pkg",
  202. "nodejs_gapic_library",
  203. )
  204. nodejs_gapic_library(
  205. name = "containeranalysis_nodejs_gapic",
  206. package_name = "@google-cloud/containeranalysis",
  207. src = ":containeranalysis_proto_with_info",
  208. extra_protoc_parameters = ["metadata"],
  209. grpc_service_config = "containeranalysis_grpc_service_config.json",
  210. main_service = "containeranalysis",
  211. package = "google.devtools.containeranalysis.v1beta1",
  212. rest_numeric_enums = False,
  213. service_yaml = "containeranalysis_v1beta1.yaml",
  214. transport = "grpc+rest",
  215. deps = [],
  216. )
  217. nodejs_gapic_assembly_pkg(
  218. name = "devtools-containeranalysis-v1beta1-nodejs",
  219. deps = [
  220. ":containeranalysis_nodejs_gapic",
  221. ":containeranalysis_proto",
  222. ] + _PROTO_SUBPACKAGE_DEPS,
  223. )