BUILD.bazel 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  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/cloud/oslogin/common:common_proto",
  10. ]
  11. proto_library(
  12. name = "oslogin_proto",
  13. srcs = [
  14. "oslogin.proto",
  15. ],
  16. deps = [
  17. "//google/api:annotations_proto",
  18. "//google/api:client_proto",
  19. "//google/api:field_behavior_proto",
  20. "//google/api:resource_proto",
  21. "@com_google_protobuf//:empty_proto",
  22. "@com_google_protobuf//:field_mask_proto",
  23. ] + _PROTO_SUBPACKAGE_DEPS,
  24. )
  25. proto_library_with_info(
  26. name = "oslogin_proto_with_info",
  27. deps = [
  28. ":oslogin_proto",
  29. "//google/cloud:common_resources_proto",
  30. ] + _PROTO_SUBPACKAGE_DEPS,
  31. )
  32. ##############################################################################
  33. # Java
  34. ##############################################################################
  35. load(
  36. "@com_google_googleapis_imports//:imports.bzl",
  37. "java_gapic_assembly_gradle_pkg",
  38. "java_gapic_library",
  39. "java_gapic_test",
  40. "java_grpc_library",
  41. "java_proto_library",
  42. )
  43. _JAVA_PROTO_SUBPACKAGE_DEPS = [
  44. "//google/cloud/oslogin/common:common_java_proto",
  45. ]
  46. _JAVA_GRPC_SUBPACKAGE_DEPS = [
  47. "//google/cloud/oslogin/common:common_java_grpc",
  48. ]
  49. java_proto_library(
  50. name = "oslogin_java_proto",
  51. deps = [":oslogin_proto"],
  52. )
  53. java_grpc_library(
  54. name = "oslogin_java_grpc",
  55. srcs = [":oslogin_proto"],
  56. deps = [":oslogin_java_proto"] + _JAVA_PROTO_SUBPACKAGE_DEPS,
  57. )
  58. java_gapic_library(
  59. name = "oslogin_java_gapic",
  60. srcs = [":oslogin_proto_with_info"],
  61. grpc_service_config = "oslogin_grpc_service_config.json",
  62. rest_numeric_enums = False,
  63. test_deps = [":oslogin_java_grpc"],
  64. transport = "grpc+rest",
  65. deps = [
  66. ":oslogin_java_proto",
  67. ] + _JAVA_PROTO_SUBPACKAGE_DEPS,
  68. )
  69. java_gapic_test(
  70. name = "oslogin_java_gapic_test_suite",
  71. test_classes = [
  72. "com.google.cloud.oslogin.v1beta.OsLoginServiceClientHttpJsonTest",
  73. "com.google.cloud.oslogin.v1beta.OsLoginServiceClientTest",
  74. ],
  75. runtime_deps = [":oslogin_java_gapic_test"],
  76. )
  77. # Open Source Packages
  78. java_gapic_assembly_gradle_pkg(
  79. name = "google-cloud-oslogin-v1beta-java",
  80. transport = "grpc+rest",
  81. deps = [
  82. ":oslogin_java_gapic",
  83. ":oslogin_java_grpc",
  84. ":oslogin_java_proto",
  85. ":oslogin_proto",
  86. ] + _JAVA_PROTO_SUBPACKAGE_DEPS + _PROTO_SUBPACKAGE_DEPS,
  87. )
  88. ##############################################################################
  89. # Go
  90. ##############################################################################
  91. load(
  92. "@com_google_googleapis_imports//:imports.bzl",
  93. "go_gapic_assembly_pkg",
  94. "go_gapic_library",
  95. "go_proto_library",
  96. "go_test",
  97. )
  98. go_proto_library(
  99. name = "oslogin_go_proto",
  100. compilers = ["@io_bazel_rules_go//proto:go_grpc"],
  101. importpath = "google.golang.org/genproto/googleapis/cloud/oslogin/v1beta",
  102. protos = [":oslogin_proto"],
  103. deps = [
  104. "//google/api:annotations_go_proto",
  105. "//google/cloud/oslogin/common:common_go_proto",
  106. ],
  107. )
  108. go_gapic_library(
  109. name = "oslogin_go_gapic",
  110. srcs = [":oslogin_proto_with_info"],
  111. grpc_service_config = "oslogin_grpc_service_config.json",
  112. importpath = "cloud.google.com/go/oslogin/apiv1beta;oslogin",
  113. rest_numeric_enums = False,
  114. service_yaml = "oslogin_v1beta.yaml",
  115. transport = "grpc+rest",
  116. deps = [
  117. ":oslogin_go_proto",
  118. "//google/cloud/oslogin/common:common_go_proto",
  119. ],
  120. )
  121. go_test(
  122. name = "oslogin_go_gapic_test",
  123. srcs = [":oslogin_go_gapic_srcjar_test"],
  124. embed = [":oslogin_go_gapic"],
  125. importpath = "cloud.google.com/go/oslogin/apiv1beta",
  126. )
  127. # Open Source Packages
  128. go_gapic_assembly_pkg(
  129. name = "gapi-cloud-oslogin-v1beta-go",
  130. deps = [
  131. ":oslogin_go_gapic",
  132. ":oslogin_go_gapic_srcjar-test.srcjar",
  133. ":oslogin_go_proto",
  134. "//google/cloud/oslogin/common:common_go_proto",
  135. ],
  136. )
  137. ##############################################################################
  138. # Python
  139. ##############################################################################
  140. load(
  141. "@com_google_googleapis_imports//:imports.bzl",
  142. "py_gapic_assembly_pkg",
  143. "py_gapic_library",
  144. )
  145. py_gapic_library(
  146. name = "oslogin_py_gapic",
  147. srcs = [
  148. ":oslogin_proto",
  149. ],
  150. grpc_service_config = "oslogin_grpc_service_config.json",
  151. rest_numeric_enums = False,
  152. transport = "grpc",
  153. )
  154. # Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
  155. #py_test(
  156. # name = "oslogin_py_gapic_test",
  157. # srcs = [
  158. # "oslogin_py_gapic_pytest.py",
  159. # "oslogin_py_gapic_test.py",
  160. # ],
  161. # legacy_create_init = False,
  162. # deps = [":oslogin_py_gapic"],
  163. #)
  164. py_gapic_assembly_pkg(
  165. name = "oslogin-v1beta-py",
  166. deps = [
  167. ":oslogin_py_gapic",
  168. "//google/cloud/oslogin/common:common_py_gapic",
  169. ],
  170. )
  171. ##############################################################################
  172. # PHP
  173. ##############################################################################
  174. load(
  175. "@com_google_googleapis_imports//:imports.bzl",
  176. "php_gapic_assembly_pkg",
  177. "php_gapic_library",
  178. "php_grpc_library",
  179. "php_proto_library",
  180. )
  181. _PHP_SUBPACKAGE_DEPS = [
  182. "//google/cloud/oslogin/common:common_php_proto",
  183. "//google/cloud/oslogin/common:common_php_grpc",
  184. ]
  185. php_proto_library(
  186. name = "oslogin_php_proto",
  187. deps = [":oslogin_proto"],
  188. )
  189. php_grpc_library(
  190. name = "oslogin_php_grpc",
  191. srcs = [":oslogin_proto"],
  192. deps = [":oslogin_php_proto"],
  193. )
  194. php_gapic_library(
  195. name = "oslogin_php_gapic",
  196. srcs = [":oslogin_proto_with_info"],
  197. grpc_service_config = "oslogin_grpc_service_config.json",
  198. rest_numeric_enums = False,
  199. transport = "grpc+rest",
  200. deps = [
  201. ":oslogin_php_grpc",
  202. ":oslogin_php_proto",
  203. ] + _PHP_SUBPACKAGE_DEPS,
  204. )
  205. # Open Source Packages
  206. php_gapic_assembly_pkg(
  207. name = "google-cloud-oslogin-v1beta-php",
  208. deps = [
  209. ":oslogin_php_gapic",
  210. ":oslogin_php_grpc",
  211. ":oslogin_php_proto",
  212. ] + _PHP_SUBPACKAGE_DEPS,
  213. )
  214. ##############################################################################
  215. # Node.js
  216. ##############################################################################
  217. load(
  218. "@com_google_googleapis_imports//:imports.bzl",
  219. "nodejs_gapic_assembly_pkg",
  220. "nodejs_gapic_library",
  221. )
  222. nodejs_gapic_library(
  223. name = "oslogin_nodejs_gapic",
  224. package_name = "@google-cloud/os-login",
  225. src = ":oslogin_proto_with_info",
  226. extra_protoc_parameters = ["metadata"],
  227. grpc_service_config = "oslogin_grpc_service_config.json",
  228. package = "google.cloud.oslogin.v1beta",
  229. rest_numeric_enums = False,
  230. service_yaml = "oslogin_v1beta.yaml",
  231. transport = "grpc+rest",
  232. deps = [],
  233. )
  234. nodejs_gapic_assembly_pkg(
  235. name = "oslogin-v1beta-nodejs",
  236. deps = [
  237. ":oslogin_nodejs_gapic",
  238. ":oslogin_proto",
  239. ] + _PROTO_SUBPACKAGE_DEPS,
  240. )
  241. ##############################################################################
  242. # Ruby
  243. ##############################################################################
  244. load(
  245. "@com_google_googleapis_imports//:imports.bzl",
  246. "ruby_cloud_gapic_library",
  247. "ruby_gapic_assembly_pkg",
  248. "ruby_grpc_library",
  249. "ruby_proto_library",
  250. )
  251. _RUBY_SUBPACKAGE_DEPS = [
  252. "//google/cloud/oslogin/common:common_ruby_proto",
  253. "//google/cloud/oslogin/common:common_ruby_grpc",
  254. ]
  255. ruby_proto_library(
  256. name = "oslogin_ruby_proto",
  257. deps = [":oslogin_proto"],
  258. )
  259. ruby_grpc_library(
  260. name = "oslogin_ruby_grpc",
  261. srcs = [":oslogin_proto"],
  262. deps = [":oslogin_ruby_proto"],
  263. )
  264. ruby_cloud_gapic_library(
  265. name = "oslogin_ruby_gapic",
  266. srcs = [":oslogin_proto_with_info"],
  267. extra_protoc_parameters = [
  268. "ruby-cloud-gem-name=google-cloud-os_login-v1beta",
  269. "ruby-cloud-env-prefix=OS_LOGIN",
  270. "ruby-cloud-product-url=https://cloud.google.com/compute/docs/oslogin",
  271. "ruby-cloud-api-id=oslogin.googleapis.com",
  272. "ruby-cloud-api-shortname=oslogin",
  273. ],
  274. grpc_service_config = "oslogin_grpc_service_config.json",
  275. rest_numeric_enums = False,
  276. ruby_cloud_description = "Use OS Login to manage SSH access to your instances using IAM without having to create and manage individual SSH keys. OS Login maintains a consistent Linux user identity across VM instances and is the recommended way to manage many users across multiple instances or projects.",
  277. ruby_cloud_title = "Cloud OS Login V1beta",
  278. deps = [
  279. ":oslogin_ruby_grpc",
  280. ":oslogin_ruby_proto",
  281. ] + _RUBY_SUBPACKAGE_DEPS,
  282. )
  283. # Open Source Packages
  284. ruby_gapic_assembly_pkg(
  285. name = "google-cloud-oslogin-v1beta-ruby",
  286. deps = [
  287. ":oslogin_ruby_gapic",
  288. ":oslogin_ruby_grpc",
  289. ":oslogin_ruby_proto",
  290. ] + _RUBY_SUBPACKAGE_DEPS,
  291. )
  292. ##############################################################################
  293. # C#
  294. ##############################################################################
  295. load(
  296. "@com_google_googleapis_imports//:imports.bzl",
  297. "csharp_gapic_assembly_pkg",
  298. "csharp_gapic_library",
  299. "csharp_grpc_library",
  300. "csharp_proto_library",
  301. )
  302. _CSHARP_SUBPACKAGE_DEPS = [
  303. "//google/cloud/oslogin/common:common_csharp_proto",
  304. "//google/cloud/oslogin/common:common_csharp_grpc",
  305. ]
  306. csharp_proto_library(
  307. name = "oslogin_csharp_proto",
  308. deps = [":oslogin_proto"],
  309. )
  310. csharp_grpc_library(
  311. name = "oslogin_csharp_grpc",
  312. srcs = [":oslogin_proto"],
  313. deps = [":oslogin_csharp_proto"],
  314. )
  315. csharp_gapic_library(
  316. name = "oslogin_csharp_gapic",
  317. srcs = [":oslogin_proto_with_info"],
  318. common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
  319. grpc_service_config = "oslogin_grpc_service_config.json",
  320. rest_numeric_enums = False,
  321. service_yaml = "oslogin_v1beta.yaml",
  322. deps = [
  323. ":oslogin_csharp_grpc",
  324. ":oslogin_csharp_proto",
  325. ] + _CSHARP_SUBPACKAGE_DEPS,
  326. )
  327. # Open Source Packages
  328. csharp_gapic_assembly_pkg(
  329. name = "google-cloud-oslogin-v1beta-csharp",
  330. deps = [
  331. ":oslogin_csharp_gapic",
  332. ":oslogin_csharp_grpc",
  333. ":oslogin_csharp_proto",
  334. ] + _CSHARP_SUBPACKAGE_DEPS,
  335. )
  336. ##############################################################################
  337. # C++
  338. ##############################################################################
  339. # Put your C++ rules here