|
@@ -0,0 +1,295 @@
|
|
|
+load("@rules_cc//cc:defs.bzl", "cc_proto_library")
|
|
|
+load("@rules_proto//proto:defs.bzl", "proto_library")
|
|
|
+load(":srpc.bzl", "gen_srpc_pb_cc")
|
|
|
+load(":srpc.bzl", "gen_srpc_thrift_cc")
|
|
|
+
|
|
|
+proto_library(
|
|
|
+ name = "message_proto",
|
|
|
+ srcs = [
|
|
|
+ 'src/message/rpc_meta.proto',
|
|
|
+ 'src/message/rpc_meta_brpc.proto',
|
|
|
+ 'src/message/rpc_meta_trpc.proto',
|
|
|
+ 'src/message/rpc_span.proto',
|
|
|
+ ],
|
|
|
+ strip_import_prefix = "src/message",
|
|
|
+)
|
|
|
+
|
|
|
+cc_proto_library(
|
|
|
+ name = "MessageProto",
|
|
|
+ deps = [":message_proto"],
|
|
|
+)
|
|
|
+
|
|
|
+cc_library(
|
|
|
+ name = 'srpc_hdrs',
|
|
|
+ hdrs = glob(['src/include/srpc/*']),
|
|
|
+ includes = ['src/include'],
|
|
|
+ deps = [
|
|
|
+ '@workflow//:workflow_hdrs',
|
|
|
+ ],
|
|
|
+ visibility = ["//visibility:public"],
|
|
|
+)
|
|
|
+
|
|
|
+cc_library(
|
|
|
+ name = 'libsrpc',
|
|
|
+ srcs = glob(['src/**/*.cc']),
|
|
|
+ hdrs = glob([
|
|
|
+ 'src/**/*.h',
|
|
|
+ 'src/**/*.inl',
|
|
|
+ ]),
|
|
|
+ includes = ['src', 'src/thrift', 'src/compress', 'src/message', 'src/module'],
|
|
|
+ deps = [
|
|
|
+ '@workflow//:http',
|
|
|
+ '@workflow//:upstream',
|
|
|
+ '@lz4//:lz4',
|
|
|
+ '@snappy//:snappy',
|
|
|
+ ':MessageProto',
|
|
|
+ ],
|
|
|
+ visibility = ["//visibility:public"],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name ='srpc_generator',
|
|
|
+ srcs = glob(['src/generator/*.cc']),
|
|
|
+ deps = [':libsrpc'],
|
|
|
+)
|
|
|
+
|
|
|
+proto_library(
|
|
|
+ name = "echo_pb_proto",
|
|
|
+ srcs = [
|
|
|
+ 'tutorial/echo_pb.proto',
|
|
|
+ ],
|
|
|
+ strip_import_prefix = "tutorial",
|
|
|
+)
|
|
|
+
|
|
|
+cc_proto_library(
|
|
|
+ name = "EchoProto",
|
|
|
+ deps = [":echo_pb_proto"],
|
|
|
+)
|
|
|
+
|
|
|
+gen_srpc_pb_cc(
|
|
|
+ name = "echo_pb",
|
|
|
+ files = ["tutorial/echo_pb.proto",],
|
|
|
+ deps_lib = [':EchoProto'],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'srpc_pb_server',
|
|
|
+ srcs = ['tutorial/tutorial-01-srpc_pb_server.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_pb_server_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'srpc_pb_client',
|
|
|
+ srcs = ['tutorial/tutorial-02-srpc_pb_client.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_pb_client_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+gen_srpc_thrift_cc(
|
|
|
+ name = "echo_thrift",
|
|
|
+ files = ["tutorial/echo_thrift.thrift",],
|
|
|
+ deps_lib = [],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'srpc_thrift_server',
|
|
|
+ srcs = ['tutorial/tutorial-03-srpc_thrift_server.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_thrift_server_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'srpc_thrift_client',
|
|
|
+ srcs = ['tutorial/tutorial-04-srpc_thrift_client.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_thrift_client_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'brpc_pb_server',
|
|
|
+ srcs = ['tutorial/tutorial-05-brpc_pb_server.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_pb_server_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'brpc_pb_client',
|
|
|
+ srcs = ['tutorial/tutorial-06-brpc_pb_client.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_pb_client_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'thrift_thrift_server',
|
|
|
+ srcs = ['tutorial/tutorial-07-thrift_thrift_server.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_thrift_server_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'thrift_thrift_client',
|
|
|
+ srcs = ['tutorial/tutorial-08-thrift_thrift_client.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_thrift_client_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'client_task',
|
|
|
+ srcs = ['tutorial/tutorial-09-client_task.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_pb_client_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'server_async',
|
|
|
+ srcs = ['tutorial/tutorial-10-server_async.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':echo_pb_server_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+proto_library(
|
|
|
+ name = "helloworld_proto",
|
|
|
+ srcs = [
|
|
|
+ 'tutorial/helloworld.proto',
|
|
|
+ ],
|
|
|
+ strip_import_prefix = "tutorial",
|
|
|
+)
|
|
|
+
|
|
|
+cc_proto_library(
|
|
|
+ name = "HelloworldProto",
|
|
|
+ deps = [":helloworld_proto"],
|
|
|
+)
|
|
|
+
|
|
|
+gen_srpc_pb_cc(
|
|
|
+ name = "helloworld",
|
|
|
+ files = ["tutorial/helloworld.proto",],
|
|
|
+ deps_lib = [':HelloworldProto'],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'trpc_pb_server',
|
|
|
+ srcs = ['tutorial/tutorial-11-trpc_pb_server.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':helloworld_server_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'trpc_pb_client',
|
|
|
+ srcs = ['tutorial/tutorial-12-trpc_pb_client.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':helloworld_client_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'trpc_http_server',
|
|
|
+ srcs = ['tutorial/tutorial-13-trpc_http_server.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':helloworld_server_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|
|
|
+cc_binary(
|
|
|
+ name = 'trpc_http_client',
|
|
|
+ srcs = ['tutorial/tutorial-14-trpc_http_client.cc'],
|
|
|
+ deps = [
|
|
|
+ ':libsrpc',
|
|
|
+ ':helloworld_client_cc',
|
|
|
+ ],
|
|
|
+ linkopts = [
|
|
|
+ '-lpthread',
|
|
|
+ '-lssl',
|
|
|
+ '-lcrypto',
|
|
|
+ ],
|
|
|
+)
|
|
|
+
|