1*33f37583SAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project 2*33f37583SAndroid Build Coastguard Worker// 3*33f37583SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*33f37583SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*33f37583SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*33f37583SAndroid Build Coastguard Worker// 7*33f37583SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*33f37583SAndroid Build Coastguard Worker// 9*33f37583SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*33f37583SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*33f37583SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*33f37583SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*33f37583SAndroid Build Coastguard Worker// limitations under the License. 14*33f37583SAndroid Build Coastguard Worker 15*33f37583SAndroid Build Coastguard Workerpackage { 16*33f37583SAndroid Build Coastguard Worker default_applicable_licenses: ["Android-Apache-2.0"], 17*33f37583SAndroid Build Coastguard Worker} 18*33f37583SAndroid Build Coastguard Worker 19*33f37583SAndroid Build Coastguard Workerpython_binary_host { 20*33f37583SAndroid Build Coastguard Worker name: "deapexer", 21*33f37583SAndroid Build Coastguard Worker srcs: [ 22*33f37583SAndroid Build Coastguard Worker "deapexer.py", 23*33f37583SAndroid Build Coastguard Worker ], 24*33f37583SAndroid Build Coastguard Worker version: { 25*33f37583SAndroid Build Coastguard Worker py3: { 26*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 27*33f37583SAndroid Build Coastguard Worker }, 28*33f37583SAndroid Build Coastguard Worker }, 29*33f37583SAndroid Build Coastguard Worker libs: [ 30*33f37583SAndroid Build Coastguard Worker "apex_manifest", 31*33f37583SAndroid Build Coastguard Worker ], 32*33f37583SAndroid Build Coastguard Worker required: [ 33*33f37583SAndroid Build Coastguard Worker "blkid_static", 34*33f37583SAndroid Build Coastguard Worker "debugfs_static", 35*33f37583SAndroid Build Coastguard Worker "fsck.erofs", 36*33f37583SAndroid Build Coastguard Worker ], 37*33f37583SAndroid Build Coastguard Worker} 38*33f37583SAndroid Build Coastguard Worker 39*33f37583SAndroid Build Coastguard Workerpython_binary_host { 40*33f37583SAndroid Build Coastguard Worker name: "apex_elf_checker", 41*33f37583SAndroid Build Coastguard Worker srcs: [ 42*33f37583SAndroid Build Coastguard Worker "apex_elf_checker.py", 43*33f37583SAndroid Build Coastguard Worker ], 44*33f37583SAndroid Build Coastguard Worker version: { 45*33f37583SAndroid Build Coastguard Worker py3: { 46*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 47*33f37583SAndroid Build Coastguard Worker }, 48*33f37583SAndroid Build Coastguard Worker }, 49*33f37583SAndroid Build Coastguard Worker required: [ 50*33f37583SAndroid Build Coastguard Worker "blkid_static", 51*33f37583SAndroid Build Coastguard Worker "debugfs_static", 52*33f37583SAndroid Build Coastguard Worker "fsck.erofs", 53*33f37583SAndroid Build Coastguard Worker ], 54*33f37583SAndroid Build Coastguard Worker} 55*33f37583SAndroid Build Coastguard Worker 56*33f37583SAndroid Build Coastguard Workerpython_binary_host { 57*33f37583SAndroid Build Coastguard Worker name: "apex_compression_tool", 58*33f37583SAndroid Build Coastguard Worker srcs: [ 59*33f37583SAndroid Build Coastguard Worker "apex_compression_tool.py", 60*33f37583SAndroid Build Coastguard Worker ], 61*33f37583SAndroid Build Coastguard Worker version: { 62*33f37583SAndroid Build Coastguard Worker py3: { 63*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 64*33f37583SAndroid Build Coastguard Worker }, 65*33f37583SAndroid Build Coastguard Worker }, 66*33f37583SAndroid Build Coastguard Worker libs: [ 67*33f37583SAndroid Build Coastguard Worker "apex_manifest_proto", 68*33f37583SAndroid Build Coastguard Worker ], 69*33f37583SAndroid Build Coastguard Worker required: [ 70*33f37583SAndroid Build Coastguard Worker "avbtool", 71*33f37583SAndroid Build Coastguard Worker "conv_apex_manifest", 72*33f37583SAndroid Build Coastguard Worker ], 73*33f37583SAndroid Build Coastguard Worker} 74*33f37583SAndroid Build Coastguard Worker 75*33f37583SAndroid Build Coastguard Workerpython_test_host { 76*33f37583SAndroid Build Coastguard Worker name: "apex_compression_test", 77*33f37583SAndroid Build Coastguard Worker pkg_path: "apex_compression_test", 78*33f37583SAndroid Build Coastguard Worker main: "apex_compression_test.py", 79*33f37583SAndroid Build Coastguard Worker srcs: [ 80*33f37583SAndroid Build Coastguard Worker "apex_compression_test.py", 81*33f37583SAndroid Build Coastguard Worker ], 82*33f37583SAndroid Build Coastguard Worker data: [ 83*33f37583SAndroid Build Coastguard Worker ":avbtool", 84*33f37583SAndroid Build Coastguard Worker ":conv_apex_manifest", 85*33f37583SAndroid Build Coastguard Worker ":apex_compression_tool", 86*33f37583SAndroid Build Coastguard Worker ":deapexer", 87*33f37583SAndroid Build Coastguard Worker ":soong_zip", 88*33f37583SAndroid Build Coastguard Worker ], 89*33f37583SAndroid Build Coastguard Worker device_common_data: [ 90*33f37583SAndroid Build Coastguard Worker ":com.android.example.apex", 91*33f37583SAndroid Build Coastguard Worker ], 92*33f37583SAndroid Build Coastguard Worker libs: [ 93*33f37583SAndroid Build Coastguard Worker "apex_manifest_proto", 94*33f37583SAndroid Build Coastguard Worker ], 95*33f37583SAndroid Build Coastguard Worker test_suites: ["general-tests"], 96*33f37583SAndroid Build Coastguard Worker test_options: { 97*33f37583SAndroid Build Coastguard Worker unit_test: true, 98*33f37583SAndroid Build Coastguard Worker }, 99*33f37583SAndroid Build Coastguard Worker version: { 100*33f37583SAndroid Build Coastguard Worker py3: { 101*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 102*33f37583SAndroid Build Coastguard Worker }, 103*33f37583SAndroid Build Coastguard Worker }, 104*33f37583SAndroid Build Coastguard Worker} 105*33f37583SAndroid Build Coastguard Worker 106*33f37583SAndroid Build Coastguard Workercc_binary_host { 107*33f37583SAndroid Build Coastguard Worker name: "host_apex_verifier", 108*33f37583SAndroid Build Coastguard Worker srcs: ["host_apex_verifier.cc"], 109*33f37583SAndroid Build Coastguard Worker defaults: [ 110*33f37583SAndroid Build Coastguard Worker "init_host_defaults", 111*33f37583SAndroid Build Coastguard Worker "libapex-deps", 112*33f37583SAndroid Build Coastguard Worker ], 113*33f37583SAndroid Build Coastguard Worker shared_libs: [ 114*33f37583SAndroid Build Coastguard Worker "libprocessgroup", 115*33f37583SAndroid Build Coastguard Worker ], 116*33f37583SAndroid Build Coastguard Worker static_libs: [ 117*33f37583SAndroid Build Coastguard Worker "libapex", 118*33f37583SAndroid Build Coastguard Worker "libinit_host", 119*33f37583SAndroid Build Coastguard Worker ], 120*33f37583SAndroid Build Coastguard Worker} 121*33f37583SAndroid Build Coastguard Worker 122*33f37583SAndroid Build Coastguard Workersh_test_host { 123*33f37583SAndroid Build Coastguard Worker name: "host-apex-verifier", 124*33f37583SAndroid Build Coastguard Worker src: "host-apex-verifier.sh", 125*33f37583SAndroid Build Coastguard Worker test_suites: ["device-tests"], 126*33f37583SAndroid Build Coastguard Worker test_config: "host-apex-verifier.xml", 127*33f37583SAndroid Build Coastguard Worker test_options: { 128*33f37583SAndroid Build Coastguard Worker unit_test: false, 129*33f37583SAndroid Build Coastguard Worker }, 130*33f37583SAndroid Build Coastguard Worker data_bins: [ 131*33f37583SAndroid Build Coastguard Worker "deapexer", 132*33f37583SAndroid Build Coastguard Worker "debugfs_static", 133*33f37583SAndroid Build Coastguard Worker "fsck.erofs", 134*33f37583SAndroid Build Coastguard Worker "host_apex_verifier", 135*33f37583SAndroid Build Coastguard Worker ], 136*33f37583SAndroid Build Coastguard Worker data_libs: [ 137*33f37583SAndroid Build Coastguard Worker "libbase", 138*33f37583SAndroid Build Coastguard Worker "libc++", 139*33f37583SAndroid Build Coastguard Worker "libcrypto", 140*33f37583SAndroid Build Coastguard Worker "libcutils", 141*33f37583SAndroid Build Coastguard Worker "liblog", 142*33f37583SAndroid Build Coastguard Worker "libpcre2", // used by libselinux 143*33f37583SAndroid Build Coastguard Worker "libprocessgroup", 144*33f37583SAndroid Build Coastguard Worker "libprotobuf-cpp-full", // used by libapex 145*33f37583SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", // used by libinit_host 146*33f37583SAndroid Build Coastguard Worker "libselinux", // used by libapex 147*33f37583SAndroid Build Coastguard Worker "libz", 148*33f37583SAndroid Build Coastguard Worker "libziparchive", 149*33f37583SAndroid Build Coastguard Worker ], 150*33f37583SAndroid Build Coastguard Worker} 151*33f37583SAndroid Build Coastguard Worker 152*33f37583SAndroid Build Coastguard Workerpython_library_host { 153*33f37583SAndroid Build Coastguard Worker name: "apexer_wrapper_utils", 154*33f37583SAndroid Build Coastguard Worker srcs: ["apexer_wrapper_utils.py"], 155*33f37583SAndroid Build Coastguard Worker} 156*33f37583SAndroid Build Coastguard Worker 157*33f37583SAndroid Build Coastguard Workerpython_binary_host { 158*33f37583SAndroid Build Coastguard Worker name: "apexer_with_DCLA_preprocessing", 159*33f37583SAndroid Build Coastguard Worker srcs: [ 160*33f37583SAndroid Build Coastguard Worker "apexer_with_DCLA_preprocessing.py", 161*33f37583SAndroid Build Coastguard Worker ], 162*33f37583SAndroid Build Coastguard Worker version: { 163*33f37583SAndroid Build Coastguard Worker py3: { 164*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 165*33f37583SAndroid Build Coastguard Worker }, 166*33f37583SAndroid Build Coastguard Worker }, 167*33f37583SAndroid Build Coastguard Worker libs: [ 168*33f37583SAndroid Build Coastguard Worker "apexer_wrapper_utils", 169*33f37583SAndroid Build Coastguard Worker ], 170*33f37583SAndroid Build Coastguard Worker} 171*33f37583SAndroid Build Coastguard Worker 172*33f37583SAndroid Build Coastguard Workerpython_test_host { 173*33f37583SAndroid Build Coastguard Worker name: "apexer_with_DCLA_preprocessing_test", 174*33f37583SAndroid Build Coastguard Worker main: "apexer_with_DCLA_preprocessing_test.py", 175*33f37583SAndroid Build Coastguard Worker srcs: [ 176*33f37583SAndroid Build Coastguard Worker "apexer_with_DCLA_preprocessing_test.py", 177*33f37583SAndroid Build Coastguard Worker ], 178*33f37583SAndroid Build Coastguard Worker // Need to add a pkg_path because importlib.resources 179*33f37583SAndroid Build Coastguard Worker // cannot load resources from the root package. 180*33f37583SAndroid Build Coastguard Worker pkg_path: "apexer_with_DCLA_preprocessing_test", 181*33f37583SAndroid Build Coastguard Worker data: [ 182*33f37583SAndroid Build Coastguard Worker ":apexer_test_host_tools", 183*33f37583SAndroid Build Coastguard Worker ":apexer_with_DCLA_preprocessing", 184*33f37583SAndroid Build Coastguard Worker "testdata/com.android.example.apex.pem", 185*33f37583SAndroid Build Coastguard Worker ], 186*33f37583SAndroid Build Coastguard Worker device_common_data: [ 187*33f37583SAndroid Build Coastguard Worker ":com.android.example.apex", 188*33f37583SAndroid Build Coastguard Worker ], 189*33f37583SAndroid Build Coastguard Worker test_suites: ["general-tests"], 190*33f37583SAndroid Build Coastguard Worker test_options: { 191*33f37583SAndroid Build Coastguard Worker unit_test: true, 192*33f37583SAndroid Build Coastguard Worker }, 193*33f37583SAndroid Build Coastguard Worker version: { 194*33f37583SAndroid Build Coastguard Worker py3: { 195*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 196*33f37583SAndroid Build Coastguard Worker }, 197*33f37583SAndroid Build Coastguard Worker }, 198*33f37583SAndroid Build Coastguard Worker} 199*33f37583SAndroid Build Coastguard Worker 200*33f37583SAndroid Build Coastguard Workerpython_binary_host { 201*33f37583SAndroid Build Coastguard Worker name: "apexer_with_trim_preprocessing", 202*33f37583SAndroid Build Coastguard Worker srcs: [ 203*33f37583SAndroid Build Coastguard Worker "apexer_with_trim_preprocessing.py", 204*33f37583SAndroid Build Coastguard Worker ], 205*33f37583SAndroid Build Coastguard Worker version: { 206*33f37583SAndroid Build Coastguard Worker py3: { 207*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 208*33f37583SAndroid Build Coastguard Worker }, 209*33f37583SAndroid Build Coastguard Worker }, 210*33f37583SAndroid Build Coastguard Worker libs: [ 211*33f37583SAndroid Build Coastguard Worker "apex_manifest_proto", 212*33f37583SAndroid Build Coastguard Worker "apexer_wrapper_utils", 213*33f37583SAndroid Build Coastguard Worker ], 214*33f37583SAndroid Build Coastguard Worker} 215*33f37583SAndroid Build Coastguard Worker 216*33f37583SAndroid Build Coastguard Workerpython_binary_host { 217*33f37583SAndroid Build Coastguard Worker name: "apexd_host", 218*33f37583SAndroid Build Coastguard Worker srcs: ["apexd_host.py"], 219*33f37583SAndroid Build Coastguard Worker version: { 220*33f37583SAndroid Build Coastguard Worker py3: { 221*33f37583SAndroid Build Coastguard Worker embedded_launcher: true, 222*33f37583SAndroid Build Coastguard Worker }, 223*33f37583SAndroid Build Coastguard Worker }, 224*33f37583SAndroid Build Coastguard Worker libs: [ 225*33f37583SAndroid Build Coastguard Worker "apex_manifest", 226*33f37583SAndroid Build Coastguard Worker ], 227*33f37583SAndroid Build Coastguard Worker required: [ 228*33f37583SAndroid Build Coastguard Worker "deapexer", 229*33f37583SAndroid Build Coastguard Worker "debugfs_static", 230*33f37583SAndroid Build Coastguard Worker "fsck.erofs", 231*33f37583SAndroid Build Coastguard Worker ], 232*33f37583SAndroid Build Coastguard Worker} 233