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