1*e7c364b6SAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project 2*e7c364b6SAndroid Build Coastguard Worker// 3*e7c364b6SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*e7c364b6SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*e7c364b6SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*e7c364b6SAndroid Build Coastguard Worker// 7*e7c364b6SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*e7c364b6SAndroid Build Coastguard Worker// 9*e7c364b6SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*e7c364b6SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*e7c364b6SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*e7c364b6SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*e7c364b6SAndroid Build Coastguard Worker// limitations under the License. 14*e7c364b6SAndroid Build Coastguard Worker 15*e7c364b6SAndroid Build Coastguard Workerpackage { 16*e7c364b6SAndroid Build Coastguard Worker default_team: "trendy_team_android_kernel", 17*e7c364b6SAndroid Build Coastguard Worker // See: http://go/android-license-faq 18*e7c364b6SAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 19*e7c364b6SAndroid Build Coastguard Worker // all of the 'license_kinds' from "bootable_recovery_license" 20*e7c364b6SAndroid Build Coastguard Worker // to get the below license kinds: 21*e7c364b6SAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 22*e7c364b6SAndroid Build Coastguard Worker default_applicable_licenses: ["bootable_recovery_license"], 23*e7c364b6SAndroid Build Coastguard Worker} 24*e7c364b6SAndroid Build Coastguard Worker 25*e7c364b6SAndroid Build Coastguard Workercc_defaults { 26*e7c364b6SAndroid Build Coastguard Worker name: "recovery_test_defaults", 27*e7c364b6SAndroid Build Coastguard Worker 28*e7c364b6SAndroid Build Coastguard Worker defaults: [ 29*e7c364b6SAndroid Build Coastguard Worker "recovery_defaults", 30*e7c364b6SAndroid Build Coastguard Worker ], 31*e7c364b6SAndroid Build Coastguard Worker 32*e7c364b6SAndroid Build Coastguard Worker include_dirs: [ 33*e7c364b6SAndroid Build Coastguard Worker "bootable/recovery", 34*e7c364b6SAndroid Build Coastguard Worker ], 35*e7c364b6SAndroid Build Coastguard Worker 36*e7c364b6SAndroid Build Coastguard Worker shared_libs: [ 37*e7c364b6SAndroid Build Coastguard Worker "libbase", 38*e7c364b6SAndroid Build Coastguard Worker "libcrypto", 39*e7c364b6SAndroid Build Coastguard Worker "libcutils", 40*e7c364b6SAndroid Build Coastguard Worker "liblog", 41*e7c364b6SAndroid Build Coastguard Worker "libpng", 42*e7c364b6SAndroid Build Coastguard Worker "libprocessgroup", 43*e7c364b6SAndroid Build Coastguard Worker "libselinux", 44*e7c364b6SAndroid Build Coastguard Worker "libziparchive", 45*e7c364b6SAndroid Build Coastguard Worker ], 46*e7c364b6SAndroid Build Coastguard Worker 47*e7c364b6SAndroid Build Coastguard Worker target: { 48*e7c364b6SAndroid Build Coastguard Worker android: { 49*e7c364b6SAndroid Build Coastguard Worker shared_libs: [ 50*e7c364b6SAndroid Build Coastguard Worker "libutils", 51*e7c364b6SAndroid Build Coastguard Worker "libvndksupport", 52*e7c364b6SAndroid Build Coastguard Worker ], 53*e7c364b6SAndroid Build Coastguard Worker }, 54*e7c364b6SAndroid Build Coastguard Worker 55*e7c364b6SAndroid Build Coastguard Worker host: { 56*e7c364b6SAndroid Build Coastguard Worker static_libs: [ 57*e7c364b6SAndroid Build Coastguard Worker "libutils", 58*e7c364b6SAndroid Build Coastguard Worker ], 59*e7c364b6SAndroid Build Coastguard Worker }, 60*e7c364b6SAndroid Build Coastguard Worker }, 61*e7c364b6SAndroid Build Coastguard Worker} 62*e7c364b6SAndroid Build Coastguard Worker 63*e7c364b6SAndroid Build Coastguard Worker// librecovery_defaults uses many shared libs that we want to avoid using in tests (e.g. we don't 64*e7c364b6SAndroid Build Coastguard Worker// have 32-bit [email protected] or libbootloader_message.so on marlin). 65*e7c364b6SAndroid Build Coastguard Workerlibrecovery_static_libs = [ 66*e7c364b6SAndroid Build Coastguard Worker "librecovery", 67*e7c364b6SAndroid Build Coastguard Worker "librecovery_fastboot", 68*e7c364b6SAndroid Build Coastguard Worker "libinstall", 69*e7c364b6SAndroid Build Coastguard Worker "librecovery_ui", 70*e7c364b6SAndroid Build Coastguard Worker "libminui", 71*e7c364b6SAndroid Build Coastguard Worker "libfusesideload", 72*e7c364b6SAndroid Build Coastguard Worker "libbootloader_message", 73*e7c364b6SAndroid Build Coastguard Worker "libotautil", 74*e7c364b6SAndroid Build Coastguard Worker 75*e7c364b6SAndroid Build Coastguard Worker "libhealthhalutils", 76*e7c364b6SAndroid Build Coastguard Worker "libvintf", 77*e7c364b6SAndroid Build Coastguard Worker 78*e7c364b6SAndroid Build Coastguard Worker "[email protected]", 79*e7c364b6SAndroid Build Coastguard Worker "[email protected]", 80*e7c364b6SAndroid Build Coastguard Worker "libext4_utils", 81*e7c364b6SAndroid Build Coastguard Worker "libfs_mgr", 82*e7c364b6SAndroid Build Coastguard Worker "libhidl-gen-utils", 83*e7c364b6SAndroid Build Coastguard Worker "libhidlbase", 84*e7c364b6SAndroid Build Coastguard Worker "liblp", 85*e7c364b6SAndroid Build Coastguard Worker "libtinyxml2", 86*e7c364b6SAndroid Build Coastguard Worker] 87*e7c364b6SAndroid Build Coastguard Worker 88*e7c364b6SAndroid Build Coastguard Worker// recovery image for unittests. 89*e7c364b6SAndroid Build Coastguard Worker// ======================================================== 90*e7c364b6SAndroid Build Coastguard Workergenrule { 91*e7c364b6SAndroid Build Coastguard Worker name: "recovery_image", 92*e7c364b6SAndroid Build Coastguard Worker cmd: "cat $(location testdata/recovery_head) <(cat $(location testdata/recovery_body) | gzip) $(location testdata/recovery_tail) > $(out)", 93*e7c364b6SAndroid Build Coastguard Worker srcs: [ 94*e7c364b6SAndroid Build Coastguard Worker "testdata/recovery_head", 95*e7c364b6SAndroid Build Coastguard Worker "testdata/recovery_body", 96*e7c364b6SAndroid Build Coastguard Worker "testdata/recovery_tail", 97*e7c364b6SAndroid Build Coastguard Worker ], 98*e7c364b6SAndroid Build Coastguard Worker out: [ 99*e7c364b6SAndroid Build Coastguard Worker "testdata/recovery.img", 100*e7c364b6SAndroid Build Coastguard Worker ], 101*e7c364b6SAndroid Build Coastguard Worker} 102*e7c364b6SAndroid Build Coastguard Worker 103*e7c364b6SAndroid Build Coastguard Workercc_test { 104*e7c364b6SAndroid Build Coastguard Worker name: "recovery_unit_test", 105*e7c364b6SAndroid Build Coastguard Worker isolated: true, 106*e7c364b6SAndroid Build Coastguard Worker require_root: true, 107*e7c364b6SAndroid Build Coastguard Worker 108*e7c364b6SAndroid Build Coastguard Worker defaults: [ 109*e7c364b6SAndroid Build Coastguard Worker "recovery_test_defaults", 110*e7c364b6SAndroid Build Coastguard Worker ], 111*e7c364b6SAndroid Build Coastguard Worker 112*e7c364b6SAndroid Build Coastguard Worker test_suites: ["device-tests"], 113*e7c364b6SAndroid Build Coastguard Worker 114*e7c364b6SAndroid Build Coastguard Worker srcs: [ 115*e7c364b6SAndroid Build Coastguard Worker "unit/*.cpp", 116*e7c364b6SAndroid Build Coastguard Worker ], 117*e7c364b6SAndroid Build Coastguard Worker 118*e7c364b6SAndroid Build Coastguard Worker shared_libs: [ 119*e7c364b6SAndroid Build Coastguard Worker "libbinder_ndk", 120*e7c364b6SAndroid Build Coastguard Worker ], 121*e7c364b6SAndroid Build Coastguard Worker 122*e7c364b6SAndroid Build Coastguard Worker static_libs: librecovery_static_libs + [ 123*e7c364b6SAndroid Build Coastguard Worker "android.hardware.health-translate-ndk", 124*e7c364b6SAndroid Build Coastguard Worker "android.hardware.health-V4-ndk", 125*e7c364b6SAndroid Build Coastguard Worker "libhealthshim", 126*e7c364b6SAndroid Build Coastguard Worker "librecovery_ui", 127*e7c364b6SAndroid Build Coastguard Worker "libfusesideload", 128*e7c364b6SAndroid Build Coastguard Worker "libminui", 129*e7c364b6SAndroid Build Coastguard Worker "librecovery_utils", 130*e7c364b6SAndroid Build Coastguard Worker "libotautil", 131*e7c364b6SAndroid Build Coastguard Worker "libupdate_verifier", 132*e7c364b6SAndroid Build Coastguard Worker 133*e7c364b6SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 134*e7c364b6SAndroid Build Coastguard Worker ], 135*e7c364b6SAndroid Build Coastguard Worker header_libs: [ 136*e7c364b6SAndroid Build Coastguard Worker "libgtest_prod_headers", 137*e7c364b6SAndroid Build Coastguard Worker ], 138*e7c364b6SAndroid Build Coastguard Worker 139*e7c364b6SAndroid Build Coastguard Worker data: [ 140*e7c364b6SAndroid Build Coastguard Worker "testdata/*", 141*e7c364b6SAndroid Build Coastguard Worker ":recovery_image", 142*e7c364b6SAndroid Build Coastguard Worker ":res-testdata", 143*e7c364b6SAndroid Build Coastguard Worker ], 144*e7c364b6SAndroid Build Coastguard Worker} 145*e7c364b6SAndroid Build Coastguard Worker 146*e7c364b6SAndroid Build Coastguard Workercc_test { 147*e7c364b6SAndroid Build Coastguard Worker name: "recovery_manual_test", 148*e7c364b6SAndroid Build Coastguard Worker isolated: true, 149*e7c364b6SAndroid Build Coastguard Worker 150*e7c364b6SAndroid Build Coastguard Worker defaults: [ 151*e7c364b6SAndroid Build Coastguard Worker "recovery_test_defaults", 152*e7c364b6SAndroid Build Coastguard Worker ], 153*e7c364b6SAndroid Build Coastguard Worker 154*e7c364b6SAndroid Build Coastguard Worker test_suites: ["device-tests"], 155*e7c364b6SAndroid Build Coastguard Worker 156*e7c364b6SAndroid Build Coastguard Worker srcs: [ 157*e7c364b6SAndroid Build Coastguard Worker "manual/recovery_test.cpp", 158*e7c364b6SAndroid Build Coastguard Worker ], 159*e7c364b6SAndroid Build Coastguard Worker} 160*e7c364b6SAndroid Build Coastguard Worker 161*e7c364b6SAndroid Build Coastguard Workercc_fuzz { 162*e7c364b6SAndroid Build Coastguard Worker name: "libinstall_verify_package_fuzzer", 163*e7c364b6SAndroid Build Coastguard Worker defaults: [ 164*e7c364b6SAndroid Build Coastguard Worker "recovery_test_defaults", 165*e7c364b6SAndroid Build Coastguard Worker ], 166*e7c364b6SAndroid Build Coastguard Worker 167*e7c364b6SAndroid Build Coastguard Worker srcs: ["fuzz/verify_package_fuzzer.cpp"], 168*e7c364b6SAndroid Build Coastguard Worker 169*e7c364b6SAndroid Build Coastguard Worker corpus: [ 170*e7c364b6SAndroid Build Coastguard Worker "testdata/otasigned*.zip", 171*e7c364b6SAndroid Build Coastguard Worker ], 172*e7c364b6SAndroid Build Coastguard Worker 173*e7c364b6SAndroid Build Coastguard Worker static_libs: [ 174*e7c364b6SAndroid Build Coastguard Worker "libotautil", 175*e7c364b6SAndroid Build Coastguard Worker "libinstall", 176*e7c364b6SAndroid Build Coastguard Worker "librecovery_ui", 177*e7c364b6SAndroid Build Coastguard Worker "libminui", 178*e7c364b6SAndroid Build Coastguard Worker ], 179*e7c364b6SAndroid Build Coastguard Worker} 180