BUILD.bazel 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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_library(
  9. name = "iam_policy_proto",
  10. srcs = ["iam_policy.proto"],
  11. deps = [
  12. ":options_proto",
  13. ":policy_proto",
  14. "//google/api:annotations_proto",
  15. "//google/api:client_proto",
  16. "//google/api:field_behavior_proto",
  17. "//google/api:resource_proto",
  18. ],
  19. )
  20. proto_library(
  21. name = "policy_proto",
  22. srcs = ["policy.proto"],
  23. deps = [
  24. "//google/api:annotations_proto",
  25. "//google/type:expr_proto",
  26. ],
  27. )
  28. proto_library(
  29. name = "options_proto",
  30. srcs = ["options.proto"],
  31. deps = [
  32. "//google/api:annotations_proto",
  33. ],
  34. )
  35. proto_library_with_info(
  36. name = "iam_proto_with_info",
  37. deps = [
  38. ":iam_policy_proto",
  39. ":options_proto",
  40. ":policy_proto",
  41. ],
  42. )
  43. ##############################################################################
  44. # Java
  45. ##############################################################################
  46. load("@com_google_googleapis_imports//:imports.bzl", "java_grpc_library", "java_proto_library")
  47. java_proto_library(
  48. name = "iam_java_proto",
  49. deps = [
  50. ":iam_policy_proto",
  51. ":policy_proto",
  52. ":options_proto",
  53. ],
  54. )
  55. java_grpc_library(
  56. name = "iam_java_grpc",
  57. srcs = [":iam_policy_proto"],
  58. deps = [":iam_java_proto"],
  59. )
  60. ##############################################################################
  61. # Go
  62. ##############################################################################
  63. load(
  64. "@com_google_googleapis_imports//:imports.bzl",
  65. "go_gapic_assembly_pkg",
  66. "go_proto_library",
  67. )
  68. go_proto_library(
  69. name = "iam_go_proto",
  70. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  71. importpath = "google.golang.org/genproto/googleapis/iam/v1",
  72. protos = [
  73. ":iam_policy_proto",
  74. ":options_proto",
  75. ":policy_proto",
  76. ],
  77. deps = [
  78. "//google/api:annotations_go_proto",
  79. "//google/type:expr_go_proto",
  80. ],
  81. )
  82. go_gapic_assembly_pkg(
  83. name = "gapi-cloud-iam-v1-go",
  84. deps = [
  85. ":iam_go_proto",
  86. ],
  87. )
  88. ##############################################################################
  89. # C++
  90. ##############################################################################
  91. load(
  92. "@com_google_googleapis_imports//:imports.bzl",
  93. "cc_proto_library",
  94. "cc_grpc_library")
  95. cc_proto_library(
  96. name = "iam_policy_cc_proto",
  97. deps = [":iam_policy_proto"],
  98. )
  99. cc_proto_library(
  100. name = "options_cc_proto",
  101. deps = [":options_proto"],
  102. )
  103. cc_proto_library(
  104. name = "policy_cc_proto",
  105. deps = [":policy_proto"],
  106. )
  107. cc_grpc_library(
  108. name = "iam_cc_grpc",
  109. srcs = [":iam_policy_proto"],
  110. grpc_only = True,
  111. deps = [":iam_policy_cc_proto"],
  112. )
  113. ##############################################################################
  114. # Python
  115. # ##############################################################################
  116. load(
  117. "@com_google_googleapis_imports//:imports.bzl",
  118. "py_proto_library",
  119. )
  120. py_proto_library(
  121. name = "iam_policy_py_proto",
  122. deps = [":iam_policy_proto"]
  123. )
  124. py_proto_library(
  125. name = "policy_py_proto",
  126. deps = [":policy_proto"]
  127. )
  128. py_proto_library(
  129. name = "options_py_proto",
  130. deps = [":options_proto"]
  131. )