xref: /aosp_15_r20/external/federated-compute/fcp/secagg/client/BUILD (revision 14675a029014e728ec732f129a32e299b2da0601)
1# Description:
2#   SecAgg client-specific components.
3
4load("//fcp:config.bzl", "FCP_COPTS")
5
6package(
7    default_visibility = ["//fcp:internal"],
8)
9
10cc_library(
11    name = "state_transition_listener",
12    hdrs = ["state_transition_listener_interface.h"],
13)
14
15cc_library(
16    name = "client",
17    srcs = [
18        "secagg_client.cc",
19        "secagg_client_aborted_state.cc",
20        "secagg_client_alive_base_state.cc",
21        "secagg_client_completed_state.cc",
22        "secagg_client_r0_advertise_keys_input_not_set_state.cc",
23        "secagg_client_r0_advertise_keys_input_set_state.cc",
24        "secagg_client_r1_share_keys_base_state.cc",
25        "secagg_client_r1_share_keys_input_not_set_state.cc",
26        "secagg_client_r1_share_keys_input_set_state.cc",
27        "secagg_client_r2_masked_input_coll_base_state.cc",
28        "secagg_client_r2_masked_input_coll_input_not_set_state.cc",
29        "secagg_client_r2_masked_input_coll_input_set_state.cc",
30        "secagg_client_r2_masked_input_coll_waiting_for_input_state.cc",
31        "secagg_client_r3_unmasking_state.cc",
32        "secagg_client_state.cc",
33    ],
34    hdrs = [
35        "other_client_state.h",
36        "secagg_client.h",
37        "secagg_client_aborted_state.h",
38        "secagg_client_alive_base_state.h",
39        "secagg_client_completed_state.h",
40        "secagg_client_r0_advertise_keys_input_not_set_state.h",
41        "secagg_client_r0_advertise_keys_input_set_state.h",
42        "secagg_client_r1_share_keys_base_state.h",
43        "secagg_client_r1_share_keys_input_not_set_state.h",
44        "secagg_client_r1_share_keys_input_set_state.h",
45        "secagg_client_r2_masked_input_coll_base_state.h",
46        "secagg_client_r2_masked_input_coll_input_not_set_state.h",
47        "secagg_client_r2_masked_input_coll_input_set_state.h",
48        "secagg_client_r2_masked_input_coll_waiting_for_input_state.h",
49        "secagg_client_r3_unmasking_state.h",
50        "secagg_client_state.h",
51        "send_to_server_interface.h",
52    ],
53    copts = FCP_COPTS,
54    deps = [
55        ":state_transition_listener",
56        "//fcp/base",
57        "//fcp/secagg/shared",
58        "//fcp/secagg/shared:cc_proto",
59        "@com_google_absl//absl/container:node_hash_map",
60        "@com_google_absl//absl/strings",
61        "@com_google_absl//absl/synchronization",
62    ],
63)
64
65cc_test(
66    name = "client-test",
67    size = "small",
68    srcs = [
69        "secagg_client_test.cc",
70    ],
71    copts = FCP_COPTS,
72    deps = [
73        ":client",
74        ":state_transition_listener",
75        "//fcp/base",
76        "//fcp/secagg/shared",
77        "//fcp/secagg/shared:cc_proto",
78        "//fcp/secagg/testing:client_mocks",
79        "//fcp/secagg/testing:common_mocks",
80        "//fcp/testing",
81        "@com_google_googletest//:gtest_main",
82    ],
83)
84
85cc_test(
86    name = "state-test",
87    size = "small",
88    srcs = [
89        "secagg_client_aborted_state_test.cc",
90        "secagg_client_completed_state_test.cc",
91        "secagg_client_r0_advertise_keys_input_not_set_state_test.cc",
92        "secagg_client_r0_advertise_keys_input_set_state_test.cc",
93        "secagg_client_r1_share_keys_input_not_set_state_test.cc",
94        "secagg_client_r1_share_keys_input_set_state_test.cc",
95        "secagg_client_r2_masked_input_coll_input_not_set_state_test.cc",
96        "secagg_client_r2_masked_input_coll_input_set_state_test.cc",
97        "secagg_client_r2_masked_input_coll_waiting_for_input_state_test.cc",
98        "secagg_client_r3_unmasking_state_test.cc",
99    ],
100    copts = FCP_COPTS,
101    deps = [
102        ":client",
103        ":state_transition_listener",
104        "//fcp/base",
105        "//fcp/secagg/shared",
106        "//fcp/secagg/shared:cc_proto",
107        "//fcp/secagg/testing:client_mocks",
108        "//fcp/secagg/testing:common_mocks",
109        "//fcp/testing",
110        "@com_google_absl//absl/container:node_hash_map",
111        "@com_google_googletest//:gtest_main",
112    ],
113)
114