Skip to content

Commit 898c472

Browse files
GuestPlatform Teamcopybara-github
GuestPlatform Team
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: 699526164
1 parent 632a5b6 commit 898c472

13 files changed

+166
-9
lines changed

MODULE.bazel

+9
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

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
workspace(name = "acs")

cpp/BUILD.bazel

+120
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

+1-1
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

+1-1
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

+1-1
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

+1-1
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

+1-1
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

+1-1
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

+1-1
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"

cpp/acs_agent_helper.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include <memory>
55
#include <string>
66

7-
#include "agent_communication.pb.h"
7+
#include "proto/agent_communication.pb.h"
88
#include "absl/status/statusor.h"
99
#include "absl/strings/string_view.h"
1010

cpp/fake_acs_agent_server_reactor.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <string>
66
#include <utility>
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/log/absl_log.h"

proto/BUILD.bazel

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
2+
load("@com_google_grpc//bazel:cc_grpc_library.bzl", "cc_grpc_library")
3+
4+
package(default_visibility = ["//visibility:public"])
5+
6+
proto_library(
7+
name="agent_communication_proto",
8+
srcs=["agent_communication.proto"],
9+
deps=[
10+
"@com_google_protobuf//:any_proto",
11+
"@googleapis//google/api:client_proto",
12+
"@googleapis//google/api:field_behavior_proto",
13+
"@googleapis//google/rpc:status_proto",
14+
]
15+
)
16+
17+
cc_proto_library(
18+
name="agent_communication_cc_proto",
19+
deps=[":agent_communication_proto"]
20+
)
21+
22+
cc_grpc_library(
23+
name="agent_communication_cc_grpc",
24+
srcs=[":agent_communication_proto"],
25+
deps=[":agent_communication_cc_proto"],
26+
grpc_only = True,
27+
)

0 commit comments

Comments
 (0)