Skip to content

Commit 0a2ad3d

Browse files
GuestPlatform Teamcopybara-github
authored andcommitted
Add bazel build and fix the include directory for pb.h files and transform proto.h to pb.h.
We use MODULE.bazel to manage the external dependencies, such as abseil, protobuf, grpc, googleapis, etc. As we have copy paste the agent_communication.proto file into ${root}/proto directly. We need to change the file's include directory as well. In external build, proto.h file is rarily generated, hence transform the include of proto.h to pb.h as well. PiperOrigin-RevId: 700395055
1 parent 632a5b6 commit 0a2ad3d

14 files changed

+167
-10
lines changed

MODULE.bazel

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module(name="acs", version="1.0.0")
2+
3+
bazel_dep(name="abseil-cpp", version="20240116.2")
4+
bazel_dep(name="protobuf", version="27.1", repo_name="com_google_protobuf")
5+
bazel_dep(name = "googleapis", version = "0.0.0-20240819-fe8ba054a")
6+
bazel_dep(name = "googletest", version = "1.14.0")
7+
bazel_dep(name = "grpc", version="1.68.0", repo_name="com_google_grpc")
8+
9+
bazel_dep(name = "curl", version = "8.8.0.bcr.1", repo_name="curl")

WORKSPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
workspace(name = "acs")

cpp/BUILD.bazel

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
package(default_visibility = ["//visibility:public"])
2+
3+
cc_library(
4+
name = "acs_agent_helper",
5+
srcs = ["acs_agent_helper.cc"],
6+
hdrs = ["acs_agent_helper.h"],
7+
deps = [
8+
"//proto:agent_communication_cc_proto",
9+
"@abseil-cpp//absl/log:absl_log",
10+
"@abseil-cpp//absl/status",
11+
"@abseil-cpp//absl/status:statusor",
12+
"@abseil-cpp//absl/strings",
13+
"@abseil-cpp//absl/strings:string_view",
14+
"@curl",
15+
],
16+
)
17+
18+
cc_test(
19+
name = "acs_agent_helper_test",
20+
srcs = ["acs_agent_helper_test.cc"],
21+
deps = [
22+
":acs_agent_helper",
23+
"@googletest//:gtest_main",
24+
],
25+
)
26+
27+
cc_library(
28+
name = "acs_agent_client_reactor",
29+
srcs = ["acs_agent_client_reactor.cc"],
30+
hdrs = ["acs_agent_client_reactor.h"],
31+
deps = [
32+
":acs_agent_helper",
33+
"//proto:agent_communication_cc_grpc",
34+
"@abseil-cpp//absl/base:core_headers",
35+
"@abseil-cpp//absl/functional:any_invocable",
36+
"@abseil-cpp//absl/log:absl_log",
37+
"@abseil-cpp//absl/strings",
38+
"@abseil-cpp//absl/strings:str_format",
39+
"@abseil-cpp//absl/strings:string_view",
40+
"@abseil-cpp//absl/synchronization",
41+
"@com_google_grpc//:grpc++",
42+
],
43+
)
44+
45+
cc_library(
46+
name = "fake_acs_agent_server_reactor",
47+
srcs = ["fake_acs_agent_server_reactor.cc"],
48+
hdrs = ["fake_acs_agent_server_reactor.h"],
49+
deps = [
50+
":acs_agent_helper",
51+
"//proto:agent_communication_cc_grpc",
52+
"@abseil-cpp//absl/base:core_headers",
53+
"@abseil-cpp//absl/functional:any_invocable",
54+
"@abseil-cpp//absl/log:absl_log",
55+
"@abseil-cpp//absl/synchronization",
56+
"@com_google_grpc//:grpc++",
57+
],
58+
)
59+
60+
cc_test(
61+
name = "acs_agent_client_reactor_test",
62+
srcs = ["acs_agent_client_reactor_test.cc"],
63+
deps = [
64+
":acs_agent_client_reactor",
65+
":fake_acs_agent_server_reactor",
66+
"//proto:agent_communication_cc_grpc",
67+
"@abseil-cpp//absl/log:absl_log",
68+
"@abseil-cpp//absl/time",
69+
"@com_google_grpc//:grpc++",
70+
"@googletest//:gtest_main",
71+
],
72+
)
73+
74+
cc_library(
75+
name = "acs_agent_client",
76+
srcs = ["acs_agent_client.cc"],
77+
hdrs = ["acs_agent_client.h"],
78+
deps = [
79+
":acs_agent_client_reactor",
80+
":acs_agent_helper",
81+
"//proto:agent_communication_cc_grpc",
82+
"@abseil-cpp//absl/base:core_headers",
83+
"@abseil-cpp//absl/functional:any_invocable",
84+
"@abseil-cpp//absl/functional:bind_front",
85+
"@abseil-cpp//absl/log:absl_log",
86+
"@abseil-cpp//absl/memory",
87+
"@abseil-cpp//absl/random",
88+
"@abseil-cpp//absl/random:distributions",
89+
"@abseil-cpp//absl/status",
90+
"@abseil-cpp//absl/status:statusor",
91+
"@abseil-cpp//absl/strings",
92+
"@abseil-cpp//absl/strings:str_format",
93+
"@abseil-cpp//absl/synchronization",
94+
"@abseil-cpp//absl/time",
95+
"@com_google_grpc//:grpc++",
96+
],
97+
)
98+
99+
cc_test(
100+
name = "acs_agent_client_test",
101+
srcs = ["acs_agent_client_test.cc"],
102+
deps = [
103+
":acs_agent_client",
104+
":acs_agent_helper",
105+
":fake_acs_agent_server_reactor",
106+
"//proto:agent_communication_cc_grpc",
107+
"@abseil-cpp//absl/base:core_headers",
108+
"@abseil-cpp//absl/functional:any_invocable",
109+
"@abseil-cpp//absl/log:absl_log",
110+
"@abseil-cpp//absl/log:globals",
111+
"@abseil-cpp//absl/status",
112+
"@abseil-cpp//absl/status:statusor",
113+
"@abseil-cpp//absl/strings",
114+
"@abseil-cpp//absl/synchronization",
115+
"@abseil-cpp//absl/time",
116+
"@com_google_grpc//:grpc++",
117+
"@com_google_grpc//:grpc_security_base",
118+
"@googletest//:gtest_main",
119+
],
120+
)

