11# Bazel build
22# C/C++ documentation: https://docs.bazel.build/versions/master/be/c-cpp.html
33
4- load ("@com_github_grpc_grpc//bazel:grpc_build_system.bzl" , "grpc_proto_library" )
4+ load ("@com_github_grpc_grpc//bazel:cc_grpc_library.bzl" , "cc_grpc_library" )
5+ load ("@build_stack_rules_proto//python:python_proto_compile.bzl" , "python_proto_compile" )
56load ("@com_github_google_flatbuffers//:build_defs.bzl" , "flatbuffer_cc_library" )
67load ("@//bazel:ray.bzl" , "flatbuffer_py_library" )
78load ("@//bazel:cython_library.bzl" , "pyx_library" )
89
910COPTS = ["-DRAY_USE_GLOG" ]
1011
11- # Node manager gRPC lib.
12- grpc_proto_library (
13- name = "node_manager_grpc_lib" ,
12+ # === Begin of protobuf definitions ===
13+
14+ proto_library (
15+ name = "gcs_proto" ,
16+ srcs = ["src/ray/protobuf/gcs.proto" ],
17+ visibility = ["//java:__subpackages__" ],
18+ )
19+
20+ cc_proto_library (
21+ name = "gcs_cc_proto" ,
22+ deps = [":gcs_proto" ],
23+ )
24+
25+ python_proto_compile (
26+ name = "gcs_py_proto" ,
27+ deps = [":gcs_proto" ],
28+ )
29+
30+ proto_library (
31+ name = "node_manager_proto" ,
1432 srcs = ["src/ray/protobuf/node_manager.proto" ],
1533)
1634
35+ cc_proto_library (
36+ name = "node_manager_cc_proto" ,
37+ deps = ["node_manager_proto" ],
38+ )
39+
40+ # === End of protobuf definitions ===
41+
42+ # Node manager gRPC lib.
43+ cc_grpc_library (
44+ name = "node_manager_cc_grpc" ,
45+ srcs = [":node_manager_proto" ],
46+ grpc_only = True ,
47+ deps = [":node_manager_cc_proto" ],
48+ )
49+
1750# Node manager server and client.
1851cc_library (
19- name = "node_manager_rpc_lib " ,
52+ name = "node_manager_rpc " ,
2053 srcs = glob ([
2154 "src/ray/rpc/*.cc" ,
2255 ]),
@@ -25,7 +58,7 @@ cc_library(
2558 ]),
2659 copts = COPTS ,
2760 deps = [
28- ":node_manager_grpc_lib " ,
61+ ":node_manager_cc_grpc " ,
2962 ":ray_common" ,
3063 "@boost//:asio" ,
3164 "@com_github_grpc_grpc//:grpc++" ,
@@ -114,7 +147,7 @@ cc_library(
114147 ":gcs" ,
115148 ":gcs_fbs" ,
116149 ":node_manager_fbs" ,
117- ":node_manager_rpc_lib " ,
150+ ":node_manager_rpc " ,
118151 ":object_manager" ,
119152 ":ray_common" ,
120153 ":ray_util" ,
@@ -422,9 +455,11 @@ cc_library(
422455 "src/ray/gcs/format" ,
423456 ],
424457 deps = [
458+ ":gcs_cc_proto" ,
425459 ":gcs_fbs" ,
426460 ":hiredis" ,
427461 ":node_manager_fbs" ,
462+ ":node_manager_rpc" ,
428463 ":ray_common" ,
429464 ":ray_util" ,
430465 ":stats_lib" ,
@@ -555,46 +590,6 @@ filegroup(
555590 visibility = ["//java:__subpackages__" ],
556591)
557592
558- flatbuffer_py_library (
559- name = "python_gcs_fbs" ,
560- srcs = [
561- ":gcs_fbs_file" ,
562- ],
563- outs = [
564- "ActorCheckpointIdData.py" ,
565- "ActorState.py" ,
566- "ActorTableData.py" ,
567- "Arg.py" ,
568- "ClassTableData.py" ,
569- "ClientTableData.py" ,
570- "ConfigTableData.py" ,
571- "CustomSerializerData.py" ,
572- "DriverTableData.py" ,
573- "EntryType.py" ,
574- "ErrorTableData.py" ,
575- "ErrorType.py" ,
576- "FunctionTableData.py" ,
577- "GcsEntry.py" ,
578- "HeartbeatBatchTableData.py" ,
579- "HeartbeatTableData.py" ,
580- "Language.py" ,
581- "ObjectTableData.py" ,
582- "ProfileEvent.py" ,
583- "ProfileTableData.py" ,
584- "RayResource.py" ,
585- "ResourcePair.py" ,
586- "SchedulingState.py" ,
587- "TablePrefix.py" ,
588- "TablePubsub.py" ,
589- "TaskInfo.py" ,
590- "TaskLeaseData.py" ,
591- "TaskReconstructionData.py" ,
592- "TaskTableData.py" ,
593- "TaskTableTestAndUpdate.py" ,
594- ],
595- out_prefix = "python/ray/core/generated/" ,
596- )
597-
598593flatbuffer_py_library (
599594 name = "python_node_manager_fbs" ,
600595 srcs = [
@@ -679,6 +674,7 @@ cc_binary(
679674 linkstatic = 1 ,
680675 visibility = ["//java:__subpackages__" ],
681676 deps = [
677+ ":gcs_cc_proto" ,
682678 ":ray_common" ,
683679 ],
684680)
@@ -688,7 +684,7 @@ genrule(
688684 srcs = [
689685 "python/ray/_raylet.so" ,
690686 "//:python_sources" ,
691- "//:python_gcs_fbs " ,
687+ "//:gcs_py_proto " ,
692688 "//:python_node_manager_fbs" ,
693689 "//:redis-server" ,
694690 "//:redis-cli" ,
@@ -710,11 +706,13 @@ genrule(
710706 cp -f $(location //:raylet_monitor) $$WORK_DIR/python/ray/core/src/ray/raylet/ &&
711707 cp -f $(location @plasma//:plasma_store_server) $$WORK_DIR/python/ray/core/src/plasma/ &&
712708 cp -f $(location //:raylet) $$WORK_DIR/python/ray/core/src/ray/raylet/ &&
713- for f in $(locations //:python_gcs_fbs); do cp -f $$f $$WORK_DIR/python/ray/core/generated/; done &&
714709 mkdir -p $$WORK_DIR/python/ray/core/generated/ray/protocol/ &&
715710 for f in $(locations //:python_node_manager_fbs); do
716711 cp -f $$f $$WORK_DIR/python/ray/core/generated/ray/protocol/;
717712 done &&
713+ for f in $(locations //:gcs_py_proto); do
714+ cp -f $$f $$WORK_DIR/python/ray/core/generated/;
715+ done &&
718716 echo $$WORK_DIR > $@
719717 """ ,
720718 local = 1 ,
0 commit comments