BUILD 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. load("@rules_java//java:defs.bzl", "java_proto_library")
  2. load("@rules_proto//proto:defs.bzl", "proto_library")
  3. load("@com_google_protobuf//:protobuf.bzl", "py_proto_library")
  4. load(
  5. "//bazel:pgv_proto_library.bzl",
  6. "pgv_cc_proto_library",
  7. "pgv_go_proto_library",
  8. "pgv_java_proto_library",
  9. )
  10. # gazelle:go_generate_proto false
  11. proto_library(
  12. name = "cases_proto",
  13. srcs = [
  14. "bool.proto",
  15. "bytes.proto",
  16. "enums.proto",
  17. "filename-with-dash.proto",
  18. "kitchen_sink.proto",
  19. "maps.proto",
  20. "messages.proto",
  21. "numbers.proto",
  22. "oneofs.proto",
  23. "repeated.proto",
  24. "strings.proto",
  25. "subdirectory/in_subdirectory.proto",
  26. "wkt_any.proto",
  27. "wkt_duration.proto",
  28. "wkt_timestamp.proto",
  29. "wkt_wrappers.proto",
  30. ],
  31. visibility = ["//visibility:public"],
  32. deps = [
  33. "//tests/harness/cases/other_package:embed_proto",
  34. "//validate:validate_proto",
  35. "@com_google_protobuf//:any_proto",
  36. "@com_google_protobuf//:duration_proto",
  37. "@com_google_protobuf//:timestamp_proto",
  38. "@com_google_protobuf//:wrappers_proto",
  39. ],
  40. )
  41. pgv_go_proto_library(
  42. name = "go",
  43. importpath = "github.com/envoyproxy/protoc-gen-validate/tests/harness/cases/go",
  44. proto = ":cases_proto",
  45. deps = [
  46. "//tests/harness/cases/other_package:go",
  47. "@org_golang_google_protobuf//types/known/anypb:go_default_library",
  48. "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
  49. "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
  50. "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
  51. ],
  52. )
  53. pgv_cc_proto_library(
  54. name = "cc",
  55. cc_deps = [
  56. "//tests/harness/cases/other_package:cc",
  57. ],
  58. visibility = ["//tests:__subpackages__"],
  59. deps = [":cases_proto"],
  60. )
  61. java_proto_library(
  62. name = "cases_java_proto",
  63. visibility = ["//visibility:public"],
  64. deps = [":cases_proto"],
  65. )
  66. pgv_java_proto_library(
  67. name = "java",
  68. java_deps = [
  69. ":cases_java_proto",
  70. "//tests/harness/cases/other_package:java",
  71. ],
  72. visibility = ["//visibility:public"],
  73. deps = [":cases_proto"],
  74. )
  75. # There is not currently a canonical implementation of py_proto_library in Bazel.
  76. # This py_proto_library implementation is from "github.com/protocolbuffers/protobuf" and works differently from other
  77. # languages' canonical implementations - for example, it doesn't take "proto_library" targets as input.
  78. py_proto_library(
  79. name = "cases_py_proto",
  80. srcs = [
  81. "bool.proto",
  82. "bytes.proto",
  83. "enums.proto",
  84. "kitchen_sink.proto",
  85. "maps.proto",
  86. "messages.proto",
  87. "numbers.proto",
  88. "oneofs.proto",
  89. "repeated.proto",
  90. "strings.proto",
  91. "wkt_any.proto",
  92. "wkt_duration.proto",
  93. "wkt_timestamp.proto",
  94. "wkt_wrappers.proto",
  95. ],
  96. visibility = ["//visibility:public"],
  97. deps = [
  98. "//validate:validate_py",
  99. "//tests/harness/cases/other_package:embed_python_proto",
  100. "@com_google_protobuf//:protobuf_python",
  101. ],
  102. )