srpc.bzl 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. def gen_srpc_pb_cc(name, files, deps_lib):
  2. native.genrule(
  3. name = name,
  4. srcs = files,
  5. outs = [
  6. name + ".srpc.h",
  7. "client." + name + ".srpc.cc",
  8. "server." + name + ".srpc.cc",
  9. ],
  10. cmd = "$(location srpc_generator) protobuf $(<) ./ && mv " + name + ".srpc.h $(location " + name + ".srpc.h) && mv client.pb_skeleton.cc $(location client." + name + ".srpc.cc) && mv server.pb_skeleton.cc $(location server." + name + ".srpc.cc)",
  11. tools = [":srpc_generator"],
  12. )
  13. native.cc_library(
  14. name = name + "_client_cc",
  15. srcs = [
  16. "client." + name + ".srpc.cc",
  17. ],
  18. hdrs = [
  19. name + ".srpc.h",
  20. ],
  21. deps = [
  22. ':srpc_hdrs',
  23. ] + deps_lib,
  24. )
  25. native.cc_library(
  26. name = name + "_server_cc",
  27. srcs = [
  28. "server." + name + ".srpc.cc",
  29. ],
  30. hdrs = [
  31. name + ".srpc.h",
  32. ],
  33. deps = [
  34. ':srpc_hdrs',
  35. ] + deps_lib,
  36. )
  37. def gen_srpc_thrift_cc(name, files, deps_lib):
  38. native.genrule(
  39. name = name,
  40. srcs = files,
  41. outs = [
  42. name + ".srpc.h",
  43. name + ".thrift.h",
  44. "client." + name + ".thrift.cc",
  45. "server." + name + ".thrift.cc",
  46. ],
  47. cmd = "$(location srpc_generator) thrift $(<) ./ && mv " + name + ".thrift.h $(location " + name + ".thrift.h) && mv " + name + ".srpc.h $(location " + name + ".srpc.h) && mv client.thrift_skeleton.cc $(location client." + name + ".thrift.cc) && mv server.thrift_skeleton.cc $(location server." + name + ".thrift.cc)",
  48. tools = [":srpc_generator"],
  49. )
  50. native.cc_library(
  51. name = name + "_client_cc",
  52. srcs = [
  53. "client." + name + ".thrift.cc",
  54. ],
  55. hdrs = [
  56. name + ".srpc.h",
  57. name + ".thrift.h",
  58. ],
  59. deps = [
  60. ':srpc_hdrs',
  61. ] + deps_lib,
  62. )
  63. native.cc_library(
  64. name = name + "_server_cc",
  65. srcs = [
  66. "server." + name + ".thrift.cc",
  67. ],
  68. hdrs = [
  69. name + ".srpc.h",
  70. name + ".thrift.h",
  71. ],
  72. deps = [
  73. ':srpc_hdrs',
  74. ] + deps_lib,
  75. )