xref: /aosp_15_r20/external/federated-compute/fcp/client/BUILD (revision 14675a029014e728ec732f129a32e299b2da0601)
1*14675a02SAndroid Build Coastguard Worker# Copyright 2019 Google LLC
2*14675a02SAndroid Build Coastguard Worker#
3*14675a02SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*14675a02SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*14675a02SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*14675a02SAndroid Build Coastguard Worker#
7*14675a02SAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*14675a02SAndroid Build Coastguard Worker#
9*14675a02SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*14675a02SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*14675a02SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*14675a02SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*14675a02SAndroid Build Coastguard Worker# limitations under the License.
14*14675a02SAndroid Build Coastguard Worker
15*14675a02SAndroid Build Coastguard Workerload("//fcp:config.bzl", "FCP_COPTS")
16*14675a02SAndroid Build Coastguard Workerload("@org_tensorflow//tensorflow/core/platform:build_config.bzl", "tf_proto_library")
17*14675a02SAndroid Build Coastguard Workerload("@com_github_grpc_grpc//bazel:python_rules.bzl", "py_proto_library")
18*14675a02SAndroid Build Coastguard Workerload("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
19*14675a02SAndroid Build Coastguard Worker
20*14675a02SAndroid Build Coastguard Workerpackage(
21*14675a02SAndroid Build Coastguard Worker    default_visibility = [
22*14675a02SAndroid Build Coastguard Worker        "//fcp:internal",
23*14675a02SAndroid Build Coastguard Worker    ],
24*14675a02SAndroid Build Coastguard Worker    licenses = ["notice"],  # Apache 2.0
25*14675a02SAndroid Build Coastguard Worker)
26*14675a02SAndroid Build Coastguard Worker
27*14675a02SAndroid Build Coastguard Workercc_library(
28*14675a02SAndroid Build Coastguard Worker    name = "grpc_bidi_channel",
29*14675a02SAndroid Build Coastguard Worker    hdrs = ["grpc_bidi_channel.h"],
30*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
31*14675a02SAndroid Build Coastguard Worker    deps = [
32*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
33*14675a02SAndroid Build Coastguard Worker        "@com_github_grpc_grpc//:grpc++",
34*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/base:core_headers",
35*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
36*14675a02SAndroid Build Coastguard Worker    ],
37*14675a02SAndroid Build Coastguard Worker)
38*14675a02SAndroid Build Coastguard Worker
39*14675a02SAndroid Build Coastguard Workercc_test(
40*14675a02SAndroid Build Coastguard Worker    name = "grpc_bidi_channel_test",
41*14675a02SAndroid Build Coastguard Worker    srcs = ["grpc_bidi_channel_test.cc"],
42*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
43*14675a02SAndroid Build Coastguard Worker    tags = ["local"],  # The certificate path is not accessible from a sandbox.
44*14675a02SAndroid Build Coastguard Worker    deps = [
45*14675a02SAndroid Build Coastguard Worker        ":grpc_bidi_stream",
46*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:cc_grpc",
47*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
48*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
49*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
50*14675a02SAndroid Build Coastguard Worker    ],
51*14675a02SAndroid Build Coastguard Worker)
52*14675a02SAndroid Build Coastguard Worker
53*14675a02SAndroid Build Coastguard Workercc_library(
54*14675a02SAndroid Build Coastguard Worker    name = "grpc_bidi_stream",
55*14675a02SAndroid Build Coastguard Worker    srcs = ["grpc_bidi_stream.cc"],
56*14675a02SAndroid Build Coastguard Worker    hdrs = ["grpc_bidi_stream.h"],
57*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
58*14675a02SAndroid Build Coastguard Worker    deps = [
59*14675a02SAndroid Build Coastguard Worker        ":grpc_bidi_channel",
60*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
61*14675a02SAndroid Build Coastguard Worker        "//fcp/base:status_converters",
62*14675a02SAndroid Build Coastguard Worker        "//fcp/protocol:grpc_chunked_bidi_stream",
63*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:cc_grpc",
64*14675a02SAndroid Build Coastguard Worker        "@com_github_grpc_grpc//:grpc++",
65*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/base:core_headers",
66*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
67*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/synchronization",
68*14675a02SAndroid Build Coastguard Worker    ],
69*14675a02SAndroid Build Coastguard Worker)
70*14675a02SAndroid Build Coastguard Worker
71*14675a02SAndroid Build Coastguard Workercc_test(
72*14675a02SAndroid Build Coastguard Worker    name = "grpc_bidi_stream_test",
73*14675a02SAndroid Build Coastguard Worker    srcs = ["grpc_bidi_stream_test.cc"],
74*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
75*14675a02SAndroid Build Coastguard Worker    deps = [
76*14675a02SAndroid Build Coastguard Worker        ":fake_server",
77*14675a02SAndroid Build Coastguard Worker        ":grpc_bidi_stream",
78*14675a02SAndroid Build Coastguard Worker        ":test_helpers",
79*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
80*14675a02SAndroid Build Coastguard Worker        "//fcp/base:scheduler",
81*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
82*14675a02SAndroid Build Coastguard Worker        "@com_github_grpc_grpc//:grpc++",
83*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
84*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
85*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
86*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
87*14675a02SAndroid Build Coastguard Worker    ],
88*14675a02SAndroid Build Coastguard Worker)
89*14675a02SAndroid Build Coastguard Worker
90*14675a02SAndroid Build Coastguard Workercc_library(
91*14675a02SAndroid Build Coastguard Worker    name = "fake_server",
92*14675a02SAndroid Build Coastguard Worker    testonly = 1,
93*14675a02SAndroid Build Coastguard Worker    srcs = ["fake_server.cc"],
94*14675a02SAndroid Build Coastguard Worker    hdrs = ["fake_server.h"],
95*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
96*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
97*14675a02SAndroid Build Coastguard Worker    deps = [
98*14675a02SAndroid Build Coastguard Worker        ":grpc_bidi_stream",
99*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
100*14675a02SAndroid Build Coastguard Worker        "//fcp/base:status_converters",
101*14675a02SAndroid Build Coastguard Worker        "//fcp/protocol:grpc_chunked_bidi_stream",
102*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:cc_grpc",
103*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
104*14675a02SAndroid Build Coastguard Worker        "@com_github_grpc_grpc//:grpc++",
105*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
106*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/synchronization",
107*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest",
108*14675a02SAndroid Build Coastguard Worker    ],
109*14675a02SAndroid Build Coastguard Worker)
110*14675a02SAndroid Build Coastguard Worker
111*14675a02SAndroid Build Coastguard Worker# Interfaces used by the engine & protocol. These require platform specific
112*14675a02SAndroid Build Coastguard Worker# implementations.
113*14675a02SAndroid Build Coastguard Workercc_library(
114*14675a02SAndroid Build Coastguard Worker    name = "interfaces",
115*14675a02SAndroid Build Coastguard Worker    srcs = [],
116*14675a02SAndroid Build Coastguard Worker    hdrs = [
117*14675a02SAndroid Build Coastguard Worker        "event_publisher.h",
118*14675a02SAndroid Build Coastguard Worker        "files.h",
119*14675a02SAndroid Build Coastguard Worker        "flags.h",
120*14675a02SAndroid Build Coastguard Worker        "log_manager.h",
121*14675a02SAndroid Build Coastguard Worker        "secagg_event_publisher.h",
122*14675a02SAndroid Build Coastguard Worker        "stats.h",
123*14675a02SAndroid Build Coastguard Worker    ],
124*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
125*14675a02SAndroid Build Coastguard Worker    deps = [
126*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
127*14675a02SAndroid Build Coastguard Worker        ":histogram_counters_cc_proto",
128*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:engine_cc_proto",
129*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_map",
130*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
131*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
132*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
133*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
134*14675a02SAndroid Build Coastguard Worker    ],
135*14675a02SAndroid Build Coastguard Worker)
136*14675a02SAndroid Build Coastguard Worker
137*14675a02SAndroid Build Coastguard Workercc_library(
138*14675a02SAndroid Build Coastguard Worker    name = "federated_protocol",
139*14675a02SAndroid Build Coastguard Worker    hdrs = ["federated_protocol.h"],
140*14675a02SAndroid Build Coastguard Worker    deps = [
141*14675a02SAndroid Build Coastguard Worker        ":interfaces",
142*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:engine_cc_proto",
143*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
144*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
145*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_cc_proto",
146*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:node_hash_map",
147*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
148*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
149*14675a02SAndroid Build Coastguard Worker    ],
150*14675a02SAndroid Build Coastguard Worker)
151*14675a02SAndroid Build Coastguard Worker
152*14675a02SAndroid Build Coastguard Workercc_library(
153*14675a02SAndroid Build Coastguard Worker    name = "federated_protocol_util",
154*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_protocol_util.cc"],
155*14675a02SAndroid Build Coastguard Worker    hdrs = ["federated_protocol_util.h"],
156*14675a02SAndroid Build Coastguard Worker    deps = [
157*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
158*14675a02SAndroid Build Coastguard Worker        ":interfaces",
159*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
160*14675a02SAndroid Build Coastguard Worker        "//fcp/base:time_util",
161*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
162*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/random",
163*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
164*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
165*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
166*14675a02SAndroid Build Coastguard Worker    ],
167*14675a02SAndroid Build Coastguard Worker)
168*14675a02SAndroid Build Coastguard Worker
169*14675a02SAndroid Build Coastguard Workercc_test(
170*14675a02SAndroid Build Coastguard Worker    name = "federated_protocol_util_test",
171*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_protocol_util_test.cc"],
172*14675a02SAndroid Build Coastguard Worker    deps = [
173*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
174*14675a02SAndroid Build Coastguard Worker        ":federated_protocol_util",
175*14675a02SAndroid Build Coastguard Worker        ":test_helpers",
176*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
177*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
178*14675a02SAndroid Build Coastguard Worker    ],
179*14675a02SAndroid Build Coastguard Worker)
180*14675a02SAndroid Build Coastguard Worker
181*14675a02SAndroid Build Coastguard Workercc_library(
182*14675a02SAndroid Build Coastguard Worker    name = "grpc_federated_protocol",
183*14675a02SAndroid Build Coastguard Worker    srcs = ["grpc_federated_protocol.cc"],
184*14675a02SAndroid Build Coastguard Worker    hdrs = [
185*14675a02SAndroid Build Coastguard Worker        "grpc_federated_protocol.h",
186*14675a02SAndroid Build Coastguard Worker    ],
187*14675a02SAndroid Build Coastguard Worker    deps = [
188*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
189*14675a02SAndroid Build Coastguard Worker        ":federated_protocol",
190*14675a02SAndroid Build Coastguard Worker        ":federated_protocol_util",
191*14675a02SAndroid Build Coastguard Worker        ":fl_runner_cc_proto",
192*14675a02SAndroid Build Coastguard Worker        ":grpc_bidi_stream",
193*14675a02SAndroid Build Coastguard Worker        ":interfaces",
194*14675a02SAndroid Build Coastguard Worker        ":interruptible_runner",
195*14675a02SAndroid Build Coastguard Worker        ":secagg_runner",
196*14675a02SAndroid Build Coastguard Worker        ":selector_context_cc_proto",
197*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
198*14675a02SAndroid Build Coastguard Worker        "//fcp/base:time_util",
199*14675a02SAndroid Build Coastguard Worker        "//fcp/base:wall_clock_stopwatch",
200*14675a02SAndroid Build Coastguard Worker        "//fcp/client/cache:resource_cache",
201*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:engine_cc_proto",
202*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client",
203*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:in_memory_request_response",
204*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
205*14675a02SAndroid Build Coastguard Worker        "//fcp/protocol:grpc_chunked_bidi_stream",
206*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
207*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
208*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/client",
209*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/client:state_transition_listener",
210*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/shared",
211*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/shared:cc_proto",
212*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_map",
213*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_set",
214*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:node_hash_map",
215*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/random",
216*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
217*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
218*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
219*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/types:span",
220*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
221*14675a02SAndroid Build Coastguard Worker    ],
222*14675a02SAndroid Build Coastguard Worker)
223*14675a02SAndroid Build Coastguard Worker
224*14675a02SAndroid Build Coastguard Workercc_test(
225*14675a02SAndroid Build Coastguard Worker    name = "grpc_federated_protocol_test",
226*14675a02SAndroid Build Coastguard Worker    srcs = ["grpc_federated_protocol_test.cc"],
227*14675a02SAndroid Build Coastguard Worker    deps = [
228*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
229*14675a02SAndroid Build Coastguard Worker        ":grpc_bidi_stream",
230*14675a02SAndroid Build Coastguard Worker        ":grpc_federated_protocol",
231*14675a02SAndroid Build Coastguard Worker        ":interfaces",
232*14675a02SAndroid Build Coastguard Worker        ":interruptible_runner",
233*14675a02SAndroid Build Coastguard Worker        ":test_helpers",
234*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
235*14675a02SAndroid Build Coastguard Worker        "//fcp/client/cache:test_helpers",
236*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:engine_cc_proto",
237*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client",
238*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http/testing:test_helpers",
239*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
240*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/client",
241*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/shared",
242*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/testing:client_mocks",
243*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/testing:common_mocks",
244*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
245*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/random",
246*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
247*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/synchronization",
248*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
249*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
250*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
251*14675a02SAndroid Build Coastguard Worker    ],
252*14675a02SAndroid Build Coastguard Worker)
253*14675a02SAndroid Build Coastguard Worker
254*14675a02SAndroid Build Coastguard Workercc_library(
255*14675a02SAndroid Build Coastguard Worker    name = "simple_task_environment",
256*14675a02SAndroid Build Coastguard Worker    srcs = ["simple_task_environment.cc"],
257*14675a02SAndroid Build Coastguard Worker    hdrs = ["simple_task_environment.h"],
258*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
259*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
260*14675a02SAndroid Build Coastguard Worker    deps = [
261*14675a02SAndroid Build Coastguard Worker        ":selector_context_cc_proto",
262*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
263*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client",
264*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
265*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
266*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
267*14675a02SAndroid Build Coastguard Worker    ],
268*14675a02SAndroid Build Coastguard Worker)
269*14675a02SAndroid Build Coastguard Worker
270*14675a02SAndroid Build Coastguard Workercc_test(
271*14675a02SAndroid Build Coastguard Worker    name = "simple_task_environment_test",
272*14675a02SAndroid Build Coastguard Worker    srcs = ["simple_task_environment_test.cc"],
273*14675a02SAndroid Build Coastguard Worker    deps = [
274*14675a02SAndroid Build Coastguard Worker        ":simple_task_environment",
275*14675a02SAndroid Build Coastguard Worker        ":test_helpers",
276*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
277*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
278*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
279*14675a02SAndroid Build Coastguard Worker    ],
280*14675a02SAndroid Build Coastguard Worker)
281*14675a02SAndroid Build Coastguard Worker
282*14675a02SAndroid Build Coastguard Workerbool_flag(
283*14675a02SAndroid Build Coastguard Worker    name = "support_tfmobile",
284*14675a02SAndroid Build Coastguard Worker    build_setting_default = True,
285*14675a02SAndroid Build Coastguard Worker)
286*14675a02SAndroid Build Coastguard Worker
287*14675a02SAndroid Build Coastguard Workerbool_flag(
288*14675a02SAndroid Build Coastguard Worker    name = "support_grpc",
289*14675a02SAndroid Build Coastguard Worker    build_setting_default = True,
290*14675a02SAndroid Build Coastguard Worker)
291*14675a02SAndroid Build Coastguard Worker
292*14675a02SAndroid Build Coastguard Workerconfig_setting(
293*14675a02SAndroid Build Coastguard Worker    name = "client_support_tfmobile",
294*14675a02SAndroid Build Coastguard Worker    flag_values = {":support_tfmobile": "True"},
295*14675a02SAndroid Build Coastguard Worker)
296*14675a02SAndroid Build Coastguard Worker
297*14675a02SAndroid Build Coastguard Workerconfig_setting(
298*14675a02SAndroid Build Coastguard Worker    name = "client_support_grpc",
299*14675a02SAndroid Build Coastguard Worker    flag_values = {":support_grpc": "True"},
300*14675a02SAndroid Build Coastguard Worker)
301*14675a02SAndroid Build Coastguard Worker
302*14675a02SAndroid Build Coastguard WorkerTF_OPTIONAL_DEPS = select({
303*14675a02SAndroid Build Coastguard Worker    ":client_support_tfmobile": [
304*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:plan_engine",
305*14675a02SAndroid Build Coastguard Worker    ],
306*14675a02SAndroid Build Coastguard Worker    "//conditions:default": [],
307*14675a02SAndroid Build Coastguard Worker})
308*14675a02SAndroid Build Coastguard Worker
309*14675a02SAndroid Build Coastguard WorkerTF_OPTIONAL_DEFINES = select({
310*14675a02SAndroid Build Coastguard Worker    ":client_support_tfmobile": [
311*14675a02SAndroid Build Coastguard Worker        "FCP_CLIENT_SUPPORT_TFMOBILE",
312*14675a02SAndroid Build Coastguard Worker    ],
313*14675a02SAndroid Build Coastguard Worker    "//conditions:default": [],
314*14675a02SAndroid Build Coastguard Worker})
315*14675a02SAndroid Build Coastguard Worker
316*14675a02SAndroid Build Coastguard WorkerGRPC_OPTIONAL_DEFINES = select(
317*14675a02SAndroid Build Coastguard Worker    {
318*14675a02SAndroid Build Coastguard Worker        ":client_support_grpc": ["FCP_CLIENT_SUPPORT_GRPC"],
319*14675a02SAndroid Build Coastguard Worker        "//conditions:default": [],
320*14675a02SAndroid Build Coastguard Worker    },
321*14675a02SAndroid Build Coastguard Worker)
322*14675a02SAndroid Build Coastguard Worker
323*14675a02SAndroid Build Coastguard WorkerGRPC_OPTIONAL_DEPS = select(
324*14675a02SAndroid Build Coastguard Worker    {
325*14675a02SAndroid Build Coastguard Worker        ":client_support_grpc": [":grpc_federated_protocol"],
326*14675a02SAndroid Build Coastguard Worker        "//conditions:default": [],
327*14675a02SAndroid Build Coastguard Worker    },
328*14675a02SAndroid Build Coastguard Worker)
329*14675a02SAndroid Build Coastguard Worker
330*14675a02SAndroid Build Coastguard Workercc_library(
331*14675a02SAndroid Build Coastguard Worker    name = "fl_runner",
332*14675a02SAndroid Build Coastguard Worker    srcs = ["fl_runner.cc"],
333*14675a02SAndroid Build Coastguard Worker    hdrs = [
334*14675a02SAndroid Build Coastguard Worker        "fl_runner.h",
335*14675a02SAndroid Build Coastguard Worker    ],
336*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
337*14675a02SAndroid Build Coastguard Worker    defines = TF_OPTIONAL_DEFINES + GRPC_OPTIONAL_DEFINES,
338*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
339*14675a02SAndroid Build Coastguard Worker    deps = [
340*14675a02SAndroid Build Coastguard Worker        ":federated_protocol",
341*14675a02SAndroid Build Coastguard Worker        ":federated_protocol_util",
342*14675a02SAndroid Build Coastguard Worker        ":federated_select",
343*14675a02SAndroid Build Coastguard Worker        ":fl_runner_cc_proto",
344*14675a02SAndroid Build Coastguard Worker        ":histogram_counters_cc_proto",
345*14675a02SAndroid Build Coastguard Worker        ":interfaces",
346*14675a02SAndroid Build Coastguard Worker        ":interruptible_runner",
347*14675a02SAndroid Build Coastguard Worker        ":parsing_utils",
348*14675a02SAndroid Build Coastguard Worker        ":phase_logger",
349*14675a02SAndroid Build Coastguard Worker        ":phase_logger_impl",
350*14675a02SAndroid Build Coastguard Worker        ":secagg_runner",
351*14675a02SAndroid Build Coastguard Worker        ":selector_context_cc_proto",
352*14675a02SAndroid Build Coastguard Worker        ":simple_task_environment",
353*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
354*14675a02SAndroid Build Coastguard Worker        "//fcp/base:clock",
355*14675a02SAndroid Build Coastguard Worker        "//fcp/client/cache:file_backed_resource_cache",
356*14675a02SAndroid Build Coastguard Worker        "//fcp/client/cache:resource_cache",
357*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:common",
358*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:engine_cc_proto",
359*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:example_iterator_factory",
360*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:example_query_plan_engine",
361*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:plan_engine_helpers",
362*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:tflite_plan_engine",
363*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client",
364*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_federated_protocol",
365*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_example_store",
366*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
367*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_utils",
368*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
369*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:opstats_cc_proto",
370*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
371*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_cc_proto",
372*14675a02SAndroid Build Coastguard Worker        "@boringssl//:crypto",
373*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
374*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
375*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings:cord",
376*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
377*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
378*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all_cc",
379*14675a02SAndroid Build Coastguard Worker    ] + TF_OPTIONAL_DEPS + GRPC_OPTIONAL_DEPS,
380*14675a02SAndroid Build Coastguard Worker)
381*14675a02SAndroid Build Coastguard Worker
382*14675a02SAndroid Build Coastguard Workercc_library(
383*14675a02SAndroid Build Coastguard Worker    name = "lc_runner",
384*14675a02SAndroid Build Coastguard Worker    srcs = ["lc_runner.cc"],
385*14675a02SAndroid Build Coastguard Worker    hdrs = [
386*14675a02SAndroid Build Coastguard Worker        "lc_runner.h",
387*14675a02SAndroid Build Coastguard Worker    ],
388*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
389*14675a02SAndroid Build Coastguard Worker    defines = TF_OPTIONAL_DEFINES,
390*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
391*14675a02SAndroid Build Coastguard Worker    deps = [
392*14675a02SAndroid Build Coastguard Worker        ":interfaces",
393*14675a02SAndroid Build Coastguard Worker        ":phase_logger",
394*14675a02SAndroid Build Coastguard Worker        ":phase_logger_impl",
395*14675a02SAndroid Build Coastguard Worker        ":selector_context_cc_proto",
396*14675a02SAndroid Build Coastguard Worker        ":simple_task_environment",
397*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
398*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:example_iterator_factory",
399*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:plan_engine_helpers",
400*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:tflite_plan_engine",
401*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_example_store",
402*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
403*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
404*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_map",
405*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
406*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
407*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
408*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
409*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all_cc",
410*14675a02SAndroid Build Coastguard Worker    ] + TF_OPTIONAL_DEPS,
411*14675a02SAndroid Build Coastguard Worker)
412*14675a02SAndroid Build Coastguard Worker
413*14675a02SAndroid Build Coastguard Workercc_library(
414*14675a02SAndroid Build Coastguard Worker    name = "phase_logger",
415*14675a02SAndroid Build Coastguard Worker    hdrs = ["phase_logger.h"],
416*14675a02SAndroid Build Coastguard Worker    deps = [
417*14675a02SAndroid Build Coastguard Worker        ":interfaces",
418*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
419*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
420*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
421*14675a02SAndroid Build Coastguard Worker    ],
422*14675a02SAndroid Build Coastguard Worker)
423*14675a02SAndroid Build Coastguard Worker
424*14675a02SAndroid Build Coastguard Workercc_library(
425*14675a02SAndroid Build Coastguard Worker    name = "phase_logger_impl",
426*14675a02SAndroid Build Coastguard Worker    srcs = ["phase_logger_impl.cc"],
427*14675a02SAndroid Build Coastguard Worker    hdrs = ["phase_logger_impl.h"],
428*14675a02SAndroid Build Coastguard Worker    deps = [
429*14675a02SAndroid Build Coastguard Worker        ":interfaces",
430*14675a02SAndroid Build Coastguard Worker        ":phase_logger",
431*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
432*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
433*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:federated_api_cc_proto",
434*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
435*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
436*14675a02SAndroid Build Coastguard Worker    ],
437*14675a02SAndroid Build Coastguard Worker)
438*14675a02SAndroid Build Coastguard Worker
439*14675a02SAndroid Build Coastguard Workercc_test(
440*14675a02SAndroid Build Coastguard Worker    name = "phase_logger_impl_test",
441*14675a02SAndroid Build Coastguard Worker    srcs = ["phase_logger_impl_test.cc"],
442*14675a02SAndroid Build Coastguard Worker    deps = [
443*14675a02SAndroid Build Coastguard Worker        ":phase_logger_impl",
444*14675a02SAndroid Build Coastguard Worker        ":test_helpers",
445*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
446*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
447*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
448*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
449*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
450*14675a02SAndroid Build Coastguard Worker    ],
451*14675a02SAndroid Build Coastguard Worker)
452*14675a02SAndroid Build Coastguard Worker
453*14675a02SAndroid Build Coastguard Workercc_library(
454*14675a02SAndroid Build Coastguard Worker    name = "secagg_runner",
455*14675a02SAndroid Build Coastguard Worker    srcs = ["secagg_runner.cc"],
456*14675a02SAndroid Build Coastguard Worker    hdrs = ["secagg_runner.h"],
457*14675a02SAndroid Build Coastguard Worker    deps = [
458*14675a02SAndroid Build Coastguard Worker        ":federated_protocol",
459*14675a02SAndroid Build Coastguard Worker        ":interfaces",
460*14675a02SAndroid Build Coastguard Worker        ":interruptible_runner",
461*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/client",
462*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/shared",
463*14675a02SAndroid Build Coastguard Worker        "//fcp/secagg/shared:cc_proto",
464*14675a02SAndroid Build Coastguard Worker    ],
465*14675a02SAndroid Build Coastguard Worker)
466*14675a02SAndroid Build Coastguard Worker
467*14675a02SAndroid Build Coastguard Workercc_library(
468*14675a02SAndroid Build Coastguard Worker    name = "federated_select",
469*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_select.cc"],
470*14675a02SAndroid Build Coastguard Worker    hdrs = ["federated_select.h"],
471*14675a02SAndroid Build Coastguard Worker    deps = [
472*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
473*14675a02SAndroid Build Coastguard Worker        ":interfaces",
474*14675a02SAndroid Build Coastguard Worker        ":interruptible_runner",
475*14675a02SAndroid Build Coastguard Worker        ":simple_task_environment",
476*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
477*14675a02SAndroid Build Coastguard Worker        "//fcp/base:wall_clock_stopwatch",
478*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:example_iterator_factory",
479*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client",
480*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client_util",
481*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:in_memory_request_response",
482*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
483*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
484*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
485*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings:cord",
486*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
487*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
488*14675a02SAndroid Build Coastguard Worker    ],
489*14675a02SAndroid Build Coastguard Worker)
490*14675a02SAndroid Build Coastguard Worker
491*14675a02SAndroid Build Coastguard Workercc_library(
492*14675a02SAndroid Build Coastguard Worker    name = "parsing_utils",
493*14675a02SAndroid Build Coastguard Worker    hdrs = ["parsing_utils.h"],
494*14675a02SAndroid Build Coastguard Worker    deps = ["@com_google_absl//absl/strings:cord"],
495*14675a02SAndroid Build Coastguard Worker)
496*14675a02SAndroid Build Coastguard Worker
497*14675a02SAndroid Build Coastguard Workercc_test(
498*14675a02SAndroid Build Coastguard Worker    name = "federated_select_test",
499*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_select_test.cc"],
500*14675a02SAndroid Build Coastguard Worker    deps = [
501*14675a02SAndroid Build Coastguard Worker        ":client_runner",
502*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
503*14675a02SAndroid Build Coastguard Worker        ":federated_select",
504*14675a02SAndroid Build Coastguard Worker        ":interfaces",
505*14675a02SAndroid Build Coastguard Worker        ":interruptible_runner",
506*14675a02SAndroid Build Coastguard Worker        ":test_helpers",
507*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
508*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:example_iterator_factory",
509*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client",
510*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:in_memory_request_response",
511*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http/testing:test_helpers",
512*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
513*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
514*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
515*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/synchronization",
516*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
517*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
518*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
519*14675a02SAndroid Build Coastguard Worker    ],
520*14675a02SAndroid Build Coastguard Worker)
521*14675a02SAndroid Build Coastguard Worker
522*14675a02SAndroid Build Coastguard Workercc_library(
523*14675a02SAndroid Build Coastguard Worker    name = "interruptible_runner",
524*14675a02SAndroid Build Coastguard Worker    srcs = ["interruptible_runner.cc"],
525*14675a02SAndroid Build Coastguard Worker    hdrs = ["interruptible_runner.h"],
526*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
527*14675a02SAndroid Build Coastguard Worker    deps = [
528*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
529*14675a02SAndroid Build Coastguard Worker        ":interfaces",
530*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
531*14675a02SAndroid Build Coastguard Worker        "//fcp/base:future",
532*14675a02SAndroid Build Coastguard Worker        "//fcp/base:scheduler",
533*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
534*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
535*14675a02SAndroid Build Coastguard Worker    ],
536*14675a02SAndroid Build Coastguard Worker)
537*14675a02SAndroid Build Coastguard Worker
538*14675a02SAndroid Build Coastguard Workercc_library(
539*14675a02SAndroid Build Coastguard Worker    name = "fake_log_manager",
540*14675a02SAndroid Build Coastguard Worker    hdrs = ["fake_log_manager.h"],
541*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
542*14675a02SAndroid Build Coastguard Worker    deps = [
543*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
544*14675a02SAndroid Build Coastguard Worker        ":interfaces",
545*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
546*14675a02SAndroid Build Coastguard Worker    ],
547*14675a02SAndroid Build Coastguard Worker)
548*14675a02SAndroid Build Coastguard Worker
549*14675a02SAndroid Build Coastguard Workercc_library(
550*14675a02SAndroid Build Coastguard Worker    name = "fake_event_publisher",
551*14675a02SAndroid Build Coastguard Worker    hdrs = ["fake_event_publisher.h"],
552*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
553*14675a02SAndroid Build Coastguard Worker    deps = [
554*14675a02SAndroid Build Coastguard Worker        ":interfaces",
555*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
556*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
557*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
558*14675a02SAndroid Build Coastguard Worker    ],
559*14675a02SAndroid Build Coastguard Worker)
560*14675a02SAndroid Build Coastguard Worker
561*14675a02SAndroid Build Coastguard Workercc_test(
562*14675a02SAndroid Build Coastguard Worker    name = "interruptible_runner_test",
563*14675a02SAndroid Build Coastguard Worker    srcs = ["interruptible_runner_test.cc"],
564*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
565*14675a02SAndroid Build Coastguard Worker    deps = [
566*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
567*14675a02SAndroid Build Coastguard Worker        ":interruptible_runner",
568*14675a02SAndroid Build Coastguard Worker        ":test_helpers",
569*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
570*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
571*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/synchronization",
572*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
573*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
574*14675a02SAndroid Build Coastguard Worker    ],
575*14675a02SAndroid Build Coastguard Worker)
576*14675a02SAndroid Build Coastguard Worker
577*14675a02SAndroid Build Coastguard Worker# Misc. classes to support embedding a fake client in unit or integration tests.
578*14675a02SAndroid Build Coastguard Workercc_library(
579*14675a02SAndroid Build Coastguard Worker    name = "client_runner",
580*14675a02SAndroid Build Coastguard Worker    testonly = True,
581*14675a02SAndroid Build Coastguard Worker    hdrs = ["client_runner.h"],
582*14675a02SAndroid Build Coastguard Worker    deps = [
583*14675a02SAndroid Build Coastguard Worker        ":client_runner_example_data_cc_proto",
584*14675a02SAndroid Build Coastguard Worker        ":diag_codes_cc_proto",
585*14675a02SAndroid Build Coastguard Worker        ":fake_event_publisher",
586*14675a02SAndroid Build Coastguard Worker        ":histogram_counters_cc_proto",
587*14675a02SAndroid Build Coastguard Worker        ":interfaces",
588*14675a02SAndroid Build Coastguard Worker        ":simple_task_environment",
589*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
590*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http/curl:curl_http_client",
591*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
592*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_map",
593*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
594*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
595*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
596*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest",
597*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
598*14675a02SAndroid Build Coastguard Worker    ],
599*14675a02SAndroid Build Coastguard Worker)
600*14675a02SAndroid Build Coastguard Worker
601*14675a02SAndroid Build Coastguard Worker# A command line executable running most of the client side code to
602*14675a02SAndroid Build Coastguard Worker# use for debugging and illustrating an example integration.
603*14675a02SAndroid Build Coastguard Workercc_library(
604*14675a02SAndroid Build Coastguard Worker    name = "client_runner_main_lib",
605*14675a02SAndroid Build Coastguard Worker    testonly = True,
606*14675a02SAndroid Build Coastguard Worker    srcs = ["client_runner_main.cc"],
607*14675a02SAndroid Build Coastguard Worker    deps = [
608*14675a02SAndroid Build Coastguard Worker        ":client_runner",
609*14675a02SAndroid Build Coastguard Worker        ":client_runner_example_data_cc_proto",
610*14675a02SAndroid Build Coastguard Worker        ":fake_event_publisher",
611*14675a02SAndroid Build Coastguard Worker        ":fl_runner",
612*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
613*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:external_dataset_op_lib",
614*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:task_eligibility_info_ops_lib",
615*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/flags:flag",
616*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/flags:parse",
617*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/flags:usage",
618*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
619*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
620*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
621*14675a02SAndroid Build Coastguard Worker    ],
622*14675a02SAndroid Build Coastguard Worker)
623*14675a02SAndroid Build Coastguard Worker
624*14675a02SAndroid Build Coastguard Workercc_binary(
625*14675a02SAndroid Build Coastguard Worker    name = "client_runner_main",
626*14675a02SAndroid Build Coastguard Worker    testonly = True,
627*14675a02SAndroid Build Coastguard Worker    deps = [
628*14675a02SAndroid Build Coastguard Worker        ":client_runner_main_lib",
629*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:tensorflow_opensource",
630*14675a02SAndroid Build Coastguard Worker    ],
631*14675a02SAndroid Build Coastguard Worker)
632*14675a02SAndroid Build Coastguard Worker
633*14675a02SAndroid Build Coastguard Workercc_library(
634*14675a02SAndroid Build Coastguard Worker    name = "test_helpers",
635*14675a02SAndroid Build Coastguard Worker    testonly = True,
636*14675a02SAndroid Build Coastguard Worker    srcs = ["test_helpers.cc"],
637*14675a02SAndroid Build Coastguard Worker    hdrs = ["test_helpers.h"],
638*14675a02SAndroid Build Coastguard Worker    deps = [
639*14675a02SAndroid Build Coastguard Worker        ":federated_protocol",
640*14675a02SAndroid Build Coastguard Worker        ":federated_select",
641*14675a02SAndroid Build Coastguard Worker        ":interfaces",
642*14675a02SAndroid Build Coastguard Worker        ":phase_logger",
643*14675a02SAndroid Build Coastguard Worker        ":secagg_runner",
644*14675a02SAndroid Build Coastguard Worker        ":simple_task_environment",
645*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
646*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:example_iterator_factory",
647*14675a02SAndroid Build Coastguard Worker        "//fcp/client/http:http_client",
648*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_db",
649*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
650*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
651*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
652*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
653*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
654*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
655*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all_cc",
656*14675a02SAndroid Build Coastguard Worker    ],
657*14675a02SAndroid Build Coastguard Worker)
658*14675a02SAndroid Build Coastguard Worker
659*14675a02SAndroid Build Coastguard Worker# Protocol buffers for logging. Those get serialized.
660*14675a02SAndroid Build Coastguard Workerproto_library(
661*14675a02SAndroid Build Coastguard Worker    name = "histogram_counters_proto",
662*14675a02SAndroid Build Coastguard Worker    srcs = ["histogram_counters.proto"],
663*14675a02SAndroid Build Coastguard Worker)
664*14675a02SAndroid Build Coastguard Worker
665*14675a02SAndroid Build Coastguard Workerjava_proto_library(
666*14675a02SAndroid Build Coastguard Worker    name = "histogram_counters_java_proto",
667*14675a02SAndroid Build Coastguard Worker    deps = [":histogram_counters_proto"],
668*14675a02SAndroid Build Coastguard Worker)
669*14675a02SAndroid Build Coastguard Worker
670*14675a02SAndroid Build Coastguard Workercc_proto_library(
671*14675a02SAndroid Build Coastguard Worker    name = "histogram_counters_cc_proto",
672*14675a02SAndroid Build Coastguard Worker    deps = [":histogram_counters_proto"],
673*14675a02SAndroid Build Coastguard Worker)
674*14675a02SAndroid Build Coastguard Worker
675*14675a02SAndroid Build Coastguard Worker# Protocol buffers for FL Runner. These do not get serialized to disk.
676*14675a02SAndroid Build Coastguard Workertf_proto_library(
677*14675a02SAndroid Build Coastguard Worker    name = "fl_runner_proto",
678*14675a02SAndroid Build Coastguard Worker    srcs = ["fl_runner.proto"],
679*14675a02SAndroid Build Coastguard Worker    protodeps = [
680*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine:engine_proto",
681*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all",
682*14675a02SAndroid Build Coastguard Worker    ],
683*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
684*14675a02SAndroid Build Coastguard Worker)
685*14675a02SAndroid Build Coastguard Worker
686*14675a02SAndroid Build Coastguard Workerjava_proto_library(
687*14675a02SAndroid Build Coastguard Worker    name = "fl_runner_java_proto",
688*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
689*14675a02SAndroid Build Coastguard Worker    deps = [":fl_runner_proto"],
690*14675a02SAndroid Build Coastguard Worker)
691*14675a02SAndroid Build Coastguard Worker
692*14675a02SAndroid Build Coastguard Worker# Allowing to refer to the cc library generated by the rule above in usual way:
693*14675a02SAndroid Build Coastguard Workeralias(
694*14675a02SAndroid Build Coastguard Worker    name = "fl_runner_cc_proto",
695*14675a02SAndroid Build Coastguard Worker    actual = "fl_runner_proto_cc",
696*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
697*14675a02SAndroid Build Coastguard Worker)
698*14675a02SAndroid Build Coastguard Worker
699*14675a02SAndroid Build Coastguard Worker# Protocol buffers for logging. Those get serialized.
700*14675a02SAndroid Build Coastguard Workerproto_library(
701*14675a02SAndroid Build Coastguard Worker    name = "diag_codes_proto",
702*14675a02SAndroid Build Coastguard Worker    srcs = ["diag_codes.proto"],
703*14675a02SAndroid Build Coastguard Worker)
704*14675a02SAndroid Build Coastguard Worker
705*14675a02SAndroid Build Coastguard Workerjava_proto_library(
706*14675a02SAndroid Build Coastguard Worker    name = "diag_codes_java_proto",
707*14675a02SAndroid Build Coastguard Worker    deps = [":diag_codes_proto"],
708*14675a02SAndroid Build Coastguard Worker)
709*14675a02SAndroid Build Coastguard Worker
710*14675a02SAndroid Build Coastguard Workercc_proto_library(
711*14675a02SAndroid Build Coastguard Worker    name = "diag_codes_cc_proto",
712*14675a02SAndroid Build Coastguard Worker    deps = [":diag_codes_proto"],
713*14675a02SAndroid Build Coastguard Worker)
714*14675a02SAndroid Build Coastguard Worker
715*14675a02SAndroid Build Coastguard Worker# Protocol buffers for providing example data to client_runner_main.
716*14675a02SAndroid Build Coastguard Workerproto_library(
717*14675a02SAndroid Build Coastguard Worker    name = "client_runner_example_data_proto",
718*14675a02SAndroid Build Coastguard Worker    testonly = True,
719*14675a02SAndroid Build Coastguard Worker    srcs = ["client_runner_example_data.proto"],
720*14675a02SAndroid Build Coastguard Worker)
721*14675a02SAndroid Build Coastguard Worker
722*14675a02SAndroid Build Coastguard Workercc_proto_library(
723*14675a02SAndroid Build Coastguard Worker    name = "client_runner_example_data_cc_proto",
724*14675a02SAndroid Build Coastguard Worker    testonly = True,
725*14675a02SAndroid Build Coastguard Worker    deps = [":client_runner_example_data_proto"],
726*14675a02SAndroid Build Coastguard Worker)
727*14675a02SAndroid Build Coastguard Worker
728*14675a02SAndroid Build Coastguard Workerpy_proto_library(
729*14675a02SAndroid Build Coastguard Worker    name = "client_runner_example_data_py_pb2",
730*14675a02SAndroid Build Coastguard Worker    testonly = True,
731*14675a02SAndroid Build Coastguard Worker    deps = [":client_runner_example_data_proto"],
732*14675a02SAndroid Build Coastguard Worker)
733*14675a02SAndroid Build Coastguard Worker
734*14675a02SAndroid Build Coastguard Worker# --------------------------------------------------------------------
735*14675a02SAndroid Build Coastguard Worker# selector_context.proto
736*14675a02SAndroid Build Coastguard Worker
737*14675a02SAndroid Build Coastguard Workerproto_library(
738*14675a02SAndroid Build Coastguard Worker    name = "selector_context_proto",
739*14675a02SAndroid Build Coastguard Worker    srcs = ["selector_context.proto"],
740*14675a02SAndroid Build Coastguard Worker    deps = [
741*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:timestamp_proto",
742*14675a02SAndroid Build Coastguard Worker    ],
743*14675a02SAndroid Build Coastguard Worker)
744*14675a02SAndroid Build Coastguard Worker
745*14675a02SAndroid Build Coastguard Workercc_proto_library(
746*14675a02SAndroid Build Coastguard Worker    name = "selector_context_cc_proto",
747*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
748*14675a02SAndroid Build Coastguard Worker    deps = [":selector_context_proto"],
749*14675a02SAndroid Build Coastguard Worker)
750*14675a02SAndroid Build Coastguard Worker
751*14675a02SAndroid Build Coastguard Workerjava_proto_library(
752*14675a02SAndroid Build Coastguard Worker    name = "selector_context_java_proto",
753*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
754*14675a02SAndroid Build Coastguard Worker    deps = [":selector_context_proto"],
755*14675a02SAndroid Build Coastguard Worker)
756*14675a02SAndroid Build Coastguard Worker
757*14675a02SAndroid Build Coastguard Worker# --------------------------------------------------------------------
758*14675a02SAndroid Build Coastguard Worker# example_query_result.proto
759*14675a02SAndroid Build Coastguard Worker
760*14675a02SAndroid Build Coastguard Workerproto_library(
761*14675a02SAndroid Build Coastguard Worker    name = "example_query_result_proto",
762*14675a02SAndroid Build Coastguard Worker    srcs = ["example_query_result.proto"],
763*14675a02SAndroid Build Coastguard Worker)
764*14675a02SAndroid Build Coastguard Worker
765*14675a02SAndroid Build Coastguard Workerjava_proto_library(
766*14675a02SAndroid Build Coastguard Worker    name = "example_query_result_java_proto",
767*14675a02SAndroid Build Coastguard Worker    deps = [":example_query_result_proto"],
768*14675a02SAndroid Build Coastguard Worker)
769*14675a02SAndroid Build Coastguard Worker
770*14675a02SAndroid Build Coastguard Workercc_proto_library(
771*14675a02SAndroid Build Coastguard Worker    name = "example_query_result_cc_proto",
772*14675a02SAndroid Build Coastguard Worker    deps = [":example_query_result_proto"],
773*14675a02SAndroid Build Coastguard Worker)
774