1*33f37583SAndroid Build Coastguard Worker// List of clang-tidy checks that are reported as errors. 2*33f37583SAndroid Build Coastguard Worker// Please keep this list ordered lexicographically. 3*33f37583SAndroid Build Coastguard Workerpackage { 4*33f37583SAndroid Build Coastguard Worker default_applicable_licenses: ["Android-Apache-2.0"], 5*33f37583SAndroid Build Coastguard Worker} 6*33f37583SAndroid Build Coastguard Worker 7*33f37583SAndroid Build Coastguard Workertidy_errors = [ 8*33f37583SAndroid Build Coastguard Worker "android-*", 9*33f37583SAndroid Build Coastguard Worker "bugprone-infinite-loop", 10*33f37583SAndroid Build Coastguard Worker "bugprone-macro-parentheses", 11*33f37583SAndroid Build Coastguard Worker "bugprone-misplaced-widening-cast", 12*33f37583SAndroid Build Coastguard Worker "bugprone-move-forwarding-reference", 13*33f37583SAndroid Build Coastguard Worker "bugprone-sizeof-container", 14*33f37583SAndroid Build Coastguard Worker "bugprone-sizeof-expression", 15*33f37583SAndroid Build Coastguard Worker "bugprone-string-constructor", 16*33f37583SAndroid Build Coastguard Worker "bugprone-terminating-continue", 17*33f37583SAndroid Build Coastguard Worker "bugprone-undefined-memory-manipulation", 18*33f37583SAndroid Build Coastguard Worker "bugprone-undelegated-constructor", 19*33f37583SAndroid Build Coastguard Worker // "bugprone-unhandled-self-assignment", // found in apex_manifest.proto 20*33f37583SAndroid Build Coastguard Worker "bugprone-unused-raii", 21*33f37583SAndroid Build Coastguard Worker "cert-err34-c", 22*33f37583SAndroid Build Coastguard Worker "google-default-arguments", 23*33f37583SAndroid Build Coastguard Worker // "google-explicit-constructor", // found in com_android_apex.h 24*33f37583SAndroid Build Coastguard Worker "google-readability-avoid-underscore-in-googletest-name", 25*33f37583SAndroid Build Coastguard Worker "google-readability-todo", 26*33f37583SAndroid Build Coastguard Worker "google-runtime-int", 27*33f37583SAndroid Build Coastguard Worker "google-runtime-member-string-references", 28*33f37583SAndroid Build Coastguard Worker "misc-move-const-arg", 29*33f37583SAndroid Build Coastguard Worker "misc-move-forwarding-reference", 30*33f37583SAndroid Build Coastguard Worker // "misc-unused-parameters", // found in apexd_utils.h 31*33f37583SAndroid Build Coastguard Worker "misc-unused-using-decls", 32*33f37583SAndroid Build Coastguard Worker "misc-use-after-move", 33*33f37583SAndroid Build Coastguard Worker // "modernize-pass-by-value", // found in apex_database.h 34*33f37583SAndroid Build Coastguard Worker "performance-faster-string-find", 35*33f37583SAndroid Build Coastguard Worker "performance-for-range-copy", 36*33f37583SAndroid Build Coastguard Worker "performance-implicit-conversion-in-loop", 37*33f37583SAndroid Build Coastguard Worker "performance-inefficient-vector-operation", 38*33f37583SAndroid Build Coastguard Worker "performance-move-const-arg", 39*33f37583SAndroid Build Coastguard Worker // "performance-move-constructor-init", // found in apexd_loop.h 40*33f37583SAndroid Build Coastguard Worker "performance-noexcept-move-constructor", 41*33f37583SAndroid Build Coastguard Worker "performance-unnecessary-copy-initialization", 42*33f37583SAndroid Build Coastguard Worker "performance-unnecessary-value-param", 43*33f37583SAndroid Build Coastguard Worker // "readability-avoid-const-params-in-decls", // found in apexd.h 44*33f37583SAndroid Build Coastguard Worker] 45*33f37583SAndroid Build Coastguard Worker 46*33f37583SAndroid Build Coastguard Workercc_defaults { 47*33f37583SAndroid Build Coastguard Worker name: "apex_flags_defaults", 48*33f37583SAndroid Build Coastguard Worker cflags: [ 49*33f37583SAndroid Build Coastguard Worker "-Wall", 50*33f37583SAndroid Build Coastguard Worker "-Wextra", 51*33f37583SAndroid Build Coastguard Worker "-Werror", 52*33f37583SAndroid Build Coastguard Worker "-Wno-unused-parameter", 53*33f37583SAndroid Build Coastguard Worker 54*33f37583SAndroid Build Coastguard Worker // Some extra flags. 55*33f37583SAndroid Build Coastguard Worker "-fstrict-aliasing", 56*33f37583SAndroid Build Coastguard Worker "-Wredundant-decls", 57*33f37583SAndroid Build Coastguard Worker "-Wshadow", 58*33f37583SAndroid Build Coastguard Worker "-Wstrict-aliasing", 59*33f37583SAndroid Build Coastguard Worker "-Wthread-safety", 60*33f37583SAndroid Build Coastguard Worker "-Wthread-safety-negative", 61*33f37583SAndroid Build Coastguard Worker "-Wunreachable-code", 62*33f37583SAndroid Build Coastguard Worker "-Wunreachable-code-break", 63*33f37583SAndroid Build Coastguard Worker "-Wunreachable-code-return", 64*33f37583SAndroid Build Coastguard Worker "-Wunused", 65*33f37583SAndroid Build Coastguard Worker "-Wused-but-marked-unused", 66*33f37583SAndroid Build Coastguard Worker ] + select(release_flag("RELEASE_AVF_ENABLE_EARLY_VM"), { 67*33f37583SAndroid Build Coastguard Worker true: ["-DRELEASE_AVF_ENABLE_EARLY_VM"], 68*33f37583SAndroid Build Coastguard Worker default: [], 69*33f37583SAndroid Build Coastguard Worker }), 70*33f37583SAndroid Build Coastguard Worker tidy: true, 71*33f37583SAndroid Build Coastguard Worker tidy_checks: tidy_errors, 72*33f37583SAndroid Build Coastguard Worker tidy_checks_as_errors: tidy_errors, 73*33f37583SAndroid Build Coastguard Worker tidy_flags: [ 74*33f37583SAndroid Build Coastguard Worker "-format-style=file", 75*33f37583SAndroid Build Coastguard Worker "-header-filter=system/apex/", 76*33f37583SAndroid Build Coastguard Worker ], 77*33f37583SAndroid Build Coastguard Worker} 78*33f37583SAndroid Build Coastguard Worker 79*33f37583SAndroid Build Coastguard Workercc_defaults { 80*33f37583SAndroid Build Coastguard Worker name: "libapexd-deps", 81*33f37583SAndroid Build Coastguard Worker defaults: ["libapex-deps"], 82*33f37583SAndroid Build Coastguard Worker shared_libs: [ 83*33f37583SAndroid Build Coastguard Worker "liblog", 84*33f37583SAndroid Build Coastguard Worker "liblogwrap", 85*33f37583SAndroid Build Coastguard Worker "libvintf", 86*33f37583SAndroid Build Coastguard Worker ], 87*33f37583SAndroid Build Coastguard Worker static_libs: [ 88*33f37583SAndroid Build Coastguard Worker "lib_apex_blocklist_proto", 89*33f37583SAndroid Build Coastguard Worker "lib_microdroid_metadata_proto", 90*33f37583SAndroid Build Coastguard Worker "libapex", 91*33f37583SAndroid Build Coastguard Worker "libavb", 92*33f37583SAndroid Build Coastguard Worker "libdm", 93*33f37583SAndroid Build Coastguard Worker "libext2_uuid", 94*33f37583SAndroid Build Coastguard Worker "libsigningutils", 95*33f37583SAndroid Build Coastguard Worker "libtinyxml2", 96*33f37583SAndroid Build Coastguard Worker "libverity_tree", 97*33f37583SAndroid Build Coastguard Worker "libvold_binder", 98*33f37583SAndroid Build Coastguard Worker ], 99*33f37583SAndroid Build Coastguard Worker whole_static_libs: ["libcom.android.sysprop.apex"], 100*33f37583SAndroid Build Coastguard Worker} 101*33f37583SAndroid Build Coastguard Worker 102*33f37583SAndroid Build Coastguard Workeraidl_interface { 103*33f37583SAndroid Build Coastguard Worker name: "apex_aidl_interface", 104*33f37583SAndroid Build Coastguard Worker unstable: true, 105*33f37583SAndroid Build Coastguard Worker srcs: [ 106*33f37583SAndroid Build Coastguard Worker "aidl/android/apex/ApexInfo.aidl", 107*33f37583SAndroid Build Coastguard Worker "aidl/android/apex/ApexInfoList.aidl", 108*33f37583SAndroid Build Coastguard Worker "aidl/android/apex/ApexSessionInfo.aidl", 109*33f37583SAndroid Build Coastguard Worker "aidl/android/apex/ApexSessionParams.aidl", 110*33f37583SAndroid Build Coastguard Worker "aidl/android/apex/CompressedApexInfo.aidl", 111*33f37583SAndroid Build Coastguard Worker "aidl/android/apex/CompressedApexInfoList.aidl", 112*33f37583SAndroid Build Coastguard Worker "aidl/android/apex/IApexService.aidl", 113*33f37583SAndroid Build Coastguard Worker ], 114*33f37583SAndroid Build Coastguard Worker local_include_dir: "aidl", 115*33f37583SAndroid Build Coastguard Worker backend: { 116*33f37583SAndroid Build Coastguard Worker java: { 117*33f37583SAndroid Build Coastguard Worker sdk_version: "28", 118*33f37583SAndroid Build Coastguard Worker }, 119*33f37583SAndroid Build Coastguard Worker ndk: { 120*33f37583SAndroid Build Coastguard Worker enabled: false, 121*33f37583SAndroid Build Coastguard Worker }, 122*33f37583SAndroid Build Coastguard Worker }, 123*33f37583SAndroid Build Coastguard Worker} 124*33f37583SAndroid Build Coastguard Worker 125*33f37583SAndroid Build Coastguard Workercc_binary { 126*33f37583SAndroid Build Coastguard Worker name: "apexd", 127*33f37583SAndroid Build Coastguard Worker defaults: [ 128*33f37583SAndroid Build Coastguard Worker "apex_flags_defaults", 129*33f37583SAndroid Build Coastguard Worker "libapex-deps", 130*33f37583SAndroid Build Coastguard Worker "libapexd-deps", 131*33f37583SAndroid Build Coastguard Worker "libapexservice-deps", 132*33f37583SAndroid Build Coastguard Worker "libapexd_metrics_stats-deps", 133*33f37583SAndroid Build Coastguard Worker ], 134*33f37583SAndroid Build Coastguard Worker srcs: [ 135*33f37583SAndroid Build Coastguard Worker "apexd_main.cpp", 136*33f37583SAndroid Build Coastguard Worker ], 137*33f37583SAndroid Build Coastguard Worker shared_libs: [ 138*33f37583SAndroid Build Coastguard Worker "server_configurable_flags", 139*33f37583SAndroid Build Coastguard Worker "brand_new_apex_flag_c_lib", 140*33f37583SAndroid Build Coastguard Worker ], 141*33f37583SAndroid Build Coastguard Worker static_libs: [ 142*33f37583SAndroid Build Coastguard Worker "libapex", 143*33f37583SAndroid Build Coastguard Worker "libapexd", 144*33f37583SAndroid Build Coastguard Worker "libapexd_checkpoint_vold", 145*33f37583SAndroid Build Coastguard Worker "libapexservice", 146*33f37583SAndroid Build Coastguard Worker "libapexd_metrics_stats", 147*33f37583SAndroid Build Coastguard Worker ], 148*33f37583SAndroid Build Coastguard Worker init_rc: ["apexd.rc"], 149*33f37583SAndroid Build Coastguard Worker // Just like the init, apexd should be able to run without 150*33f37583SAndroid Build Coastguard Worker // any APEX activated. To do so, it uses the bootstrap linker 151*33f37583SAndroid Build Coastguard Worker // and the bootstrap bionic libraries. 152*33f37583SAndroid Build Coastguard Worker bootstrap: true, 153*33f37583SAndroid Build Coastguard Worker} 154*33f37583SAndroid Build Coastguard Worker 155*33f37583SAndroid Build Coastguard Workercc_binary { 156*33f37583SAndroid Build Coastguard Worker name: "apexd.microdroid", 157*33f37583SAndroid Build Coastguard Worker defaults: [ 158*33f37583SAndroid Build Coastguard Worker "apex_flags_defaults", 159*33f37583SAndroid Build Coastguard Worker "libapex-deps", 160*33f37583SAndroid Build Coastguard Worker "libapexd-deps", 161*33f37583SAndroid Build Coastguard Worker ], 162*33f37583SAndroid Build Coastguard Worker srcs: [ 163*33f37583SAndroid Build Coastguard Worker "apexd_microdroid.cpp", 164*33f37583SAndroid Build Coastguard Worker ], 165*33f37583SAndroid Build Coastguard Worker static_libs: [ 166*33f37583SAndroid Build Coastguard Worker "libapex", 167*33f37583SAndroid Build Coastguard Worker "libapexd", 168*33f37583SAndroid Build Coastguard Worker // Prefer static-link as, in microdroid, apexd is the only client. 169*33f37583SAndroid Build Coastguard Worker // Using the -ndk variant since libprotobuf-cpp-full is supposed to be 170*33f37583SAndroid Build Coastguard Worker // used as a shared lib in general in Android. 171*33f37583SAndroid Build Coastguard Worker "libprotobuf-cpp-full-ndk", 172*33f37583SAndroid Build Coastguard Worker ], 173*33f37583SAndroid Build Coastguard Worker exclude_shared_libs: [ 174*33f37583SAndroid Build Coastguard Worker "libprotobuf-cpp-full", 175*33f37583SAndroid Build Coastguard Worker "libvintf", 176*33f37583SAndroid Build Coastguard Worker ], 177*33f37583SAndroid Build Coastguard Worker // Just like the init, apexd should be able to run without 178*33f37583SAndroid Build Coastguard Worker // any APEX activated. To do so, it uses the bootstrap linker 179*33f37583SAndroid Build Coastguard Worker // and the bootstrap bionic libraries. 180*33f37583SAndroid Build Coastguard Worker bootstrap: true, 181*33f37583SAndroid Build Coastguard Worker // This variant is for microdroid. 182*33f37583SAndroid Build Coastguard Worker no_full_install: true, 183*33f37583SAndroid Build Coastguard Worker // init depends on the name "apexd". 184*33f37583SAndroid Build Coastguard Worker stem: "apexd", 185*33f37583SAndroid Build Coastguard Worker} 186*33f37583SAndroid Build Coastguard Worker 187*33f37583SAndroid Build Coastguard Workercc_library_static { 188*33f37583SAndroid Build Coastguard Worker name: "libapexd", 189*33f37583SAndroid Build Coastguard Worker defaults: [ 190*33f37583SAndroid Build Coastguard Worker "apex_flags_defaults", 191*33f37583SAndroid Build Coastguard Worker "libapexd-deps", 192*33f37583SAndroid Build Coastguard Worker ], 193*33f37583SAndroid Build Coastguard Worker srcs: [ 194*33f37583SAndroid Build Coastguard Worker "apex_blocklist.cpp", 195*33f37583SAndroid Build Coastguard Worker "apex_classpath.cpp", 196*33f37583SAndroid Build Coastguard Worker "apex_database.cpp", 197*33f37583SAndroid Build Coastguard Worker "apex_file_repository.cpp", 198*33f37583SAndroid Build Coastguard Worker "apexd_brand_new_verifier.cpp", 199*33f37583SAndroid Build Coastguard Worker "apexd.cpp", 200*33f37583SAndroid Build Coastguard Worker "apexd_dm.cpp", 201*33f37583SAndroid Build Coastguard Worker "apexd_lifecycle.cpp", 202*33f37583SAndroid Build Coastguard Worker "apexd_loop.cpp", 203*33f37583SAndroid Build Coastguard Worker "apexd_metrics.cpp", 204*33f37583SAndroid Build Coastguard Worker "apexd_private.cpp", 205*33f37583SAndroid Build Coastguard Worker "apexd_session.cpp", 206*33f37583SAndroid Build Coastguard Worker "apexd_verity.cpp", 207*33f37583SAndroid Build Coastguard Worker "apexd_vendor_apex.cpp", 208*33f37583SAndroid Build Coastguard Worker ], 209*33f37583SAndroid Build Coastguard Worker export_include_dirs: ["."], 210*33f37583SAndroid Build Coastguard Worker generated_sources: ["apex-info-list-tinyxml"], 211*33f37583SAndroid Build Coastguard Worker // Don't add shared/static libs here; add to libapexd_defaults instead. 212*33f37583SAndroid Build Coastguard Worker} 213*33f37583SAndroid Build Coastguard Worker 214*33f37583SAndroid Build Coastguard Workercc_library_static { 215*33f37583SAndroid Build Coastguard Worker name: "libapexd_checkpoint_vold", 216*33f37583SAndroid Build Coastguard Worker defaults: ["apex_flags_defaults"], 217*33f37583SAndroid Build Coastguard Worker srcs: ["apexd_checkpoint_vold.cpp"], 218*33f37583SAndroid Build Coastguard Worker shared_libs: [ 219*33f37583SAndroid Build Coastguard Worker "libbase", 220*33f37583SAndroid Build Coastguard Worker "libutils", 221*33f37583SAndroid Build Coastguard Worker ], 222*33f37583SAndroid Build Coastguard Worker static_libs: [ 223*33f37583SAndroid Build Coastguard Worker "libvold_binder", 224*33f37583SAndroid Build Coastguard Worker ], 225*33f37583SAndroid Build Coastguard Worker export_include_dirs: ["."], 226*33f37583SAndroid Build Coastguard Worker} 227*33f37583SAndroid Build Coastguard Worker 228*33f37583SAndroid Build Coastguard Workercc_defaults { 229*33f37583SAndroid Build Coastguard Worker name: "libapexservice-deps", 230*33f37583SAndroid Build Coastguard Worker shared_libs: [ 231*33f37583SAndroid Build Coastguard Worker "apex_aidl_interface-cpp", 232*33f37583SAndroid Build Coastguard Worker "libbinder", 233*33f37583SAndroid Build Coastguard Worker "libutils", 234*33f37583SAndroid Build Coastguard Worker ], 235*33f37583SAndroid Build Coastguard Worker} 236*33f37583SAndroid Build Coastguard Worker 237*33f37583SAndroid Build Coastguard Workercc_library_static { 238*33f37583SAndroid Build Coastguard Worker name: "libapexservice", 239*33f37583SAndroid Build Coastguard Worker defaults: [ 240*33f37583SAndroid Build Coastguard Worker "apex_flags_defaults", 241*33f37583SAndroid Build Coastguard Worker "libapexd-deps", 242*33f37583SAndroid Build Coastguard Worker "libapexservice-deps", 243*33f37583SAndroid Build Coastguard Worker ], 244*33f37583SAndroid Build Coastguard Worker srcs: ["apexservice.cpp"], 245*33f37583SAndroid Build Coastguard Worker static_libs: [ 246*33f37583SAndroid Build Coastguard Worker "libapexd", 247*33f37583SAndroid Build Coastguard Worker ], 248*33f37583SAndroid Build Coastguard Worker cflags: [ 249*33f37583SAndroid Build Coastguard Worker "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION", 250*33f37583SAndroid Build Coastguard Worker ], 251*33f37583SAndroid Build Coastguard Worker} 252*33f37583SAndroid Build Coastguard Worker 253*33f37583SAndroid Build Coastguard Workercc_defaults { 254*33f37583SAndroid Build Coastguard Worker name: "libapex-deps", 255*33f37583SAndroid Build Coastguard Worker shared_libs: [ 256*33f37583SAndroid Build Coastguard Worker "libbase", 257*33f37583SAndroid Build Coastguard Worker "libcrypto", 258*33f37583SAndroid Build Coastguard Worker "libcutils", 259*33f37583SAndroid Build Coastguard Worker "libprotobuf-cpp-full", 260*33f37583SAndroid Build Coastguard Worker "libziparchive", 261*33f37583SAndroid Build Coastguard Worker "libselinux", 262*33f37583SAndroid Build Coastguard Worker ], 263*33f37583SAndroid Build Coastguard Worker static_libs: [ 264*33f37583SAndroid Build Coastguard Worker "lib_apex_session_state_proto", 265*33f37583SAndroid Build Coastguard Worker "lib_apex_manifest_proto", 266*33f37583SAndroid Build Coastguard Worker "libavb", 267*33f37583SAndroid Build Coastguard Worker ], 268*33f37583SAndroid Build Coastguard Worker cpp_std: "experimental", 269*33f37583SAndroid Build Coastguard Worker} 270*33f37583SAndroid Build Coastguard Worker 271*33f37583SAndroid Build Coastguard Workercc_library_static { 272*33f37583SAndroid Build Coastguard Worker name: "libapex", 273*33f37583SAndroid Build Coastguard Worker defaults: [ 274*33f37583SAndroid Build Coastguard Worker "apex_flags_defaults", 275*33f37583SAndroid Build Coastguard Worker "libapex-deps", 276*33f37583SAndroid Build Coastguard Worker ], 277*33f37583SAndroid Build Coastguard Worker srcs: [ 278*33f37583SAndroid Build Coastguard Worker "apex_file.cpp", 279*33f37583SAndroid Build Coastguard Worker "apex_manifest.cpp", 280*33f37583SAndroid Build Coastguard Worker "apex_sha.cpp", 281*33f37583SAndroid Build Coastguard Worker "apex_shim.cpp", 282*33f37583SAndroid Build Coastguard Worker "apexd_verity.cpp", 283*33f37583SAndroid Build Coastguard Worker ], 284*33f37583SAndroid Build Coastguard Worker host_supported: true, 285*33f37583SAndroid Build Coastguard Worker target: { 286*33f37583SAndroid Build Coastguard Worker darwin: { 287*33f37583SAndroid Build Coastguard Worker enabled: false, 288*33f37583SAndroid Build Coastguard Worker }, 289*33f37583SAndroid Build Coastguard Worker }, 290*33f37583SAndroid Build Coastguard Worker header_libs: [ 291*33f37583SAndroid Build Coastguard Worker "libutils_headers", 292*33f37583SAndroid Build Coastguard Worker ], 293*33f37583SAndroid Build Coastguard Worker export_header_lib_headers: [ 294*33f37583SAndroid Build Coastguard Worker "libutils_headers", 295*33f37583SAndroid Build Coastguard Worker ], 296*33f37583SAndroid Build Coastguard Worker export_include_dirs: ["."], 297*33f37583SAndroid Build Coastguard Worker} 298*33f37583SAndroid Build Coastguard Worker 299*33f37583SAndroid Build Coastguard Workerjava_genrule { 300*33f37583SAndroid Build Coastguard Worker // Generates an apex which has a different manifest outside the filesystem 301*33f37583SAndroid Build Coastguard Worker // image. 302*33f37583SAndroid Build Coastguard Worker name: "gen_manifest_mismatch_apex", 303*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_manifest_mismatch.apex"], 304*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test"], 305*33f37583SAndroid Build Coastguard Worker tools: [ 306*33f37583SAndroid Build Coastguard Worker "soong_zip", 307*33f37583SAndroid Build Coastguard Worker "zipalign", 308*33f37583SAndroid Build Coastguard Worker "conv_apex_manifest", 309*33f37583SAndroid Build Coastguard Worker ], 310*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) && " + 311*33f37583SAndroid Build Coastguard Worker "$(location conv_apex_manifest) setprop version 137 $(genDir)/apex_manifest.pb && " + 312*33f37583SAndroid Build Coastguard Worker "$(location soong_zip) -d -C $(genDir) -D $(genDir) " + 313*33f37583SAndroid Build Coastguard Worker "-s apex_manifest.pb -s apex_payload.img -s apex_pubkey " + 314*33f37583SAndroid Build Coastguard Worker "-o $(genDir)/unaligned.apex && " + 315*33f37583SAndroid Build Coastguard Worker "$(location zipalign) -f 4096 $(genDir)/unaligned.apex " + 316*33f37583SAndroid Build Coastguard Worker "$(genDir)/apex.apexd_test_manifest_mismatch.apex", 317*33f37583SAndroid Build Coastguard Worker} 318*33f37583SAndroid Build Coastguard Worker 319*33f37583SAndroid Build Coastguard Workerjava_genrule { 320*33f37583SAndroid Build Coastguard Worker // Generates an apex with a corrupted filesystem superblock, which should cause 321*33f37583SAndroid Build Coastguard Worker // Apex::Open to fail 322*33f37583SAndroid Build Coastguard Worker name: "gen_corrupt_superblock_apex", 323*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_corrupt_superblock_apex.apex"], 324*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test"], 325*33f37583SAndroid Build Coastguard Worker tools: [ 326*33f37583SAndroid Build Coastguard Worker "soong_zip", 327*33f37583SAndroid Build Coastguard Worker "zipalign", 328*33f37583SAndroid Build Coastguard Worker ], 329*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) && " + 330*33f37583SAndroid Build Coastguard Worker "dd if=/dev/zero of=$(genDir)/apex_payload.img conv=notrunc bs=1024 seek=1 count=1 && " + 331*33f37583SAndroid Build Coastguard Worker "$(location soong_zip) -d -C $(genDir) -D $(genDir) " + 332*33f37583SAndroid Build Coastguard Worker "-s apex_manifest.pb -s apex_payload.img -s apex_pubkey " + 333*33f37583SAndroid Build Coastguard Worker "-o $(genDir)/unaligned.apex && " + 334*33f37583SAndroid Build Coastguard Worker "$(location zipalign) -f 4096 $(genDir)/unaligned.apex " + 335*33f37583SAndroid Build Coastguard Worker "$(genDir)/apex.apexd_test_corrupt_superblock_apex.apex", 336*33f37583SAndroid Build Coastguard Worker} 337*33f37583SAndroid Build Coastguard Worker 338*33f37583SAndroid Build Coastguard Workerjava_genrule { 339*33f37583SAndroid Build Coastguard Worker // Generates an apex with a corrupted filesystem image, which should cause 340*33f37583SAndroid Build Coastguard Worker // dm-verity verification to fail 341*33f37583SAndroid Build Coastguard Worker name: "gen_corrupt_apex", 342*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_corrupt_apex.apex"], 343*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test"], 344*33f37583SAndroid Build Coastguard Worker tools: [ 345*33f37583SAndroid Build Coastguard Worker "soong_zip", 346*33f37583SAndroid Build Coastguard Worker "zipalign", 347*33f37583SAndroid Build Coastguard Worker ], 348*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) && " + 349*33f37583SAndroid Build Coastguard Worker "dd if=/dev/zero of=$(genDir)/apex_payload.img conv=notrunc bs=1024 seek=16 count=1 && " + 350*33f37583SAndroid Build Coastguard Worker "$(location soong_zip) -d -C $(genDir) -D $(genDir) " + 351*33f37583SAndroid Build Coastguard Worker "-s apex_manifest.pb -s apex_payload.img -s apex_pubkey " + 352*33f37583SAndroid Build Coastguard Worker "-o $(genDir)/unaligned.apex && " + 353*33f37583SAndroid Build Coastguard Worker "$(location zipalign) -f 4096 $(genDir)/unaligned.apex " + 354*33f37583SAndroid Build Coastguard Worker "$(genDir)/apex.apexd_test_corrupt_apex.apex", 355*33f37583SAndroid Build Coastguard Worker} 356*33f37583SAndroid Build Coastguard Worker 357*33f37583SAndroid Build Coastguard Workerjava_genrule { 358*33f37583SAndroid Build Coastguard Worker // Extract the root digest with avbtool 359*33f37583SAndroid Build Coastguard Worker name: "apex.apexd_test_digest", 360*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_digest.txt"], 361*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test"], 362*33f37583SAndroid Build Coastguard Worker tools: ["avbtool"], 363*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) apex_payload.img && " + 364*33f37583SAndroid Build Coastguard Worker "$(location avbtool) print_partition_digests --image $(genDir)/apex_payload.img " + 365*33f37583SAndroid Build Coastguard Worker "| cut -c 3-| tee $(out)", 366*33f37583SAndroid Build Coastguard Worker} 367*33f37583SAndroid Build Coastguard Worker 368*33f37583SAndroid Build Coastguard Workerjava_genrule { 369*33f37583SAndroid Build Coastguard Worker // Extract the root digest with avbtool 370*33f37583SAndroid Build Coastguard Worker name: "apex.apexd_test_f2fs_digest", 371*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_f2fs_digest.txt"], 372*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test_f2fs"], 373*33f37583SAndroid Build Coastguard Worker tools: ["avbtool"], 374*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) apex_payload.img && " + 375*33f37583SAndroid Build Coastguard Worker "$(location avbtool) print_partition_digests --image $(genDir)/apex_payload.img " + 376*33f37583SAndroid Build Coastguard Worker "| cut -c 3-| tee $(out)", 377*33f37583SAndroid Build Coastguard Worker} 378*33f37583SAndroid Build Coastguard Worker 379*33f37583SAndroid Build Coastguard Workerjava_genrule { 380*33f37583SAndroid Build Coastguard Worker // Extract the root digest with avbtool 381*33f37583SAndroid Build Coastguard Worker name: "apex.apexd_test_erofs_digest", 382*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_erofs_digest.txt"], 383*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test_erofs"], 384*33f37583SAndroid Build Coastguard Worker tools: ["avbtool"], 385*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) apex_payload.img && " + 386*33f37583SAndroid Build Coastguard Worker "$(location avbtool) print_partition_digests --image $(genDir)/apex_payload.img " + 387*33f37583SAndroid Build Coastguard Worker "| cut -c 3-| tee $(out)", 388*33f37583SAndroid Build Coastguard Worker} 389*33f37583SAndroid Build Coastguard Worker 390*33f37583SAndroid Build Coastguard Workerjava_genrule { 391*33f37583SAndroid Build Coastguard Worker // Generates an apex which has same module name as apex.apexd_test.apex, but 392*33f37583SAndroid Build Coastguard Worker // is actually signed with a different key. 393*33f37583SAndroid Build Coastguard Worker name: "gen_key_mismatch_apex", 394*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_different_key.apex"], 395*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test_no_inst_key"], 396*33f37583SAndroid Build Coastguard Worker tools: [ 397*33f37583SAndroid Build Coastguard Worker "soong_zip", 398*33f37583SAndroid Build Coastguard Worker "zipalign", 399*33f37583SAndroid Build Coastguard Worker "conv_apex_manifest", 400*33f37583SAndroid Build Coastguard Worker ], 401*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) && " + 402*33f37583SAndroid Build Coastguard Worker "$(location conv_apex_manifest) setprop name com.android.apex.test_package $(genDir)/apex_manifest.pb && " + 403*33f37583SAndroid Build Coastguard Worker "$(location soong_zip) -d -C $(genDir) -D $(genDir) " + 404*33f37583SAndroid Build Coastguard Worker "-s apex_manifest.pb -s apex_payload.img -s apex_pubkey " + 405*33f37583SAndroid Build Coastguard Worker "-o $(genDir)/unaligned.apex && " + 406*33f37583SAndroid Build Coastguard Worker "$(location zipalign) -f 4096 $(genDir)/unaligned.apex " + 407*33f37583SAndroid Build Coastguard Worker "$(genDir)/apex.apexd_test_different_key.apex", 408*33f37583SAndroid Build Coastguard Worker} 409*33f37583SAndroid Build Coastguard Worker 410*33f37583SAndroid Build Coastguard Workerjava_genrule { 411*33f37583SAndroid Build Coastguard Worker // Generates an apex which has same module name as apex.apexd_test.apex, but 412*33f37583SAndroid Build Coastguard Worker // is actually signed with a different key. 413*33f37583SAndroid Build Coastguard Worker name: "gen_key_mismatch_apex_v2", 414*33f37583SAndroid Build Coastguard Worker out: ["apex.apexd_test_different_key_v2.apex"], 415*33f37583SAndroid Build Coastguard Worker srcs: [":apex.apexd_test_no_inst_key"], 416*33f37583SAndroid Build Coastguard Worker tools: [ 417*33f37583SAndroid Build Coastguard Worker "soong_zip", 418*33f37583SAndroid Build Coastguard Worker "zipalign", 419*33f37583SAndroid Build Coastguard Worker "conv_apex_manifest", 420*33f37583SAndroid Build Coastguard Worker ], 421*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) && " + 422*33f37583SAndroid Build Coastguard Worker "$(location conv_apex_manifest) setprop name com.android.apex.test_package $(genDir)/apex_manifest.pb && " + 423*33f37583SAndroid Build Coastguard Worker "$(location conv_apex_manifest) setprop version 2 $(genDir)/apex_manifest.pb && " + 424*33f37583SAndroid Build Coastguard Worker "$(location soong_zip) -d -C $(genDir) -D $(genDir) " + 425*33f37583SAndroid Build Coastguard Worker "-s apex_manifest.pb -s apex_payload.img -s apex_pubkey " + 426*33f37583SAndroid Build Coastguard Worker "-o $(genDir)/unaligned.apex && " + 427*33f37583SAndroid Build Coastguard Worker "$(location zipalign) -f 4096 $(genDir)/unaligned.apex " + 428*33f37583SAndroid Build Coastguard Worker "$(genDir)/apex.apexd_test_different_key_v2.apex", 429*33f37583SAndroid Build Coastguard Worker} 430*33f37583SAndroid Build Coastguard Worker 431*33f37583SAndroid Build Coastguard Workerjava_genrule { 432*33f37583SAndroid Build Coastguard Worker // Generates an apex which has a different manifest outside the filesystem 433*33f37583SAndroid Build Coastguard Worker // image. 434*33f37583SAndroid Build Coastguard Worker name: "gen_manifest_mismatch_rebootless_apex", 435*33f37583SAndroid Build Coastguard Worker out: ["test.rebootless_apex_manifest_mismatch.apex"], 436*33f37583SAndroid Build Coastguard Worker srcs: [":test.rebootless_apex_v1"], 437*33f37583SAndroid Build Coastguard Worker tools: [ 438*33f37583SAndroid Build Coastguard Worker "soong_zip", 439*33f37583SAndroid Build Coastguard Worker "zipalign", 440*33f37583SAndroid Build Coastguard Worker "conv_apex_manifest", 441*33f37583SAndroid Build Coastguard Worker ], 442*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) && " + 443*33f37583SAndroid Build Coastguard Worker "$(location conv_apex_manifest) setprop version 137 $(genDir)/apex_manifest.pb && " + 444*33f37583SAndroid Build Coastguard Worker "$(location soong_zip) -d -C $(genDir) -D $(genDir) " + 445*33f37583SAndroid Build Coastguard Worker "-s apex_manifest.pb -s apex_payload.img -s apex_pubkey " + 446*33f37583SAndroid Build Coastguard Worker "-o $(genDir)/unaligned.apex && " + 447*33f37583SAndroid Build Coastguard Worker "$(location zipalign) -f 4096 $(genDir)/unaligned.apex " + 448*33f37583SAndroid Build Coastguard Worker "$(genDir)/test.rebootless_apex_manifest_mismatch.apex", 449*33f37583SAndroid Build Coastguard Worker} 450*33f37583SAndroid Build Coastguard Worker 451*33f37583SAndroid Build Coastguard Workerjava_genrule { 452*33f37583SAndroid Build Coastguard Worker // Generates an apex with a corrupted filesystem image, which should cause 453*33f37583SAndroid Build Coastguard Worker // dm-verity verification to fail 454*33f37583SAndroid Build Coastguard Worker name: "gen_corrupt_rebootless_apex", 455*33f37583SAndroid Build Coastguard Worker out: ["test.rebootless_apex_corrupted.apex"], 456*33f37583SAndroid Build Coastguard Worker srcs: [":test.rebootless_apex_v1"], 457*33f37583SAndroid Build Coastguard Worker tools: [ 458*33f37583SAndroid Build Coastguard Worker "soong_zip", 459*33f37583SAndroid Build Coastguard Worker "zipalign", 460*33f37583SAndroid Build Coastguard Worker ], 461*33f37583SAndroid Build Coastguard Worker cmd: "unzip -q $(in) -d $(genDir) && " + 462*33f37583SAndroid Build Coastguard Worker "dd if=/dev/zero of=$(genDir)/apex_payload.img conv=notrunc bs=1024 seek=16 count=1 && " + 463*33f37583SAndroid Build Coastguard Worker "$(location soong_zip) -d -C $(genDir) -D $(genDir) " + 464*33f37583SAndroid Build Coastguard Worker "-s apex_manifest.pb -s apex_payload.img -s apex_pubkey " + 465*33f37583SAndroid Build Coastguard Worker "-o $(genDir)/unaligned.apex && " + 466*33f37583SAndroid Build Coastguard Worker "$(location zipalign) -f 4096 $(genDir)/unaligned.apex " + 467*33f37583SAndroid Build Coastguard Worker "$(genDir)/test.rebootless_apex_corrupted.apex", 468*33f37583SAndroid Build Coastguard Worker} 469*33f37583SAndroid Build Coastguard Worker 470*33f37583SAndroid Build Coastguard Workercc_test { 471*33f37583SAndroid Build Coastguard Worker name: "ApexTestCases", 472*33f37583SAndroid Build Coastguard Worker defaults: [ 473*33f37583SAndroid Build Coastguard Worker "apex_flags_defaults", 474*33f37583SAndroid Build Coastguard Worker "libapex-deps", 475*33f37583SAndroid Build Coastguard Worker "libapexd-deps", 476*33f37583SAndroid Build Coastguard Worker ], 477*33f37583SAndroid Build Coastguard Worker require_root: true, 478*33f37583SAndroid Build Coastguard Worker cflags: [ 479*33f37583SAndroid Build Coastguard Worker // Otherwise libgmock won't compile. 480*33f37583SAndroid Build Coastguard Worker "-Wno-used-but-marked-unused", 481*33f37583SAndroid Build Coastguard Worker ], 482*33f37583SAndroid Build Coastguard Worker data: [ 483*33f37583SAndroid Build Coastguard Worker ":apex.apexd_bootstrap_test", 484*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test", 485*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_erofs", 486*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_f2fs", 487*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_digest", 488*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_erofs_digest", 489*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_f2fs_digest", 490*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_classpath", 491*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_different_app", 492*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_no_inst_key", 493*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_f2fs_no_inst_key", 494*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_nocode", 495*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_v2", 496*33f37583SAndroid Build Coastguard Worker ":apex.corrupted_b146895998", 497*33f37583SAndroid Build Coastguard Worker ":apex.banned_name", 498*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_apex", 499*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_apex_v2", 500*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_capex", 501*33f37583SAndroid Build Coastguard Worker ":gen_manifest_mismatch_apex", 502*33f37583SAndroid Build Coastguard Worker ":gen_corrupt_superblock_apex", 503*33f37583SAndroid Build Coastguard Worker ":gen_corrupt_apex", 504*33f37583SAndroid Build Coastguard Worker ":gen_capex_not_decompressible", 505*33f37583SAndroid Build Coastguard Worker ":gen_capex_without_apex", 506*33f37583SAndroid Build Coastguard Worker ":gen_capex_with_v2_apex", 507*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_with_original_capex", 508*33f37583SAndroid Build Coastguard Worker ":com.android.apex.brand.new", 509*33f37583SAndroid Build Coastguard Worker ":com.android.apex.brand.new.v2", 510*33f37583SAndroid Build Coastguard Worker ":com.android.apex.brand.new.v2.diffkey", 511*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v1_prebuilt", 512*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_prebuilt", 513*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_wrong_sha_prebuilt", 514*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_additional_file_prebuilt", 515*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_additional_folder_prebuilt", 516*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_with_pre_install_hook_prebuilt", 517*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_with_post_install_hook_prebuilt", 518*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed_sharedlibs", 519*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1", 520*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1_different_digest", 521*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1_different_digest_original", 522*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1{.apex}", 523*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v2", 524*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v2_original", 525*33f37583SAndroid Build Coastguard Worker ":gen_manifest_mismatch_compressed_apex_v2", 526*33f37583SAndroid Build Coastguard Worker "apexd_testdata/com.android.apex.test_package.avbpubkey", 527*33f37583SAndroid Build Coastguard Worker "apexd_testdata/com.android.apex.compressed.avbpubkey", 528*33f37583SAndroid Build Coastguard Worker "apexd_testdata/com.android.apex.brand.new.avbpubkey", 529*33f37583SAndroid Build Coastguard Worker "apexd_testdata/com.android.apex.brand.new.another.avbpubkey", 530*33f37583SAndroid Build Coastguard Worker "apexd_testdata/com.android.apex.brand.new.renamed.avbpubkey", 531*33f37583SAndroid Build Coastguard Worker "apexd_testdata/blocklist.json", 532*33f37583SAndroid Build Coastguard Worker "apexd_testdata/blocklist_invalid.json", 533*33f37583SAndroid Build Coastguard Worker ":com.android.apex.test.sharedlibs_generated.v1.libvX_prebuilt", 534*33f37583SAndroid Build Coastguard Worker ":com.android.apex.test.sharedlibs_generated.v2.libvY_prebuilt", 535*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_v1", 536*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_v2", 537*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_service_v1", 538*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_service_v2", 539*33f37583SAndroid Build Coastguard Worker ":gen_manifest_mismatch_rebootless_apex", 540*33f37583SAndroid Build Coastguard Worker ":gen_corrupt_rebootless_apex", 541*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_provides_sharedlibs", 542*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_provides_native_libs", 543*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_requires_shared_apex_libs", 544*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_jni_libs", 545*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_add_native_lib", 546*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_remove_native_lib", 547*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_app_in_apex", 548*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_priv_app_in_apex", 549*33f37583SAndroid Build Coastguard Worker ":com.android.apex.vendor.foo", 550*33f37583SAndroid Build Coastguard Worker ":com.android.apex.vendor.foo.with_vintf", 551*33f37583SAndroid Build Coastguard Worker ], 552*33f37583SAndroid Build Coastguard Worker srcs: [ 553*33f37583SAndroid Build Coastguard Worker "apex_blocklist_test.cpp", 554*33f37583SAndroid Build Coastguard Worker "apex_classpath_test.cpp", 555*33f37583SAndroid Build Coastguard Worker "apex_database_test.cpp", 556*33f37583SAndroid Build Coastguard Worker "apex_file_test.cpp", 557*33f37583SAndroid Build Coastguard Worker "apex_file_repository_test.cpp", 558*33f37583SAndroid Build Coastguard Worker "apex_manifest_test.cpp", 559*33f37583SAndroid Build Coastguard Worker "apexd_brand_new_verifier_test.cpp", 560*33f37583SAndroid Build Coastguard Worker "apexd_test.cpp", 561*33f37583SAndroid Build Coastguard Worker "apexd_session_test.cpp", 562*33f37583SAndroid Build Coastguard Worker "apexd_utils_test.cpp", 563*33f37583SAndroid Build Coastguard Worker ], 564*33f37583SAndroid Build Coastguard Worker host_supported: false, 565*33f37583SAndroid Build Coastguard Worker compile_multilib: "first", 566*33f37583SAndroid Build Coastguard Worker static_libs: [ 567*33f37583SAndroid Build Coastguard Worker "apex_aidl_interface-cpp", 568*33f37583SAndroid Build Coastguard Worker "libapex", 569*33f37583SAndroid Build Coastguard Worker "libapexd", 570*33f37583SAndroid Build Coastguard Worker "libfstab", 571*33f37583SAndroid Build Coastguard Worker "libgmock", 572*33f37583SAndroid Build Coastguard Worker ], 573*33f37583SAndroid Build Coastguard Worker shared_libs: [ 574*33f37583SAndroid Build Coastguard Worker "libbinder", 575*33f37583SAndroid Build Coastguard Worker "libfs_mgr", 576*33f37583SAndroid Build Coastguard Worker "libutils", 577*33f37583SAndroid Build Coastguard Worker ], 578*33f37583SAndroid Build Coastguard Worker generated_sources: ["apex-info-list-tinyxml"], 579*33f37583SAndroid Build Coastguard Worker test_suites: ["device-tests"], 580*33f37583SAndroid Build Coastguard Worker test_config: "ApexTestCases.xml", 581*33f37583SAndroid Build Coastguard Worker} 582*33f37583SAndroid Build Coastguard Worker 583*33f37583SAndroid Build Coastguard Workercc_test { 584*33f37583SAndroid Build Coastguard Worker name: "ApexServiceTestCases", 585*33f37583SAndroid Build Coastguard Worker defaults: [ 586*33f37583SAndroid Build Coastguard Worker "apex_flags_defaults", 587*33f37583SAndroid Build Coastguard Worker "libapex-deps", 588*33f37583SAndroid Build Coastguard Worker "libapexd-deps", 589*33f37583SAndroid Build Coastguard Worker ], 590*33f37583SAndroid Build Coastguard Worker require_root: true, 591*33f37583SAndroid Build Coastguard Worker cflags: [ 592*33f37583SAndroid Build Coastguard Worker // Otherwise libgmock won't compile. 593*33f37583SAndroid Build Coastguard Worker "-Wno-used-but-marked-unused", 594*33f37583SAndroid Build Coastguard Worker ], 595*33f37583SAndroid Build Coastguard Worker data: [ 596*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test", 597*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_erofs", 598*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_f2fs", 599*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_digest", 600*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_erofs_digest", 601*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_f2fs_digest", 602*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_classpath", 603*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_different_app", 604*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_no_inst_key", 605*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_f2fs_no_inst_key", 606*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_nocode", 607*33f37583SAndroid Build Coastguard Worker ":apex.apexd_test_v2", 608*33f37583SAndroid Build Coastguard Worker ":apex.corrupted_b146895998", 609*33f37583SAndroid Build Coastguard Worker ":apex.banned_name", 610*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_apex", 611*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_apex_v2", 612*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_capex", 613*33f37583SAndroid Build Coastguard Worker ":gen_manifest_mismatch_apex", 614*33f37583SAndroid Build Coastguard Worker ":gen_corrupt_superblock_apex", 615*33f37583SAndroid Build Coastguard Worker ":gen_corrupt_apex", 616*33f37583SAndroid Build Coastguard Worker ":gen_capex_not_decompressible", 617*33f37583SAndroid Build Coastguard Worker ":gen_capex_without_apex", 618*33f37583SAndroid Build Coastguard Worker ":gen_capex_with_v2_apex", 619*33f37583SAndroid Build Coastguard Worker ":gen_key_mismatch_with_original_capex", 620*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v1_prebuilt", 621*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_prebuilt", 622*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_wrong_sha_prebuilt", 623*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_additional_file_prebuilt", 624*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_additional_folder_prebuilt", 625*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_with_pre_install_hook_prebuilt", 626*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_with_post_install_hook_prebuilt", 627*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed_sharedlibs", 628*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1", 629*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1_different_digest", 630*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1_different_digest_original", 631*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v1{.apex}", 632*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v2", 633*33f37583SAndroid Build Coastguard Worker ":com.android.apex.compressed.v2_original", 634*33f37583SAndroid Build Coastguard Worker ":gen_manifest_mismatch_compressed_apex_v2", 635*33f37583SAndroid Build Coastguard Worker "apexd_testdata/com.android.apex.test_package.avbpubkey", 636*33f37583SAndroid Build Coastguard Worker "apexd_testdata/com.android.apex.compressed.avbpubkey", 637*33f37583SAndroid Build Coastguard Worker ":com.android.apex.test.sharedlibs_generated.v1.libvX_prebuilt", 638*33f37583SAndroid Build Coastguard Worker ":com.android.apex.test.sharedlibs_generated.v2.libvY_prebuilt", 639*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_v1", 640*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_v2", 641*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_service_v1", 642*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_service_v2", 643*33f37583SAndroid Build Coastguard Worker ":gen_manifest_mismatch_rebootless_apex", 644*33f37583SAndroid Build Coastguard Worker ":gen_corrupt_rebootless_apex", 645*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_provides_sharedlibs", 646*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_provides_native_libs", 647*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_requires_shared_apex_libs", 648*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_jni_libs", 649*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_add_native_lib", 650*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_remove_native_lib", 651*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_app_in_apex", 652*33f37583SAndroid Build Coastguard Worker ":test.rebootless_apex_priv_app_in_apex", 653*33f37583SAndroid Build Coastguard Worker ], 654*33f37583SAndroid Build Coastguard Worker srcs: [ 655*33f37583SAndroid Build Coastguard Worker "apexservice_test.cpp", 656*33f37583SAndroid Build Coastguard Worker ], 657*33f37583SAndroid Build Coastguard Worker host_supported: false, 658*33f37583SAndroid Build Coastguard Worker compile_multilib: "first", 659*33f37583SAndroid Build Coastguard Worker static_libs: [ 660*33f37583SAndroid Build Coastguard Worker "apex_aidl_interface-cpp", 661*33f37583SAndroid Build Coastguard Worker "libapex", 662*33f37583SAndroid Build Coastguard Worker "libapexd", 663*33f37583SAndroid Build Coastguard Worker "libfstab", 664*33f37583SAndroid Build Coastguard Worker "libgmock", 665*33f37583SAndroid Build Coastguard Worker ], 666*33f37583SAndroid Build Coastguard Worker shared_libs: [ 667*33f37583SAndroid Build Coastguard Worker "libbinder", 668*33f37583SAndroid Build Coastguard Worker "libfs_mgr", 669*33f37583SAndroid Build Coastguard Worker "libutils", 670*33f37583SAndroid Build Coastguard Worker ], 671*33f37583SAndroid Build Coastguard Worker generated_sources: ["apex-info-list-tinyxml"], 672*33f37583SAndroid Build Coastguard Worker test_suites: ["device-tests"], 673*33f37583SAndroid Build Coastguard Worker test_config: "ApexServiceTestCases.xml", 674*33f37583SAndroid Build Coastguard Worker} 675*33f37583SAndroid Build Coastguard Worker 676*33f37583SAndroid Build Coastguard Workerxsd_config { 677*33f37583SAndroid Build Coastguard Worker name: "apex-info-list", 678*33f37583SAndroid Build Coastguard Worker srcs: ["ApexInfoList.xsd"], 679*33f37583SAndroid Build Coastguard Worker package_name: "com.android.apex", 680*33f37583SAndroid Build Coastguard Worker api_dir: "apex-info-list-api", 681*33f37583SAndroid Build Coastguard Worker gen_writer: true, 682*33f37583SAndroid Build Coastguard Worker root_elements: ["apex-info-list"], 683*33f37583SAndroid Build Coastguard Worker} 684*33f37583SAndroid Build Coastguard Worker 685*33f37583SAndroid Build Coastguard Workerxsd_config { 686*33f37583SAndroid Build Coastguard Worker name: "apex-info-list-tinyxml", 687*33f37583SAndroid Build Coastguard Worker srcs: ["ApexInfoList.xsd"], 688*33f37583SAndroid Build Coastguard Worker package_name: "com.android.apex", 689*33f37583SAndroid Build Coastguard Worker api_dir: "apex-info-list-api", 690*33f37583SAndroid Build Coastguard Worker gen_writer: true, 691*33f37583SAndroid Build Coastguard Worker tinyxml: true, 692*33f37583SAndroid Build Coastguard Worker root_elements: ["apex-info-list"], 693*33f37583SAndroid Build Coastguard Worker} 694*33f37583SAndroid Build Coastguard Worker 695*33f37583SAndroid Build Coastguard Workercc_defaults { 696*33f37583SAndroid Build Coastguard Worker name: "libapexd_metrics_stats-deps", 697*33f37583SAndroid Build Coastguard Worker shared_libs: [ 698*33f37583SAndroid Build Coastguard Worker "libbase", 699*33f37583SAndroid Build Coastguard Worker "libbinder", 700*33f37583SAndroid Build Coastguard Worker "libutils", 701*33f37583SAndroid Build Coastguard Worker "liblog", 702*33f37583SAndroid Build Coastguard Worker ], 703*33f37583SAndroid Build Coastguard Worker static_libs: [ 704*33f37583SAndroid Build Coastguard Worker "android.os.statsbootstrap_aidl-cpp", 705*33f37583SAndroid Build Coastguard Worker "libstatsbootstrap", 706*33f37583SAndroid Build Coastguard Worker ], 707*33f37583SAndroid Build Coastguard Worker} 708*33f37583SAndroid Build Coastguard Worker 709*33f37583SAndroid Build Coastguard Workercc_library_static { 710*33f37583SAndroid Build Coastguard Worker name: "libapexd_metrics_stats", 711*33f37583SAndroid Build Coastguard Worker defaults: [ 712*33f37583SAndroid Build Coastguard Worker "libapexd_metrics_stats-deps", 713*33f37583SAndroid Build Coastguard Worker ], 714*33f37583SAndroid Build Coastguard Worker srcs: [ 715*33f37583SAndroid Build Coastguard Worker "apexd_metrics_stats.cpp", 716*33f37583SAndroid Build Coastguard Worker ], 717*33f37583SAndroid Build Coastguard Worker generated_sources: [ 718*33f37583SAndroid Build Coastguard Worker "statslog_apex.cpp", 719*33f37583SAndroid Build Coastguard Worker ], 720*33f37583SAndroid Build Coastguard Worker generated_headers: [ 721*33f37583SAndroid Build Coastguard Worker "statslog_apex.h", 722*33f37583SAndroid Build Coastguard Worker ], 723*33f37583SAndroid Build Coastguard Worker cflags: [ 724*33f37583SAndroid Build Coastguard Worker "-Wall", 725*33f37583SAndroid Build Coastguard Worker "-Werror", 726*33f37583SAndroid Build Coastguard Worker ], 727*33f37583SAndroid Build Coastguard Worker} 728*33f37583SAndroid Build Coastguard Worker 729*33f37583SAndroid Build Coastguard Workergenrule { 730*33f37583SAndroid Build Coastguard Worker name: "statslog_apex.h", 731*33f37583SAndroid Build Coastguard Worker tools: ["stats-log-api-gen"], 732*33f37583SAndroid Build Coastguard Worker cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_apex.h --module apex --namespace stats,apex --bootstrap", 733*33f37583SAndroid Build Coastguard Worker out: [ 734*33f37583SAndroid Build Coastguard Worker "statslog_apex.h", 735*33f37583SAndroid Build Coastguard Worker ], 736*33f37583SAndroid Build Coastguard Worker} 737*33f37583SAndroid Build Coastguard Worker 738*33f37583SAndroid Build Coastguard Workergenrule { 739*33f37583SAndroid Build Coastguard Worker name: "statslog_apex.cpp", 740*33f37583SAndroid Build Coastguard Worker tools: ["stats-log-api-gen"], 741*33f37583SAndroid Build Coastguard Worker cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_apex.cpp --module apex --namespace stats,apex --importHeader statslog_apex.h --bootstrap", 742*33f37583SAndroid Build Coastguard Worker out: [ 743*33f37583SAndroid Build Coastguard Worker "statslog_apex.cpp", 744*33f37583SAndroid Build Coastguard Worker ], 745*33f37583SAndroid Build Coastguard Worker} 746*33f37583SAndroid Build Coastguard Worker 747*33f37583SAndroid Build Coastguard Workeraconfig_declarations { 748*33f37583SAndroid Build Coastguard Worker name: "enable_brand_new_apex", 749*33f37583SAndroid Build Coastguard Worker package: "com.android.apex.flags", 750*33f37583SAndroid Build Coastguard Worker srcs: ["apexd.aconfig"], 751*33f37583SAndroid Build Coastguard Worker container: "system", 752*33f37583SAndroid Build Coastguard Worker} 753*33f37583SAndroid Build Coastguard Worker 754*33f37583SAndroid Build Coastguard Workercc_aconfig_library { 755*33f37583SAndroid Build Coastguard Worker name: "brand_new_apex_flag_c_lib", 756*33f37583SAndroid Build Coastguard Worker aconfig_declarations: "enable_brand_new_apex", 757*33f37583SAndroid Build Coastguard Worker} 758