cpp/acs_agent_client.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include <unordered_map>
1313
#include <utility>
1414

15-
#include "agent_communication.grpc.pb.h"
15+
#include "proto/agent_communication.grpc.pb.h"
1616
#include "absl/functional/any_invocable.h"
1717
#include "absl/functional/bind_front.h"
1818
#include "absl/log/absl_log.h"

cpp/acs_agent_client.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <unordered_map>
1010
#include <utility>
1111

12-
#include "agent_communication.grpc.pb.h"
12+
#include "proto/agent_communication.grpc.pb.h"
1313
#include "absl/base/thread_annotations.h"
1414
#include "absl/functional/any_invocable.h"
1515
#include "absl/random/random.h"

cpp/acs_agent_client_reactor.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include <string>
77
#include <utility>
88

9-
#include "agent_communication.grpc.pb.h"
9+
#include "proto/agent_communication.grpc.pb.h"
1010
#include "absl/functional/any_invocable.h"
1111
#include "absl/log/absl_log.h"
1212
#include "absl/strings/str_cat.h"

cpp/acs_agent_client_reactor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <queue>
66
#include <string>
77

8-
#include "agent_communication.grpc.pb.h"
8+
#include "proto/agent_communication.grpc.pb.h"
99
#include "absl/base/thread_annotations.h"
1010
#include "absl/functional/any_invocable.h"
1111
#include "absl/strings/string_view.h"

cpp/acs_agent_client_reactor_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#include <thread>
1212
#include <utility>
1313

14-
#include "agent_communication.grpc.pb.h"
14+
#include "proto/agent_communication.grpc.pb.h"
1515
#include "gtest/gtest.h"
1616
#include "absl/log/absl_log.h"
1717
#include "absl/time/clock.h"

cpp/acs_agent_client_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include <utility>
88
#include <vector>
99

10-
#include "agent_communication.grpc.pb.h"
10+
#include "proto/agent_communication.grpc.pb.h"
1111
#include "gmock/gmock.h"
1212
#include "gtest/gtest.h"
1313
#include "absl/base/thread_annotations.h"

cpp/acs_agent_helper.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include <utility>
77
#include <vector>
88

9-
#include "google/rpc/status.proto.h"
9+
#include "google/rpc/status.pb.h"
1010
#include "absl/log/absl_log.h"
1111
#include "absl/status/status.h"
1212
#include "absl/status/statusor.h"

0 commit comments

Comments
 (0)