BUILD.bazel 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  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. proto_library(
  8. name = "annotations_proto",
  9. srcs = ["annotations.proto"],
  10. deps = [
  11. ":http_proto",
  12. "@com_google_protobuf//:descriptor_proto",
  13. ],
  14. )
  15. proto_library(
  16. name = "auth_proto",
  17. srcs = ["auth.proto"],
  18. deps = [":annotations_proto"],
  19. )
  20. proto_library(
  21. name = "backend_proto",
  22. srcs = ["backend.proto"],
  23. visibility = ["//visibility:public"],
  24. )
  25. proto_library(
  26. name = "billing_proto",
  27. srcs = ["billing.proto"],
  28. deps = [
  29. ":annotations_proto",
  30. ":metric_proto",
  31. ],
  32. )
  33. proto_library(
  34. name = "client_proto",
  35. srcs = ["client.proto"],
  36. deps = [
  37. "@com_google_protobuf//:descriptor_proto",
  38. ],
  39. )
  40. proto_library(
  41. name = "config_change_proto",
  42. srcs = ["config_change.proto"],
  43. visibility = ["//visibility:public"],
  44. )
  45. proto_library(
  46. name = "consumer_proto",
  47. srcs = ["consumer.proto"],
  48. visibility = ["//visibility:public"],
  49. )
  50. proto_library(
  51. name = "context_proto",
  52. srcs = ["context.proto"],
  53. visibility = ["//visibility:public"],
  54. )
  55. proto_library(
  56. name = "control_proto",
  57. srcs = ["control.proto"],
  58. visibility = ["//visibility:public"],
  59. )
  60. proto_library(
  61. name = "distribution_proto",
  62. srcs = ["distribution.proto"],
  63. deps = [
  64. ":annotations_proto",
  65. "@com_google_protobuf//:any_proto",
  66. "@com_google_protobuf//:timestamp_proto",
  67. ],
  68. )
  69. proto_library(
  70. name = "documentation_proto",
  71. srcs = ["documentation.proto"],
  72. visibility = ["//visibility:public"],
  73. )
  74. proto_library(
  75. name = "endpoint_proto",
  76. srcs = ["endpoint.proto"],
  77. deps = [":annotations_proto"],
  78. )
  79. proto_library(
  80. name = "field_behavior_proto",
  81. srcs = ["field_behavior.proto"],
  82. deps = [
  83. "@com_google_protobuf//:descriptor_proto",
  84. ],
  85. )
  86. proto_library(
  87. name = "http_proto",
  88. srcs = ["http.proto"],
  89. visibility = ["//visibility:public"],
  90. )
  91. proto_library(
  92. name = "httpbody_proto",
  93. srcs = ["httpbody.proto"],
  94. deps = ["@com_google_protobuf//:any_proto"],
  95. )
  96. proto_library(
  97. name = "label_proto",
  98. srcs = ["label.proto"],
  99. visibility = ["//visibility:public"],
  100. )
  101. proto_library(
  102. name = "launch_stage_proto",
  103. srcs = ["launch_stage.proto"],
  104. )
  105. proto_library(
  106. name = "log_proto",
  107. srcs = ["log.proto"],
  108. deps = [":label_proto"],
  109. )
  110. proto_library(
  111. name = "logging_proto",
  112. srcs = ["logging.proto"],
  113. deps = [
  114. ":annotations_proto",
  115. ":label_proto",
  116. ],
  117. )
  118. proto_library(
  119. name = "metric_proto",
  120. srcs = ["metric.proto"],
  121. deps = [
  122. ":label_proto",
  123. ":launch_stage_proto",
  124. "@com_google_protobuf//:duration_proto",
  125. ],
  126. )
  127. proto_library(
  128. name = "monitored_resource_proto",
  129. srcs = ["monitored_resource.proto"],
  130. deps = [
  131. ":label_proto",
  132. ":launch_stage_proto",
  133. "@com_google_protobuf//:struct_proto",
  134. ],
  135. )
  136. proto_library(
  137. name = "monitoring_proto",
  138. srcs = ["monitoring.proto"],
  139. deps = [":annotations_proto"],
  140. )
  141. proto_library(
  142. name = "quota_proto",
  143. srcs = ["quota.proto"],
  144. deps = [":annotations_proto"],
  145. )
  146. proto_library(
  147. name = "resource_proto",
  148. srcs = ["resource.proto"],
  149. deps = [
  150. "@com_google_protobuf//:descriptor_proto",
  151. ],
  152. )
  153. proto_library(
  154. name = "service_proto",
  155. srcs = ["service.proto"],
  156. deps = [
  157. ":annotations_proto",
  158. ":auth_proto",
  159. ":backend_proto",
  160. ":billing_proto",
  161. ":context_proto",
  162. ":control_proto",
  163. ":documentation_proto",
  164. ":endpoint_proto",
  165. ":http_proto",
  166. ":label_proto",
  167. ":log_proto",
  168. ":logging_proto",
  169. ":metric_proto",
  170. ":monitored_resource_proto",
  171. ":monitoring_proto",
  172. ":quota_proto",
  173. ":resource_proto",
  174. ":source_info_proto",
  175. ":system_parameter_proto",
  176. ":usage_proto",
  177. "@com_google_protobuf//:any_proto",
  178. "@com_google_protobuf//:api_proto",
  179. "@com_google_protobuf//:type_proto",
  180. "@com_google_protobuf//:wrappers_proto",
  181. ],
  182. )
  183. proto_library(
  184. name = "source_info_proto",
  185. srcs = ["source_info.proto"],
  186. deps = ["@com_google_protobuf//:any_proto"],
  187. )
  188. proto_library(
  189. name = "system_parameter_proto",
  190. srcs = ["system_parameter.proto"],
  191. visibility = ["//visibility:public"],
  192. )
  193. proto_library(
  194. name = "usage_proto",
  195. srcs = ["usage.proto"],
  196. deps = [
  197. ":annotations_proto",
  198. ":visibility_proto",
  199. ],
  200. )
  201. proto_library(
  202. name = "visibility_proto",
  203. srcs = ["visibility.proto"],
  204. deps = ["@com_google_protobuf//:descriptor_proto"],
  205. visibility = ["//visibility:public"],
  206. )
  207. ##############################################################################
  208. # Java
  209. ##############################################################################
  210. load("@com_google_googleapis_imports//:imports.bzl", "java_proto_library")
  211. java_proto_library(
  212. name = "api_java_proto",
  213. deps = [
  214. "annotations_proto",
  215. "auth_proto",
  216. "backend_proto",
  217. "billing_proto",
  218. "client_proto",
  219. "config_change_proto",
  220. "consumer_proto",
  221. "context_proto",
  222. "control_proto",
  223. "distribution_proto",
  224. "documentation_proto",
  225. "endpoint_proto",
  226. "field_behavior_proto",
  227. "http_proto",
  228. "httpbody_proto",
  229. "label_proto",
  230. "launch_stage_proto",
  231. "log_proto",
  232. "logging_proto",
  233. "metric_proto",
  234. "monitored_resource_proto",
  235. "monitoring_proto",
  236. "quota_proto",
  237. "resource_proto",
  238. "service_proto",
  239. "source_info_proto",
  240. "system_parameter_proto",
  241. "usage_proto",
  242. "visibility_proto",
  243. ],
  244. )
  245. ##############################################################################
  246. # Go
  247. ##############################################################################
  248. load("@com_google_googleapis_imports//:imports.bzl", "go_proto_library")
  249. go_proto_library(
  250. name = "annotations_go_proto",
  251. importpath = "google.golang.org/genproto/googleapis/api/annotations",
  252. protos = [
  253. ":annotations_proto",
  254. ":http_proto",
  255. ],
  256. )
  257. go_proto_library(
  258. name = "client_go_proto",
  259. importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
  260. protos = [":client_proto"],
  261. )
  262. go_proto_library(
  263. name = "configchange_go_proto",
  264. importpath = "google.golang.org/genproto/googleapis/api/configchange",
  265. protos = [":config_change_proto"],
  266. )
  267. go_proto_library(
  268. name = "distribution_go_proto",
  269. importpath = "google.golang.org/genproto/googleapis/api/distribution",
  270. protos = [":distribution_proto"],
  271. )
  272. go_proto_library(
  273. name = "field_behavior_go_proto",
  274. importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
  275. protos = [":field_behavior_proto"],
  276. )
  277. go_proto_library(
  278. name = "httpbody_go_proto",
  279. importpath = "google.golang.org/genproto/googleapis/api/httpbody",
  280. protos = [":httpbody_proto"],
  281. )
  282. go_proto_library(
  283. name = "label_go_proto",
  284. importpath = "google.golang.org/genproto/googleapis/api/label",
  285. protos = [":label_proto"],
  286. )
  287. go_proto_library(
  288. name = "api_go_proto",
  289. importpath = "google.golang.org/genproto/googleapis/api",
  290. protos = [
  291. ":launch_stage_proto",
  292. ],
  293. deps = [
  294. ":annotations_go_proto",
  295. ],
  296. )
  297. go_proto_library(
  298. name = "metric_go_proto",
  299. importpath = "google.golang.org/genproto/googleapis/api/metric",
  300. protos = [":metric_proto"],
  301. deps = [
  302. ":api_go_proto",
  303. ":label_go_proto",
  304. ],
  305. )
  306. go_proto_library(
  307. name = "monitoredres_go_proto",
  308. importpath = "google.golang.org/genproto/googleapis/api/monitoredres",
  309. protos = [":monitored_resource_proto"],
  310. deps = [
  311. ":api_go_proto",
  312. ":label_go_proto",
  313. ],
  314. )
  315. go_proto_library(
  316. name = "resource_go_proto",
  317. importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
  318. protos = [":resource_proto"],
  319. )
  320. go_proto_library(
  321. name = "serviceconfig_go_proto",
  322. importpath = "google.golang.org/genproto/googleapis/api/serviceconfig",
  323. protos = [
  324. ":auth_proto",
  325. ":backend_proto",
  326. ":billing_proto",
  327. ":context_proto",
  328. ":control_proto",
  329. ":documentation_proto",
  330. ":endpoint_proto",
  331. ":log_proto",
  332. ":logging_proto",
  333. ":monitoring_proto",
  334. ":quota_proto",
  335. ":service_proto",
  336. ":source_info_proto",
  337. ":system_parameter_proto",
  338. ":usage_proto",
  339. ],
  340. deps = [
  341. ":annotations_go_proto",
  342. ":api_go_proto",
  343. ":label_go_proto",
  344. ":metric_go_proto",
  345. ":monitoredres_go_proto",
  346. ],
  347. )
  348. go_proto_library(
  349. name = "visibility_go_proto",
  350. importpath = "google.golang.org/genproto/googleapis/api/visibility;visibility",
  351. protos = [":visibility_proto"],
  352. )
  353. ##############################################################################
  354. # C++
  355. ##############################################################################
  356. load("@com_google_googleapis_imports//:imports.bzl", "cc_proto_library")
  357. cc_proto_library(
  358. name = "annotations_cc_proto",
  359. deps = [":annotations_proto"],
  360. )
  361. cc_proto_library(
  362. name = "auth_cc_proto",
  363. deps = [":auth_proto"],
  364. )
  365. cc_proto_library(
  366. name = "backend_cc_proto",
  367. deps = [":backend_proto"],
  368. )
  369. cc_proto_library(
  370. name = "billing_cc_proto",
  371. deps = [":billing_proto"],
  372. )
  373. cc_proto_library(
  374. name = "client_cc_proto",
  375. deps = [":client_proto"],
  376. )
  377. cc_proto_library(
  378. name = "config_change_cc_proto",
  379. deps = [":config_change_proto"],
  380. )
  381. cc_proto_library(
  382. name = "consumer_cc_proto",
  383. deps = [":consumer_proto"],
  384. )
  385. cc_proto_library(
  386. name = "context_cc_proto",
  387. deps = [":context_proto"],
  388. )
  389. cc_proto_library(
  390. name = "control_cc_proto",
  391. deps = [":control_proto"],
  392. )
  393. cc_proto_library(
  394. name = "distribution_cc_proto",
  395. deps = [":distribution_proto"],
  396. )
  397. cc_proto_library(
  398. name = "documentation_cc_proto",
  399. deps = [":documentation_proto"],
  400. )
  401. cc_proto_library(
  402. name = "endpoint_cc_proto",
  403. deps = [":endpoint_proto"],
  404. )
  405. cc_proto_library(
  406. name = "field_behavior_cc_proto",
  407. deps = [":field_behavior_proto"],
  408. )
  409. cc_proto_library(
  410. name = "http_cc_proto",
  411. deps = [":http_proto"],
  412. )
  413. cc_proto_library(
  414. name = "httpbody_cc_proto",
  415. deps = [":httpbody_proto"],
  416. )
  417. cc_proto_library(
  418. name = "label_cc_proto",
  419. deps = [":label_proto"],
  420. )
  421. cc_proto_library(
  422. name = "launch_stage_cc_proto",
  423. deps = [":launch_stage_proto"],
  424. )
  425. cc_proto_library(
  426. name = "log_cc_proto",
  427. deps = [":log_proto"],
  428. )
  429. cc_proto_library(
  430. name = "logging_cc_proto",
  431. deps = [":logging_proto"],
  432. )
  433. cc_proto_library(
  434. name = "metric_cc_proto",
  435. deps = [":metric_proto"],
  436. )
  437. cc_proto_library(
  438. name = "monitored_resource_cc_proto",
  439. deps = [":monitored_resource_proto"],
  440. )
  441. cc_proto_library(
  442. name = "monitoring_cc_proto",
  443. deps = ["monitoring_proto"],
  444. )
  445. cc_proto_library(
  446. name = "quota_cc_proto",
  447. deps = ["quota_proto"],
  448. )
  449. cc_proto_library(
  450. name = "resource_cc_proto",
  451. deps = [":resource_proto"],
  452. )
  453. cc_proto_library(
  454. name = "service_cc_proto",
  455. deps = [":service_proto"],
  456. )
  457. cc_proto_library(
  458. name = "source_info_cc_proto",
  459. deps = [":source_info_proto"],
  460. )
  461. cc_proto_library(
  462. name = "system_parameter_cc_proto",
  463. deps = [":system_parameter_proto"],
  464. )
  465. cc_proto_library(
  466. name = "usage_cc_proto",
  467. deps = [":usage_proto"],
  468. )
  469. cc_proto_library(
  470. name = "visibility_cc_proto",
  471. deps = [":visibility_proto"],
  472. )
  473. ##############################################################################
  474. # Python
  475. ##############################################################################
  476. load("@com_google_googleapis_imports//:imports.bzl", "py_proto_library")
  477. py_proto_library(
  478. name = "annotations_py_proto",
  479. deps = [":annotations_proto"],
  480. )
  481. py_proto_library(
  482. name = "auth_py_proto",
  483. deps = [":auth_proto"],
  484. )
  485. py_proto_library(
  486. name = "backend_py_proto",
  487. deps = [":backend_proto"],
  488. )
  489. py_proto_library(
  490. name = "billing_py_proto",
  491. deps = [":billing_proto"],
  492. )
  493. py_proto_library(
  494. name = "client_py_proto",
  495. deps = [":client_proto"],
  496. )
  497. py_proto_library(
  498. name = "config_change_py_proto",
  499. deps = [":config_change_proto"],
  500. )
  501. py_proto_library(
  502. name = "consumer_py_proto",
  503. deps = [":consumer_proto"],
  504. )
  505. py_proto_library(
  506. name = "context_py_proto",
  507. deps = [":context_proto"],
  508. )
  509. py_proto_library(
  510. name = "control_py_proto",
  511. deps = [":control_proto"],
  512. )
  513. py_proto_library(
  514. name = "distribution_py_proto",
  515. deps = [":distribution_proto"],
  516. )
  517. py_proto_library(
  518. name = "documentation_py_proto",
  519. deps = [":documentation_proto"],
  520. )
  521. py_proto_library(
  522. name = "endpoint_py_proto",
  523. deps = [":endpoint_proto"],
  524. )
  525. py_proto_library(
  526. name = "field_behavior_py_proto",
  527. deps = [":field_behavior_proto"],
  528. )
  529. py_proto_library(
  530. name = "http_py_proto",
  531. deps = [":http_proto"],
  532. )
  533. py_proto_library(
  534. name = "httpbody_py_proto",
  535. deps = [":httpbody_proto"],
  536. )
  537. py_proto_library(
  538. name = "label_py_proto",
  539. deps = [":label_proto"],
  540. )
  541. py_proto_library(
  542. name = "launch_stage_py_proto",
  543. deps = [":launch_stage_proto"],
  544. )
  545. py_proto_library(
  546. name = "log_py_proto",
  547. deps = [":log_proto"],
  548. )
  549. py_proto_library(
  550. name = "logging_py_proto",
  551. deps = [":logging_proto"],
  552. )
  553. py_proto_library(
  554. name = "metric_py_proto",
  555. deps = [":metric_proto"],
  556. )
  557. py_proto_library(
  558. name = "monitored_resource_py_proto",
  559. deps = [":monitored_resource_proto"],
  560. )
  561. py_proto_library(
  562. name = "monitoring_py_proto",
  563. deps = ["monitoring_proto"],
  564. )
  565. py_proto_library(
  566. name = "quota_py_proto",
  567. deps = ["quota_proto"],
  568. )
  569. py_proto_library(
  570. name = "resource_py_proto",
  571. deps = [":resource_proto"],
  572. )
  573. py_proto_library(
  574. name = "service_py_proto",
  575. deps = [":service_proto"],
  576. )
  577. py_proto_library(
  578. name = "source_info_py_proto",
  579. deps = [":source_info_proto"],
  580. )
  581. py_proto_library(
  582. name = "system_parameter_py_proto",
  583. deps = [":system_parameter_proto"],
  584. )
  585. py_proto_library(
  586. name = "usage_py_proto",
  587. deps = [":usage_proto"],
  588. )
  589. py_proto_library(
  590. name = "visibility_py_proto",
  591. deps = ["visibility_proto"],
  592. )