BUILD.bazel 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  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. grpc_service_config = "containeranalysis_grpc_service_config.json",
  94. gapic_yaml = "containeranalysis_gapic.yaml",
  95. test_deps = [
  96. ":containeranalysis_java_grpc",
  97. ] + _JAVA_GRPC_SUBPACKAGE_DEPS,
  98. deps = [
  99. ":containeranalysis_java_proto",
  100. "//google/iam/v1:iam_java_proto",
  101. ] + _JAVA_PROTO_SUBPACKAGE_DEPS,
  102. )
  103. java_gapic_test(
  104. name = "containeranalysis_java_gapic_test_suite",
  105. test_classes = [
  106. "com.google.cloud.devtools.containeranalysis.v1beta1.ContainerAnalysisV1Beta1ClientTest",
  107. "com.google.cloud.devtools.containeranalysis.v1beta1.GrafeasV1Beta1ClientTest",
  108. ],
  109. runtime_deps = ["containeranalysis_java_gapic_test"],
  110. )
  111. # Open Source Packages
  112. java_gapic_assembly_gradle_pkg(
  113. name = "google-cloud-devtools-containeranalysis-v1beta1-java",
  114. deps = [
  115. ":containeranalysis_java_gapic",
  116. ":containeranalysis_java_grpc",
  117. ":containeranalysis_java_proto",
  118. ":containeranalysis_proto",
  119. ] + _JAVA_GRPC_SUBPACKAGE_DEPS + _JAVA_PROTO_SUBPACKAGE_DEPS + _PROTO_SUBPACKAGE_DEPS,
  120. )
  121. ##############################################################################
  122. # Go
  123. ##############################################################################
  124. load(
  125. "@com_google_googleapis_imports//:imports.bzl",
  126. "go_gapic_assembly_pkg",
  127. "go_gapic_library",
  128. "go_proto_library",
  129. "go_test",
  130. )
  131. go_proto_library(
  132. name = "containeranalysis_go_proto",
  133. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  134. importpath = "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1beta1",
  135. protos = [":containeranalysis_proto"],
  136. deps = [
  137. "//google/api:annotations_go_proto",
  138. "//google/iam/v1:iam_go_proto",
  139. ],
  140. )
  141. go_gapic_library(
  142. name = "containeranalysis_go_gapic",
  143. srcs = [":containeranalysis_proto_with_info"],
  144. grpc_service_config = "containeranalysis_grpc_service_config.json",
  145. importpath = "cloud.google.com/go/containeranalysis/apiv1beta1;containeranalysis",
  146. service_yaml = "//google/devtools/containeranalysis:containeranalysis_v1beta1.yaml",
  147. deps = [
  148. ":containeranalysis_go_proto",
  149. "//google/devtools/containeranalysis/v1beta1/attestation:attestation_go_proto",
  150. "//google/devtools/containeranalysis/v1beta1/build:build_go_proto",
  151. "//google/devtools/containeranalysis/v1beta1/common:common_go_proto",
  152. "//google/devtools/containeranalysis/v1beta1/deployment:deployment_go_proto",
  153. "//google/devtools/containeranalysis/v1beta1/discovery:discovery_go_proto",
  154. "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_go_proto",
  155. "//google/devtools/containeranalysis/v1beta1/image:image_go_proto",
  156. "//google/devtools/containeranalysis/v1beta1/package:package_go_proto",
  157. "//google/devtools/containeranalysis/v1beta1/provenance:provenance_go_proto",
  158. "//google/devtools/containeranalysis/v1beta1/source:source_go_proto",
  159. "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_go_proto",
  160. "//google/iam/v1:iam_go_proto",
  161. ],
  162. )
  163. go_test(
  164. name = "containeranalysis_go_gapic_test",
  165. srcs = [":containeranalysis_go_gapic_srcjar_test"],
  166. embed = [":containeranalysis_go_gapic"],
  167. importpath = "cloud.google.com/go/containeranalysis/apiv1beta1",
  168. )
  169. # Open Source Packages
  170. go_gapic_assembly_pkg(
  171. name = "gapi-cloud-devtools-containeranalysis-v1beta1-go",
  172. deps = [
  173. ":containeranalysis_go_gapic",
  174. ":containeranalysis_go_gapic_srcjar-test.srcjar",
  175. ":containeranalysis_go_proto",
  176. "//google/devtools/containeranalysis/v1beta1/attestation:attestation_go_proto",
  177. "//google/devtools/containeranalysis/v1beta1/build:build_go_proto",
  178. "//google/devtools/containeranalysis/v1beta1/common:common_go_proto",
  179. "//google/devtools/containeranalysis/v1beta1/deployment:deployment_go_proto",
  180. "//google/devtools/containeranalysis/v1beta1/discovery:discovery_go_proto",
  181. "//google/devtools/containeranalysis/v1beta1/grafeas:grafeas_go_proto",
  182. "//google/devtools/containeranalysis/v1beta1/image:image_go_proto",
  183. "//google/devtools/containeranalysis/v1beta1/package:package_go_proto",
  184. "//google/devtools/containeranalysis/v1beta1/provenance:provenance_go_proto",
  185. "//google/devtools/containeranalysis/v1beta1/source:source_go_proto",
  186. "//google/devtools/containeranalysis/v1beta1/vulnerability:vulnerability_go_proto",
  187. ],
  188. )
  189. ##############################################################################
  190. # Node.js
  191. ##############################################################################
  192. load(
  193. "@com_google_googleapis_imports//:imports.bzl",
  194. "nodejs_gapic_assembly_pkg",
  195. "nodejs_gapic_library",
  196. )
  197. nodejs_gapic_library(
  198. name = "containeranalysis_nodejs_gapic",
  199. package_name = "@google-cloud/containeranalysis",
  200. src = ":containeranalysis_proto_with_info",
  201. extra_protoc_parameters = ["metadata"],
  202. grpc_service_config = "containeranalysis_grpc_service_config.json",
  203. main_service = "containeranalysis",
  204. package = "google.devtools.containeranalysis.v1beta1",
  205. service_yaml = "containeranalysis_v1beta1.yaml",
  206. deps = [],
  207. )
  208. nodejs_gapic_assembly_pkg(
  209. name = "devtools-containeranalysis-v1beta1-nodejs",
  210. deps = [
  211. ":containeranalysis_nodejs_gapic",
  212. ":containeranalysis_proto",
  213. ] + _PROTO_SUBPACKAGE_DEPS,
  214. )