BUILD 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. load("@com_google_protobuf//:protobuf.bzl", "py_proto_library")
  2. load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
  3. load("@rules_cc//cc:defs.bzl", "cc_library", "cc_proto_library")
  4. load("@rules_java//java:defs.bzl", "java_proto_library")
  5. load("@rules_proto//proto:defs.bzl", "proto_library")
  6. load("@io_bazel_rules_go//go:def.bzl", "go_library")
  7. package(
  8. default_visibility =
  9. ["//visibility:public"],
  10. )
  11. proto_library(
  12. name = "validate_proto",
  13. srcs = ["validate.proto"],
  14. deps = [
  15. "@com_google_protobuf//:descriptor_proto",
  16. "@com_google_protobuf//:duration_proto",
  17. "@com_google_protobuf//:timestamp_proto",
  18. ],
  19. )
  20. cc_proto_library(
  21. name = "validate_cc",
  22. deps = [":validate_proto"],
  23. )
  24. py_proto_library(
  25. name = "validate_py",
  26. srcs = ["validate.proto"],
  27. deps = ["@com_google_protobuf//:protobuf_python"],
  28. )
  29. go_proto_library(
  30. name = "validate_go_proto",
  31. importpath = "github.com/envoyproxy/protoc-gen-validate/validate",
  32. proto = ":validate_proto",
  33. )
  34. cc_library(
  35. name = "cc_validate",
  36. hdrs = ["validate.h"],
  37. )
  38. go_library(
  39. name = "validate_go",
  40. embed = [":validate_go_proto"],
  41. importpath = "github.com/envoyproxy/protoc-gen-validate/validate",
  42. )
  43. java_proto_library(
  44. name = "validate_java",
  45. deps = [":validate_proto"],
  46. )
  47. alias(
  48. name = "go_default_library",
  49. actual = ":validate_go",
  50. deprecation = "Use :validate instead of :go_default_library. Details about the new naming convention: https://github.com/bazelbuild/bazel-gazelle/pull/863",
  51. visibility = ["//visibility:public"],
  52. )
  53. # this alias allows build files generated with Gazelle in other repositories
  54. # to find validate as an external dependency
  55. alias(
  56. name = "validate",
  57. actual = ":validate_go",
  58. visibility = ["//visibility:public"],
  59. )