1*14675a02SAndroid Build Coastguard Worker// Copyright (C) 2023 The Android Open Source Project 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 Workerpackage { 16*14675a02SAndroid Build Coastguard Worker default_applicable_licenses: ["external_federated_compute_license"], 17*14675a02SAndroid Build Coastguard Worker} 18*14675a02SAndroid Build Coastguard Worker 19*14675a02SAndroid Build Coastguard Workerlicense { 20*14675a02SAndroid Build Coastguard Worker name: "external_federated_compute_license", 21*14675a02SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 22*14675a02SAndroid Build Coastguard Worker license_kinds: [ 23*14675a02SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 24*14675a02SAndroid Build Coastguard Worker ], 25*14675a02SAndroid Build Coastguard Worker license_text: [ 26*14675a02SAndroid Build Coastguard Worker "LICENSE", 27*14675a02SAndroid Build Coastguard Worker ], 28*14675a02SAndroid Build Coastguard Worker} 29*14675a02SAndroid Build Coastguard Worker 30*14675a02SAndroid Build Coastguard Workercc_library_headers { 31*14675a02SAndroid Build Coastguard Worker name: "libfederatedcompute_headers", 32*14675a02SAndroid Build Coastguard Worker export_include_dirs: ["."], 33*14675a02SAndroid Build Coastguard Worker sdk_version: "current", 34*14675a02SAndroid Build Coastguard Worker min_sdk_version: "33", 35*14675a02SAndroid Build Coastguard Worker apex_available: ["com.android.ondevicepersonalization"], 36*14675a02SAndroid Build Coastguard Worker} 37*14675a02SAndroid Build Coastguard Worker 38*14675a02SAndroid Build Coastguard Workerjava_library_static { 39*14675a02SAndroid Build Coastguard Worker name: "federated-compute-java-proto-lite", 40*14675a02SAndroid Build Coastguard Worker proto: { 41*14675a02SAndroid Build Coastguard Worker type: "lite", 42*14675a02SAndroid Build Coastguard Worker canonical_path_from_root: false, 43*14675a02SAndroid Build Coastguard Worker include_dirs: [ 44*14675a02SAndroid Build Coastguard Worker "external/protobuf/src", 45*14675a02SAndroid Build Coastguard Worker "external/protobuf/java", 46*14675a02SAndroid Build Coastguard Worker "external/tensorflow", 47*14675a02SAndroid Build Coastguard Worker ], 48*14675a02SAndroid Build Coastguard Worker }, 49*14675a02SAndroid Build Coastguard Worker srcs: [ 50*14675a02SAndroid Build Coastguard Worker "fcp/protos/ondevicepersonalization/task_assignments.proto", 51*14675a02SAndroid Build Coastguard Worker "fcp/protos/ondevicepersonalization/eligibility_spec.proto", 52*14675a02SAndroid Build Coastguard Worker "fcp/protos/ondevicepersonalization/exception_reporting.proto", 53*14675a02SAndroid Build Coastguard Worker "fcp/protos/ondevicepersonalization/common.proto", 54*14675a02SAndroid Build Coastguard Worker "fcp/protos/federatedcompute/common.proto", 55*14675a02SAndroid Build Coastguard Worker "fcp/protos/plan.proto", 56*14675a02SAndroid Build Coastguard Worker "fcp/client/**/*.proto", 57*14675a02SAndroid Build Coastguard Worker ":libprotobuf-internal-protos", 58*14675a02SAndroid Build Coastguard Worker ], 59*14675a02SAndroid Build Coastguard Worker static_libs: [ 60*14675a02SAndroid Build Coastguard Worker "libprotobuf-java-lite", 61*14675a02SAndroid Build Coastguard Worker "tensorflow_core_proto_java_lite", 62*14675a02SAndroid Build Coastguard Worker ], 63*14675a02SAndroid Build Coastguard Worker sdk_version: "current", 64*14675a02SAndroid Build Coastguard Worker min_sdk_version: "33", 65*14675a02SAndroid Build Coastguard Worker apex_available: ["com.android.ondevicepersonalization"], 66*14675a02SAndroid Build Coastguard Worker} 67*14675a02SAndroid Build Coastguard Worker 68*14675a02SAndroid Build Coastguard Workercc_library { 69*14675a02SAndroid Build Coastguard Worker name: "federated-compute-cc-proto-lite", 70*14675a02SAndroid Build Coastguard Worker srcs: [ 71*14675a02SAndroid Build Coastguard Worker "fcp/secagg/shared/secagg_messages.proto", 72*14675a02SAndroid Build Coastguard Worker "fcp/secagg/server/secagg_server_enums.proto", 73*14675a02SAndroid Build Coastguard Worker "fcp/client/**/*.proto", 74*14675a02SAndroid Build Coastguard Worker "fcp/protos/**/*.proto", 75*14675a02SAndroid Build Coastguard Worker "fcp/dictionary/*.proto", 76*14675a02SAndroid Build Coastguard Worker ":libprotobuf-internal-protos", 77*14675a02SAndroid Build Coastguard Worker ], 78*14675a02SAndroid Build Coastguard Worker proto: { 79*14675a02SAndroid Build Coastguard Worker type: "lite", 80*14675a02SAndroid Build Coastguard Worker export_proto_headers: true, 81*14675a02SAndroid Build Coastguard Worker canonical_path_from_root: false, 82*14675a02SAndroid Build Coastguard Worker include_dirs: [ 83*14675a02SAndroid Build Coastguard Worker "external/protobuf/src", 84*14675a02SAndroid Build Coastguard Worker "external/tensorflow", 85*14675a02SAndroid Build Coastguard Worker ], 86*14675a02SAndroid Build Coastguard Worker }, 87*14675a02SAndroid Build Coastguard Worker static_libs: [ 88*14675a02SAndroid Build Coastguard Worker "tensorflow_core_proto_cpp_lite", 89*14675a02SAndroid Build Coastguard Worker ], 90*14675a02SAndroid Build Coastguard Worker shared_libs: [ 91*14675a02SAndroid Build Coastguard Worker "liblog", 92*14675a02SAndroid Build Coastguard Worker ], 93*14675a02SAndroid Build Coastguard Worker stl: "libc++_static", 94*14675a02SAndroid Build Coastguard Worker apex_available: ["com.android.ondevicepersonalization"], 95*14675a02SAndroid Build Coastguard Worker sdk_version: "current", 96*14675a02SAndroid Build Coastguard Worker min_sdk_version: "33", 97*14675a02SAndroid Build Coastguard Worker} 98*14675a02SAndroid Build Coastguard Worker 99*14675a02SAndroid Build Coastguard Workercc_library_static { 100*14675a02SAndroid Build Coastguard Worker name: "libfederatedcompute", 101*14675a02SAndroid Build Coastguard Worker srcs: [ 102*14675a02SAndroid Build Coastguard Worker "fcp/client/fcp_runner.cc", 103*14675a02SAndroid Build Coastguard Worker "fcp/client/interruptible_runner.cc", 104*14675a02SAndroid Build Coastguard Worker "fcp/client/simple_task_environment.cc", 105*14675a02SAndroid Build Coastguard Worker "fcp/client/engine/*.cc", 106*14675a02SAndroid Build Coastguard Worker "fcp/tensorflow/*.cc", 107*14675a02SAndroid Build Coastguard Worker "fcp/dictionary/dictionary.cc", 108*14675a02SAndroid Build Coastguard Worker "fcp/base/base_name.cc", 109*14675a02SAndroid Build Coastguard Worker "fcp/base/monitoring.cc", 110*14675a02SAndroid Build Coastguard Worker "fcp/base/platform.cc", 111*14675a02SAndroid Build Coastguard Worker "fcp/base/clock.cc", 112*14675a02SAndroid Build Coastguard Worker "fcp/base/random_token.cc", 113*14675a02SAndroid Build Coastguard Worker "fcp/base/scheduler.cc", 114*14675a02SAndroid Build Coastguard Worker ], 115*14675a02SAndroid Build Coastguard Worker exclude_srcs: [ 116*14675a02SAndroid Build Coastguard Worker "fcp/**/*test*.cc", 117*14675a02SAndroid Build Coastguard Worker "fcp/client/fake_*.cc", 118*14675a02SAndroid Build Coastguard Worker // Exclude tfmobile engine dependencies. 119*14675a02SAndroid Build Coastguard Worker "fcp/client/engine/tf_wrapper.cc", 120*14675a02SAndroid Build Coastguard Worker "fcp/client/engine/simple_plan_engine.cc", 121*14675a02SAndroid Build Coastguard Worker "fcp/tensorflow/tf_session.cc", 122*14675a02SAndroid Build Coastguard Worker ], 123*14675a02SAndroid Build Coastguard Worker static_libs: [ 124*14675a02SAndroid Build Coastguard Worker "federated-compute-cc-proto-lite", 125*14675a02SAndroid Build Coastguard Worker ], 126*14675a02SAndroid Build Coastguard Worker whole_static_libs: [ 127*14675a02SAndroid Build Coastguard Worker "libtflite_flex_delegate", 128*14675a02SAndroid Build Coastguard Worker ], 129*14675a02SAndroid Build Coastguard Worker export_include_dirs: ["."], 130*14675a02SAndroid Build Coastguard Worker header_libs: [ 131*14675a02SAndroid Build Coastguard Worker "flatbuffer_headers", 132*14675a02SAndroid Build Coastguard Worker "libeigen", 133*14675a02SAndroid Build Coastguard Worker "libtextclassifier_hash_headers", 134*14675a02SAndroid Build Coastguard Worker ], 135*14675a02SAndroid Build Coastguard Worker shared_libs: [ 136*14675a02SAndroid Build Coastguard Worker "libcrypto", 137*14675a02SAndroid Build Coastguard Worker ], 138*14675a02SAndroid Build Coastguard Worker visibility: [ 139*14675a02SAndroid Build Coastguard Worker "//packages/modules/OnDevicePersonalization:__subpackages__", 140*14675a02SAndroid Build Coastguard Worker ], 141*14675a02SAndroid Build Coastguard Worker cflags: [ 142*14675a02SAndroid Build Coastguard Worker "-DNAMESPACE_FOR_HASH_FUNCTIONS=farmhash", 143*14675a02SAndroid Build Coastguard Worker "-Wno-ignored-qualifiers", 144*14675a02SAndroid Build Coastguard Worker "-Wno-unused-parameter", 145*14675a02SAndroid Build Coastguard Worker "-Wno-missing-field-initializers", 146*14675a02SAndroid Build Coastguard Worker "-Wno-defaulted-function-deleted", 147*14675a02SAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 148*14675a02SAndroid Build Coastguard Worker ], 149*14675a02SAndroid Build Coastguard Worker stl: "libc++_static", 150*14675a02SAndroid Build Coastguard Worker sdk_version: "current", 151*14675a02SAndroid Build Coastguard Worker apex_available: ["com.android.ondevicepersonalization"], 152*14675a02SAndroid Build Coastguard Worker min_sdk_version: "33", 153*14675a02SAndroid Build Coastguard Worker} 154*14675a02SAndroid Build Coastguard Worker 155*14675a02SAndroid Build Coastguard Workerfilegroup { 156*14675a02SAndroid Build Coastguard Worker name: "fcp_native_wrapper", 157*14675a02SAndroid Build Coastguard Worker srcs: ["fcp/java_src/main/java/com/google/fcp/client/CallFromNativeWrapper.java"], 158*14675a02SAndroid Build Coastguard Worker visibility: [ 159*14675a02SAndroid Build Coastguard Worker "//packages/modules/OnDevicePersonalization:__subpackages__", 160*14675a02SAndroid Build Coastguard Worker ], 161*14675a02SAndroid Build Coastguard Worker} 162*14675a02SAndroid Build Coastguard Worker 163*14675a02SAndroid Build Coastguard Workerfilegroup { 164*14675a02SAndroid Build Coastguard Worker name: "fcp_artifacts_testdata", 165*14675a02SAndroid Build Coastguard Worker srcs: [ 166*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_client_only_plan.pb", 167*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_proxy_train_examples.pb", 168*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_test_checkpoint.client.ckp", 169*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_test_select_checkpoints.pb", 170*14675a02SAndroid Build Coastguard Worker ], 171*14675a02SAndroid Build Coastguard Worker visibility: [ 172*14675a02SAndroid Build Coastguard Worker "//packages/modules/OnDevicePersonalization:__subpackages__", 173*14675a02SAndroid Build Coastguard Worker ], 174*14675a02SAndroid Build Coastguard Worker} 175*14675a02SAndroid Build Coastguard Worker 176*14675a02SAndroid Build Coastguard Workercc_test { 177*14675a02SAndroid Build Coastguard Worker name: "fcp_plan_engine_test", 178*14675a02SAndroid Build Coastguard Worker srcs: [ 179*14675a02SAndroid Build Coastguard Worker "fcp/client/engine/tflite_plan_engine_test.cc", 180*14675a02SAndroid Build Coastguard Worker "fcp/client/engine/example_query_plan_engine_test.cc", 181*14675a02SAndroid Build Coastguard Worker "fcp/tensorflow/file_descriptor_filesystem_test.cc", 182*14675a02SAndroid Build Coastguard Worker "fcp/client/test_helpers.cc", 183*14675a02SAndroid Build Coastguard Worker ], 184*14675a02SAndroid Build Coastguard Worker test_suites: [ 185*14675a02SAndroid Build Coastguard Worker "general-tests", 186*14675a02SAndroid Build Coastguard Worker ], 187*14675a02SAndroid Build Coastguard Worker static_libs: [ 188*14675a02SAndroid Build Coastguard Worker "federated-compute-cc-proto-lite", 189*14675a02SAndroid Build Coastguard Worker "libabsl", 190*14675a02SAndroid Build Coastguard Worker "libbase_ndk", 191*14675a02SAndroid Build Coastguard Worker "libc++fs", // used by filesystem 192*14675a02SAndroid Build Coastguard Worker "libgmock", 193*14675a02SAndroid Build Coastguard Worker "liblog", 194*14675a02SAndroid Build Coastguard Worker "libprotobuf-cpp-lite-ndk", 195*14675a02SAndroid Build Coastguard Worker ], 196*14675a02SAndroid Build Coastguard Worker whole_static_libs: [ 197*14675a02SAndroid Build Coastguard Worker "libfederatedcompute", 198*14675a02SAndroid Build Coastguard Worker ], 199*14675a02SAndroid Build Coastguard Worker shared_libs: [ 200*14675a02SAndroid Build Coastguard Worker "libcurl", 201*14675a02SAndroid Build Coastguard Worker "libcrypto", 202*14675a02SAndroid Build Coastguard Worker ], 203*14675a02SAndroid Build Coastguard Worker header_libs: [ 204*14675a02SAndroid Build Coastguard Worker "libeigen", 205*14675a02SAndroid Build Coastguard Worker ], 206*14675a02SAndroid Build Coastguard Worker stl: "libc++_static", 207*14675a02SAndroid Build Coastguard Worker data: [ 208*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_client_only_plan.pb", 209*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_proxy_train_examples.pb", 210*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_test_checkpoint.client.ckp", 211*14675a02SAndroid Build Coastguard Worker "fcp/testdata/federation_test_select_checkpoints.pb", 212*14675a02SAndroid Build Coastguard Worker ], 213*14675a02SAndroid Build Coastguard Worker cflags: [ 214*14675a02SAndroid Build Coastguard Worker "-Wno-unused-parameter", 215*14675a02SAndroid Build Coastguard Worker "-Wno-ignored-qualifiers", 216*14675a02SAndroid Build Coastguard Worker "-Wno-missing-field-initializers", 217*14675a02SAndroid Build Coastguard Worker ], 218*14675a02SAndroid Build Coastguard Worker} 219