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 Worker// Build rules to build shim apexes. 16*33f37583SAndroid Build Coastguard Worker 17*33f37583SAndroid Build Coastguard Workerpackage { 18*33f37583SAndroid Build Coastguard Worker default_applicable_licenses: ["Android-Apache-2.0"], 19*33f37583SAndroid Build Coastguard Worker} 20*33f37583SAndroid Build Coastguard Worker 21*33f37583SAndroid Build Coastguard Workergenrule { 22*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.pem", 23*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.pem"], 24*33f37583SAndroid Build Coastguard Worker cmd: "openssl genrsa -out $(out) 4096", 25*33f37583SAndroid Build Coastguard Worker} 26*33f37583SAndroid Build Coastguard Worker 27*33f37583SAndroid Build Coastguard Workergenrule { 28*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.pubkey", 29*33f37583SAndroid Build Coastguard Worker srcs: [":com.android.apex.cts.shim.pem"], 30*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.pubkey"], 31*33f37583SAndroid Build Coastguard Worker tools: ["avbtool"], 32*33f37583SAndroid Build Coastguard Worker cmd: "$(location avbtool) extract_public_key --key $(in) --output $(out)", 33*33f37583SAndroid Build Coastguard Worker} 34*33f37583SAndroid Build Coastguard Worker 35*33f37583SAndroid Build Coastguard Workerapex_key { 36*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.key", 37*33f37583SAndroid Build Coastguard Worker private_key: ":com.android.apex.cts.shim.pem", 38*33f37583SAndroid Build Coastguard Worker public_key: ":com.android.apex.cts.shim.pubkey", 39*33f37583SAndroid Build Coastguard Worker installable: false, 40*33f37583SAndroid Build Coastguard Worker} 41*33f37583SAndroid Build Coastguard Worker 42*33f37583SAndroid Build Coastguard Workergenrule { 43*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.debug.pem", 44*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.debug.pem"], 45*33f37583SAndroid Build Coastguard Worker cmd: "openssl genrsa -out $(out) 4096", 46*33f37583SAndroid Build Coastguard Worker} 47*33f37583SAndroid Build Coastguard Worker 48*33f37583SAndroid Build Coastguard Workergenrule { 49*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.debug.pubkey", 50*33f37583SAndroid Build Coastguard Worker srcs: [":com.android.apex.cts.shim.debug.pem"], 51*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.debug.pubkey"], 52*33f37583SAndroid Build Coastguard Worker tools: ["avbtool"], 53*33f37583SAndroid Build Coastguard Worker cmd: "$(location avbtool) extract_public_key --key $(in) --output $(out)", 54*33f37583SAndroid Build Coastguard Worker} 55*33f37583SAndroid Build Coastguard Worker 56*33f37583SAndroid Build Coastguard Workerapex_key { 57*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.debug.key", 58*33f37583SAndroid Build Coastguard Worker private_key: ":com.android.apex.cts.shim.debug.pem", 59*33f37583SAndroid Build Coastguard Worker public_key: ":com.android.apex.cts.shim.debug.pubkey", 60*33f37583SAndroid Build Coastguard Worker installable: false, 61*33f37583SAndroid Build Coastguard Worker} 62*33f37583SAndroid Build Coastguard Worker 63*33f37583SAndroid Build Coastguard Workergenrule { 64*33f37583SAndroid Build Coastguard Worker name: "generate_hash_of_dev_null", 65*33f37583SAndroid Build Coastguard Worker out: ["hash.txt"], 66*33f37583SAndroid Build Coastguard Worker cmd: "sha512sum -b /dev/null | cut -d' ' -f1 | tee $(out)", 67*33f37583SAndroid Build Coastguard Worker} 68*33f37583SAndroid Build Coastguard Worker 69*33f37583SAndroid Build Coastguard Workerprebuilt_etc { 70*33f37583SAndroid Build Coastguard Worker name: "hash_of_dev_null", 71*33f37583SAndroid Build Coastguard Worker src: ":generate_hash_of_dev_null", 72*33f37583SAndroid Build Coastguard Worker filename: "hash.txt", 73*33f37583SAndroid Build Coastguard Worker installable: false, 74*33f37583SAndroid Build Coastguard Worker} 75*33f37583SAndroid Build Coastguard Worker 76*33f37583SAndroid Build Coastguard Workerapex { 77*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v3", 78*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v3.json", 79*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 80*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 81*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 82*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 83*33f37583SAndroid Build Coastguard Worker apps: [ 84*33f37583SAndroid Build Coastguard Worker "CtsShim", 85*33f37583SAndroid Build Coastguard Worker "CtsShimPriv", 86*33f37583SAndroid Build Coastguard Worker ], 87*33f37583SAndroid Build Coastguard Worker installable: false, 88*33f37583SAndroid Build Coastguard Worker allowed_files: "default_shim_allowed_list.txt", 89*33f37583SAndroid Build Coastguard Worker updatable: false, 90*33f37583SAndroid Build Coastguard Worker} 91*33f37583SAndroid Build Coastguard Worker 92*33f37583SAndroid Build Coastguard Workerapex { 93*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2", 94*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 95*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 96*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 97*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 98*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 99*33f37583SAndroid Build Coastguard Worker apps: [ 100*33f37583SAndroid Build Coastguard Worker "CtsShim", 101*33f37583SAndroid Build Coastguard Worker "CtsShimPriv", 102*33f37583SAndroid Build Coastguard Worker ], 103*33f37583SAndroid Build Coastguard Worker installable: false, 104*33f37583SAndroid Build Coastguard Worker allowed_files: "default_shim_allowed_list.txt", 105*33f37583SAndroid Build Coastguard Worker updatable: false, 106*33f37583SAndroid Build Coastguard Worker} 107*33f37583SAndroid Build Coastguard Worker 108*33f37583SAndroid Build Coastguard Workerapex { 109*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_sign_payload_with_different_key", 110*33f37583SAndroid Build Coastguard Worker // Use manifest_v2_rebootless to also re-use this APEX in the rebootless update test case. 111*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 112*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 113*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 114*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.debug.key", 115*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 116*33f37583SAndroid Build Coastguard Worker installable: false, 117*33f37583SAndroid Build Coastguard Worker allowed_files: "default_shim_allowed_list.txt", 118*33f37583SAndroid Build Coastguard Worker updatable: false, 119*33f37583SAndroid Build Coastguard Worker} 120*33f37583SAndroid Build Coastguard Worker 121*33f37583SAndroid Build Coastguard Workerapex { 122*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_without_apk_in_apex", 123*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 124*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 125*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 126*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 127*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 128*33f37583SAndroid Build Coastguard Worker installable: false, 129*33f37583SAndroid Build Coastguard Worker allowed_files: "default_shim_allowed_list.txt", 130*33f37583SAndroid Build Coastguard Worker updatable: false, 131*33f37583SAndroid Build Coastguard Worker} 132*33f37583SAndroid Build Coastguard Worker 133*33f37583SAndroid Build Coastguard Workerapex { 134*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_unsigned_payload", 135*33f37583SAndroid Build Coastguard Worker // Use manifest_v2_rebootless to also re-use this APEX in the rebootless update test case. 136*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 137*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 138*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 139*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 140*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 141*33f37583SAndroid Build Coastguard Worker apps: [ 142*33f37583SAndroid Build Coastguard Worker "CtsShim", 143*33f37583SAndroid Build Coastguard Worker "CtsShimPriv", 144*33f37583SAndroid Build Coastguard Worker ], 145*33f37583SAndroid Build Coastguard Worker installable: false, 146*33f37583SAndroid Build Coastguard Worker allowed_files: "default_shim_allowed_list.txt", 147*33f37583SAndroid Build Coastguard Worker test_only_unsigned_payload: true, 148*33f37583SAndroid Build Coastguard Worker updatable: false, 149*33f37583SAndroid Build Coastguard Worker} 150*33f37583SAndroid Build Coastguard Worker 151*33f37583SAndroid Build Coastguard Workeroverride_apex { 152*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_different_package_name", 153*33f37583SAndroid Build Coastguard Worker package_name: "com.android.apex.cts.shim.different", 154*33f37583SAndroid Build Coastguard Worker // Use rebootless APEX to re-use this APEX in the rebootless update test case. 155*33f37583SAndroid Build Coastguard Worker base: "com.android.apex.cts.shim.v2_rebootless", 156*33f37583SAndroid Build Coastguard Worker} 157*33f37583SAndroid Build Coastguard Worker 158*33f37583SAndroid Build Coastguard Workergenrule { 159*33f37583SAndroid Build Coastguard Worker name: "generate_empty_hash", 160*33f37583SAndroid Build Coastguard Worker out: ["hash.txt"], 161*33f37583SAndroid Build Coastguard Worker cmd: "touch $(out)", 162*33f37583SAndroid Build Coastguard Worker} 163*33f37583SAndroid Build Coastguard Worker 164*33f37583SAndroid Build Coastguard Workerprebuilt_etc { 165*33f37583SAndroid Build Coastguard Worker name: "empty_hash", 166*33f37583SAndroid Build Coastguard Worker src: ":generate_empty_hash", 167*33f37583SAndroid Build Coastguard Worker filename: "hash.txt", 168*33f37583SAndroid Build Coastguard Worker installable: false, 169*33f37583SAndroid Build Coastguard Worker} 170*33f37583SAndroid Build Coastguard Worker 171*33f37583SAndroid Build Coastguard Worker// Use empty hash.txt to make sure that this apex has wrong SHA512, hence trying 172*33f37583SAndroid Build Coastguard Worker// to stage it should fail. 173*33f37583SAndroid Build Coastguard Workerapex { 174*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_wrong_sha", 175*33f37583SAndroid Build Coastguard Worker // Use manifest_v2_rebootless to also re-use this APEX in the rebootless update test case. 176*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 177*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 178*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 179*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 180*33f37583SAndroid Build Coastguard Worker prebuilts: ["empty_hash"], 181*33f37583SAndroid Build Coastguard Worker installable: false, 182*33f37583SAndroid Build Coastguard Worker updatable: false, 183*33f37583SAndroid Build Coastguard Worker} 184*33f37583SAndroid Build Coastguard Worker 185*33f37583SAndroid Build Coastguard Workerprebuilt_etc { 186*33f37583SAndroid Build Coastguard Worker name: "apex_shim_additional_file", 187*33f37583SAndroid Build Coastguard Worker src: "additional_file", 188*33f37583SAndroid Build Coastguard Worker filename: "additional_file", 189*33f37583SAndroid Build Coastguard Worker installable: false, 190*33f37583SAndroid Build Coastguard Worker} 191*33f37583SAndroid Build Coastguard Worker 192*33f37583SAndroid Build Coastguard Workerapex { 193*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_additional_file", 194*33f37583SAndroid Build Coastguard Worker // Use manifest_v2_rebootless to also re-use this APEX in the rebootless update test case. 195*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 196*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 197*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 198*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 199*33f37583SAndroid Build Coastguard Worker prebuilts: [ 200*33f37583SAndroid Build Coastguard Worker "hash_of_dev_null", 201*33f37583SAndroid Build Coastguard Worker "apex_shim_additional_file", 202*33f37583SAndroid Build Coastguard Worker ], 203*33f37583SAndroid Build Coastguard Worker installable: false, 204*33f37583SAndroid Build Coastguard Worker updatable: false, 205*33f37583SAndroid Build Coastguard Worker} 206*33f37583SAndroid Build Coastguard Worker 207*33f37583SAndroid Build Coastguard Workerprebuilt_etc { 208*33f37583SAndroid Build Coastguard Worker name: "apex_shim_additional_folder", 209*33f37583SAndroid Build Coastguard Worker src: "additional_file", 210*33f37583SAndroid Build Coastguard Worker filename: "additional_file", 211*33f37583SAndroid Build Coastguard Worker sub_dir: "additional_folder", 212*33f37583SAndroid Build Coastguard Worker installable: false, 213*33f37583SAndroid Build Coastguard Worker} 214*33f37583SAndroid Build Coastguard Worker 215*33f37583SAndroid Build Coastguard Workerapex { 216*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_additional_folder", 217*33f37583SAndroid Build Coastguard Worker // Use manifest_v2_rebootless to also re-use this APEX in the rebootless update test case. 218*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 219*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 220*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 221*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 222*33f37583SAndroid Build Coastguard Worker prebuilts: [ 223*33f37583SAndroid Build Coastguard Worker "hash_of_dev_null", 224*33f37583SAndroid Build Coastguard Worker "apex_shim_additional_folder", 225*33f37583SAndroid Build Coastguard Worker ], 226*33f37583SAndroid Build Coastguard Worker installable: false, 227*33f37583SAndroid Build Coastguard Worker updatable: false, 228*33f37583SAndroid Build Coastguard Worker} 229*33f37583SAndroid Build Coastguard Worker 230*33f37583SAndroid Build Coastguard Workerapex { 231*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_with_pre_install_hook", 232*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_with_pre_install_hook.json", 233*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 234*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 235*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 236*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 237*33f37583SAndroid Build Coastguard Worker installable: false, 238*33f37583SAndroid Build Coastguard Worker updatable: false, 239*33f37583SAndroid Build Coastguard Worker} 240*33f37583SAndroid Build Coastguard Worker 241*33f37583SAndroid Build Coastguard Workerapex { 242*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_with_post_install_hook", 243*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_with_post_install_hook.json", 244*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 245*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 246*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 247*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 248*33f37583SAndroid Build Coastguard Worker installable: false, 249*33f37583SAndroid Build Coastguard Worker updatable: false, 250*33f37583SAndroid Build Coastguard Worker} 251*33f37583SAndroid Build Coastguard Worker 252*33f37583SAndroid Build Coastguard Workerjava_genrule { 253*33f37583SAndroid Build Coastguard Worker name: "generate_hash_v1", 254*33f37583SAndroid Build Coastguard Worker srcs: [ 255*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2", 256*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_add_apk_to_apex", 257*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_without_apk_in_apex", 258*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_additional_file", 259*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_additional_folder", 260*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_different_certificate", 261*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_different_package_name", 262*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_signed_bob", 263*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_signed_bob_rot", 264*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_signed_bob_rot_rollback", 265*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_with_pre_install_hook", 266*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_with_post_install_hook", 267*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_sdk_target_p", 268*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p", 269*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_apk_in_apex_upgrades", 270*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_rebootless", 271*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_install_constraints_empty", 272*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_install_constraints_invalid_fingerprint", 273*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2_install_constraints_no_value", 274*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v3", 275*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v3_rebootless", 276*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v3_signed_bob", 277*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v3_signed_bob_rot", 278*33f37583SAndroid Build Coastguard Worker ], 279*33f37583SAndroid Build Coastguard Worker out: ["hash.txt"], 280*33f37583SAndroid Build Coastguard Worker cmd: "sha512sum -b $(in) | cut -d' ' -f1 | tee $(out)", 281*33f37583SAndroid Build Coastguard Worker} 282*33f37583SAndroid Build Coastguard Worker 283*33f37583SAndroid Build Coastguard Workerprebuilt_etc { 284*33f37583SAndroid Build Coastguard Worker name: "hash_v1", 285*33f37583SAndroid Build Coastguard Worker src: ":generate_hash_v1", 286*33f37583SAndroid Build Coastguard Worker filename: "hash.txt", 287*33f37583SAndroid Build Coastguard Worker installable: false, 288*33f37583SAndroid Build Coastguard Worker} 289*33f37583SAndroid Build Coastguard Worker 290*33f37583SAndroid Build Coastguard Workerprebuilt_etc { 291*33f37583SAndroid Build Coastguard Worker name: "allowlist", 292*33f37583SAndroid Build Coastguard Worker srcs: [ 293*33f37583SAndroid Build Coastguard Worker "signature-permission-allowlist.xml", 294*33f37583SAndroid Build Coastguard Worker ], 295*33f37583SAndroid Build Coastguard Worker sub_dir: "permissions", 296*33f37583SAndroid Build Coastguard Worker installable: false, 297*33f37583SAndroid Build Coastguard Worker} 298*33f37583SAndroid Build Coastguard Worker 299*33f37583SAndroid Build Coastguard Workerapex { 300*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v1", 301*33f37583SAndroid Build Coastguard Worker manifest: "manifest.json", 302*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 303*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 304*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 305*33f37583SAndroid Build Coastguard Worker prebuilts: [ 306*33f37583SAndroid Build Coastguard Worker "hash_v1", 307*33f37583SAndroid Build Coastguard Worker "allowlist", 308*33f37583SAndroid Build Coastguard Worker ], 309*33f37583SAndroid Build Coastguard Worker apps: [ 310*33f37583SAndroid Build Coastguard Worker "CtsShim", 311*33f37583SAndroid Build Coastguard Worker "CtsShimPriv", 312*33f37583SAndroid Build Coastguard Worker ], 313*33f37583SAndroid Build Coastguard Worker allowed_files: "default_shim_allowed_list.txt", 314*33f37583SAndroid Build Coastguard Worker updatable: false, 315*33f37583SAndroid Build Coastguard Worker} 316*33f37583SAndroid Build Coastguard Worker 317*33f37583SAndroid Build Coastguard Workergenrule { 318*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim_not_pre_installed.pem", 319*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim_not_pre_installed.pem"], 320*33f37583SAndroid Build Coastguard Worker cmd: "openssl genrsa -out $(out) 4096", 321*33f37583SAndroid Build Coastguard Worker} 322*33f37583SAndroid Build Coastguard Worker 323*33f37583SAndroid Build Coastguard Workergenrule { 324*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim_not_pre_installed.pubkey", 325*33f37583SAndroid Build Coastguard Worker srcs: [":com.android.apex.cts.shim_not_pre_installed.pem"], 326*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim_not_pre_installed.pubkey"], 327*33f37583SAndroid Build Coastguard Worker tools: ["avbtool"], 328*33f37583SAndroid Build Coastguard Worker cmd: "$(location avbtool) extract_public_key --key $(in) --output $(out)", 329*33f37583SAndroid Build Coastguard Worker} 330*33f37583SAndroid Build Coastguard Worker 331*33f37583SAndroid Build Coastguard Workerapex_key { 332*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim_not_pre_installed.key", 333*33f37583SAndroid Build Coastguard Worker private_key: ":com.android.apex.cts.shim_not_pre_installed.pem", 334*33f37583SAndroid Build Coastguard Worker public_key: ":com.android.apex.cts.shim_not_pre_installed.pubkey", 335*33f37583SAndroid Build Coastguard Worker installable: false, 336*33f37583SAndroid Build Coastguard Worker} 337*33f37583SAndroid Build Coastguard Worker 338*33f37583SAndroid Build Coastguard Workerapex { 339*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim_not_pre_installed", 340*33f37583SAndroid Build Coastguard Worker manifest: "manifest_not_pre_installed.json", 341*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifestNotPreInstalled.xml", 342*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 343*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim_not_pre_installed.key", 344*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 345*33f37583SAndroid Build Coastguard Worker installable: false, 346*33f37583SAndroid Build Coastguard Worker updatable: false, 347*33f37583SAndroid Build Coastguard Worker} 348*33f37583SAndroid Build Coastguard Worker 349*33f37583SAndroid Build Coastguard Workerapex { 350*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_different_certificate", 351*33f37583SAndroid Build Coastguard Worker // Use manifest_v2_rebootless to also re-use this APEX in the rebootless update test case. 352*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 353*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 354*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 355*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 356*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 357*33f37583SAndroid Build Coastguard Worker installable: false, 358*33f37583SAndroid Build Coastguard Worker certificate: ":com.android.apex.cts.shim.debug.cert", 359*33f37583SAndroid Build Coastguard Worker updatable: false, 360*33f37583SAndroid Build Coastguard Worker} 361*33f37583SAndroid Build Coastguard Worker 362*33f37583SAndroid Build Coastguard Workerandroid_app_certificate { 363*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.debug.cert", 364*33f37583SAndroid Build Coastguard Worker certificate: "com.android.apex.cts.shim.debug.cert", 365*33f37583SAndroid Build Coastguard Worker} 366*33f37583SAndroid Build Coastguard Worker 367*33f37583SAndroid Build Coastguard Worker// Build rules to build shim apex with rotated keys 368*33f37583SAndroid Build Coastguard Worker 369*33f37583SAndroid Build Coastguard Worker// We name the original key used to sign cts.shim.v1 package as alice. 370*33f37583SAndroid Build Coastguard Worker// We then create a second key called bob. The second key bob is used to rotate the 371*33f37583SAndroid Build Coastguard Worker// original key alice. 372*33f37583SAndroid Build Coastguard Worker 373*33f37583SAndroid Build Coastguard Worker// Create private key bob in pem format 374*33f37583SAndroid Build Coastguard Workergenrule { 375*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.rotation.key.bob.pem", 376*33f37583SAndroid Build Coastguard Worker out: ["bob.pem"], 377*33f37583SAndroid Build Coastguard Worker cmd: "openssl req -x509 -newkey rsa:4096 -nodes -days 999999 -subj '/DN=/[email protected]/CN=Android/OU=Android/O=Android/L=Mountain View/ST=California/C=US' -keyout $(out)", 378*33f37583SAndroid Build Coastguard Worker} 379*33f37583SAndroid Build Coastguard Worker 380*33f37583SAndroid Build Coastguard Worker// Converts bob's private key to pk8 format 381*33f37583SAndroid Build Coastguard Workergenrule { 382*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.rotation.key.bob.pk8", 383*33f37583SAndroid Build Coastguard Worker srcs: [":com.android.apex.rotation.key.bob.pem"], 384*33f37583SAndroid Build Coastguard Worker out: ["bob.pk8"], 385*33f37583SAndroid Build Coastguard Worker cmd: "openssl pkcs8 -topk8 -inform PEM -outform DER -in $(in) -out $(out) -nocrypt", 386*33f37583SAndroid Build Coastguard Worker} 387*33f37583SAndroid Build Coastguard Worker 388*33f37583SAndroid Build Coastguard Worker// Extract bob's public key from its private key 389*33f37583SAndroid Build Coastguard Workergenrule { 390*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.rotation.key.bob.x509.pem", 391*33f37583SAndroid Build Coastguard Worker srcs: [":com.android.apex.rotation.key.bob.pem"], 392*33f37583SAndroid Build Coastguard Worker out: ["bob.x509.pem"], 393*33f37583SAndroid Build Coastguard Worker cmd: "openssl req -x509 -key $(in) -newkey rsa:4096 -nodes -days 999999 -subj '/DN=/[email protected]/CN=Android/OU=Android/O=Android/L=Mountain View/ST=California/C=US' -out $(out)", 394*33f37583SAndroid Build Coastguard Worker} 395*33f37583SAndroid Build Coastguard Worker 396*33f37583SAndroid Build Coastguard Worker// Create lineage file for rotating alice to bob 397*33f37583SAndroid Build Coastguard Workergenrule { 398*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.rotation.key.bob.rot", 399*33f37583SAndroid Build Coastguard Worker srcs: [ 400*33f37583SAndroid Build Coastguard Worker "alice.pk8", 401*33f37583SAndroid Build Coastguard Worker "alice.x509.pem", 402*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.pk8", 403*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.x509.pem", 404*33f37583SAndroid Build Coastguard Worker ], 405*33f37583SAndroid Build Coastguard Worker out: ["bob.rot"], 406*33f37583SAndroid Build Coastguard Worker tools: [":apksigner"], 407*33f37583SAndroid Build Coastguard Worker cmd: "$(location :apksigner) rotate --out $(out) --old-signer --key $(location alice.pk8) --cert $(location alice.x509.pem) --new-signer --key $(location :com.android.apex.rotation.key.bob.pk8) --cert $(location :com.android.apex.rotation.key.bob.x509.pem)", 408*33f37583SAndroid Build Coastguard Worker} 409*33f37583SAndroid Build Coastguard Worker 410*33f37583SAndroid Build Coastguard Worker// Create lineage file for rotating alice to bob with rollback capability 411*33f37583SAndroid Build Coastguard Workergenrule { 412*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.rotation.key.bob.rot.rollback", 413*33f37583SAndroid Build Coastguard Worker srcs: [ 414*33f37583SAndroid Build Coastguard Worker "alice.pk8", 415*33f37583SAndroid Build Coastguard Worker "alice.x509.pem", 416*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.pk8", 417*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.x509.pem", 418*33f37583SAndroid Build Coastguard Worker ], 419*33f37583SAndroid Build Coastguard Worker out: ["bob.rot"], 420*33f37583SAndroid Build Coastguard Worker tools: [":apksigner"], 421*33f37583SAndroid Build Coastguard Worker cmd: "$(location :apksigner) rotate --out $(out) --old-signer --key $(location alice.pk8) --cert $(location alice.x509.pem) --set-rollback true --new-signer --key $(location :com.android.apex.rotation.key.bob.pk8) --cert $(location :com.android.apex.rotation.key.bob.x509.pem)", 422*33f37583SAndroid Build Coastguard Worker} 423*33f37583SAndroid Build Coastguard Worker 424*33f37583SAndroid Build Coastguard Worker// v2 cts shim package signed by bob, without lineage 425*33f37583SAndroid Build Coastguard Workerjava_genrule { 426*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_signed_bob", 427*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.v2_signed_bob"], 428*33f37583SAndroid Build Coastguard Worker tools: [":apksigner"], 429*33f37583SAndroid Build Coastguard Worker srcs: [ 430*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2", 431*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.x509.pem", 432*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.pk8", 433*33f37583SAndroid Build Coastguard Worker ], 434*33f37583SAndroid Build Coastguard Worker dist: { 435*33f37583SAndroid Build Coastguard Worker targets: ["com.android.apex.cts.shim.v2_signed_bob"], 436*33f37583SAndroid Build Coastguard Worker dest: "com.android.apex.cts.shim.v2_signed_bob.apex", 437*33f37583SAndroid Build Coastguard Worker }, 438*33f37583SAndroid Build Coastguard Worker cmd: "$(location :apksigner) sign --v1-signing-enabled false --v2-signing-enabled false --key $(location :com.android.apex.rotation.key.bob.pk8) --cert $(location :com.android.apex.rotation.key.bob.x509.pem) --out $(out) $(location :com.android.apex.cts.shim.v2)", 439*33f37583SAndroid Build Coastguard Worker} 440*33f37583SAndroid Build Coastguard Worker 441*33f37583SAndroid Build Coastguard Worker// v2 cts shim package signed by bob + lineage 442*33f37583SAndroid Build Coastguard Workerjava_genrule { 443*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_signed_bob_rot", 444*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.v2_signed_bob_rot"], 445*33f37583SAndroid Build Coastguard Worker tools: [":apksigner"], 446*33f37583SAndroid Build Coastguard Worker srcs: [ 447*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2", 448*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.x509.pem", 449*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.pk8", 450*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.rot", 451*33f37583SAndroid Build Coastguard Worker ], 452*33f37583SAndroid Build Coastguard Worker dist: { 453*33f37583SAndroid Build Coastguard Worker targets: ["com.android.apex.cts.shim.v2_signed_bob_rot"], 454*33f37583SAndroid Build Coastguard Worker dest: "com.android.apex.cts.shim.v2_signed_bob_rot.apex", 455*33f37583SAndroid Build Coastguard Worker }, 456*33f37583SAndroid Build Coastguard Worker cmd: "$(location :apksigner) sign --v1-signing-enabled false --v2-signing-enabled false --key $(location :com.android.apex.rotation.key.bob.pk8) --cert $(location :com.android.apex.rotation.key.bob.x509.pem) --lineage $(location :com.android.apex.rotation.key.bob.rot) --rotation-min-sdk-version 28 --out $(out) $(location :com.android.apex.cts.shim.v2)", 457*33f37583SAndroid Build Coastguard Worker} 458*33f37583SAndroid Build Coastguard Worker 459*33f37583SAndroid Build Coastguard Worker// v2 cts shim package signed by bob + lineage + rollback capability 460*33f37583SAndroid Build Coastguard Workerjava_genrule { 461*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_signed_bob_rot_rollback", 462*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.v2_signed_bob_rot_rollback"], 463*33f37583SAndroid Build Coastguard Worker tools: [":apksigner"], 464*33f37583SAndroid Build Coastguard Worker srcs: [ 465*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v2", 466*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.x509.pem", 467*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.pk8", 468*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.rot.rollback", 469*33f37583SAndroid Build Coastguard Worker ], 470*33f37583SAndroid Build Coastguard Worker dist: { 471*33f37583SAndroid Build Coastguard Worker targets: ["com.android.apex.cts.shim.v2_signed_bob_rot_rollback"], 472*33f37583SAndroid Build Coastguard Worker dest: "com.android.apex.cts.shim.v2_signed_bob_rot_rollback.apex", 473*33f37583SAndroid Build Coastguard Worker }, 474*33f37583SAndroid Build Coastguard Worker cmd: "$(location :apksigner) sign --v1-signing-enabled false --v2-signing-enabled false --key $(location :com.android.apex.rotation.key.bob.pk8) --cert $(location :com.android.apex.rotation.key.bob.x509.pem) --lineage $(location :com.android.apex.rotation.key.bob.rot.rollback) --rotation-min-sdk-version 28 --out $(out) $(location :com.android.apex.cts.shim.v2)", 475*33f37583SAndroid Build Coastguard Worker} 476*33f37583SAndroid Build Coastguard Worker 477*33f37583SAndroid Build Coastguard Worker// v3 cts shim package signed by bob 478*33f37583SAndroid Build Coastguard Workerjava_genrule { 479*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v3_signed_bob", 480*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.v3_signed_bob"], 481*33f37583SAndroid Build Coastguard Worker tools: [":apksigner"], 482*33f37583SAndroid Build Coastguard Worker srcs: [ 483*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v3", 484*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.x509.pem", 485*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.pk8", 486*33f37583SAndroid Build Coastguard Worker ], 487*33f37583SAndroid Build Coastguard Worker dist: { 488*33f37583SAndroid Build Coastguard Worker targets: ["com.android.apex.cts.shim.v3_signed_bob"], 489*33f37583SAndroid Build Coastguard Worker dest: "com.android.apex.cts.shim.v3_signed_bob.apex", 490*33f37583SAndroid Build Coastguard Worker }, 491*33f37583SAndroid Build Coastguard Worker cmd: "$(location :apksigner) sign --v1-signing-enabled false --v2-signing-enabled false --key $(location :com.android.apex.rotation.key.bob.pk8) --cert $(location :com.android.apex.rotation.key.bob.x509.pem) --out $(out) $(location :com.android.apex.cts.shim.v3)", 492*33f37583SAndroid Build Coastguard Worker} 493*33f37583SAndroid Build Coastguard Worker 494*33f37583SAndroid Build Coastguard Worker// v3 cts shim package signed by bob + lineage 495*33f37583SAndroid Build Coastguard Workerjava_genrule { 496*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v3_signed_bob_rot", 497*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.v3_signed_bob_rot"], 498*33f37583SAndroid Build Coastguard Worker tools: [":apksigner"], 499*33f37583SAndroid Build Coastguard Worker srcs: [ 500*33f37583SAndroid Build Coastguard Worker ":com.android.apex.cts.shim.v3", 501*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.x509.pem", 502*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.pk8", 503*33f37583SAndroid Build Coastguard Worker ":com.android.apex.rotation.key.bob.rot", 504*33f37583SAndroid Build Coastguard Worker ], 505*33f37583SAndroid Build Coastguard Worker dist: { 506*33f37583SAndroid Build Coastguard Worker targets: ["com.android.apex.cts.shim.v3_signed_bob_rot"], 507*33f37583SAndroid Build Coastguard Worker dest: "com.android.apex.cts.shim.v3_signed_bob_rot.apex", 508*33f37583SAndroid Build Coastguard Worker }, 509*33f37583SAndroid Build Coastguard Worker cmd: "$(location :apksigner) sign --v1-signing-enabled false --v2-signing-enabled false --key $(location :com.android.apex.rotation.key.bob.pk8) --cert $(location :com.android.apex.rotation.key.bob.x509.pem) --lineage $(location :com.android.apex.rotation.key.bob.rot) --rotation-min-sdk-version 28 --out $(out) $(location :com.android.apex.cts.shim.v3)", 510*33f37583SAndroid Build Coastguard Worker} 511*33f37583SAndroid Build Coastguard Worker 512*33f37583SAndroid Build Coastguard Worker// This one is only used in ApexdHostTest and not meant to be installed 513*33f37583SAndroid Build Coastguard Worker// and hence shouldn't be allowed in hash.txt of v1 shim APEX. 514*33f37583SAndroid Build Coastguard Workerapex { 515*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_legacy", 516*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 517*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 518*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 519*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 520*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 521*33f37583SAndroid Build Coastguard Worker apps: [ 522*33f37583SAndroid Build Coastguard Worker "CtsShim", 523*33f37583SAndroid Build Coastguard Worker "CtsShimPriv", 524*33f37583SAndroid Build Coastguard Worker ], 525*33f37583SAndroid Build Coastguard Worker installable: false, 526*33f37583SAndroid Build Coastguard Worker min_sdk_version: "29", 527*33f37583SAndroid Build Coastguard Worker updatable: false, 528*33f37583SAndroid Build Coastguard Worker} 529*33f37583SAndroid Build Coastguard Worker 530*33f37583SAndroid Build Coastguard Workerjava_genrule { 531*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_no_pb", 532*33f37583SAndroid Build Coastguard Worker srcs: [":com.android.apex.cts.shim.v2_legacy"], 533*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.v2_no_pb.apex"], 534*33f37583SAndroid Build Coastguard Worker tools: ["zip2zip"], 535*33f37583SAndroid Build Coastguard Worker cmd: "$(location zip2zip) -i $(in) -x apex_manifest.pb -o $(out)", 536*33f37583SAndroid Build Coastguard Worker} 537*33f37583SAndroid Build Coastguard Worker 538*33f37583SAndroid Build Coastguard Worker// Apex shim that targets an old sdk (P) 539*33f37583SAndroid Build Coastguard Workerapex { 540*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_sdk_target_p", 541*33f37583SAndroid Build Coastguard Worker // Use manifest_v2_rebootless to also re-use this APEX in the rebootless update test case. 542*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 543*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifestSdkTargetP.xml", 544*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 545*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 546*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 547*33f37583SAndroid Build Coastguard Worker installable: false, 548*33f37583SAndroid Build Coastguard Worker apps: [ 549*33f37583SAndroid Build Coastguard Worker "CtsShim", 550*33f37583SAndroid Build Coastguard Worker "CtsShimPriv", 551*33f37583SAndroid Build Coastguard Worker ], 552*33f37583SAndroid Build Coastguard Worker updatable: false, 553*33f37583SAndroid Build Coastguard Worker} 554*33f37583SAndroid Build Coastguard Worker 555*33f37583SAndroid Build Coastguard Worker// Apex shim with apk-in-apex that targets sdk P 556*33f37583SAndroid Build Coastguard Workerapex { 557*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p", 558*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 559*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 560*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 561*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 562*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 563*33f37583SAndroid Build Coastguard Worker apps: ["CtsShimTargetPSdk"], 564*33f37583SAndroid Build Coastguard Worker installable: false, 565*33f37583SAndroid Build Coastguard Worker updatable: false, 566*33f37583SAndroid Build Coastguard Worker} 567*33f37583SAndroid Build Coastguard Worker 568*33f37583SAndroid Build Coastguard Worker// Apex shim with unsigned apk 569*33f37583SAndroid Build Coastguard Workerjava_genrule { 570*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_unsigned_apk_container", 571*33f37583SAndroid Build Coastguard Worker // Use shim.v2_rebootless to re-use same APEX in the rebootless update test case. 572*33f37583SAndroid Build Coastguard Worker srcs: [":com.android.apex.cts.shim.v2_rebootless"], 573*33f37583SAndroid Build Coastguard Worker out: ["com.android.apex.cts.shim.v2_unsigned_apk_container.apex"], 574*33f37583SAndroid Build Coastguard Worker cmd: "cp -v $(in) $(out) && zip -d $(out) META-INF*", 575*33f37583SAndroid Build Coastguard Worker dist: { 576*33f37583SAndroid Build Coastguard Worker targets: ["com.android.apex.cts.shim.v2_unsigned_apk_container"], 577*33f37583SAndroid Build Coastguard Worker dest: "com.android.apex.cts.shim.v2_unsigned_apk_container.apex", 578*33f37583SAndroid Build Coastguard Worker }, 579*33f37583SAndroid Build Coastguard Worker} 580*33f37583SAndroid Build Coastguard Worker 581*33f37583SAndroid Build Coastguard Worker// Apex shim for testing rebootless updates 582*33f37583SAndroid Build Coastguard Workerapex { 583*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_rebootless", 584*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2_rebootless.json", 585*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 586*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 587*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 588*33f37583SAndroid Build Coastguard Worker installable: false, 589*33f37583SAndroid Build Coastguard Worker updatable: false, 590*33f37583SAndroid Build Coastguard Worker} 591*33f37583SAndroid Build Coastguard Worker 592*33f37583SAndroid Build Coastguard Workerapex { 593*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v3_rebootless", 594*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v3_rebootless.json", 595*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 596*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 597*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 598*33f37583SAndroid Build Coastguard Worker installable: false, 599*33f37583SAndroid Build Coastguard Worker updatable: false, 600*33f37583SAndroid Build Coastguard Worker} 601*33f37583SAndroid Build Coastguard Worker 602*33f37583SAndroid Build Coastguard Worker// Apex shim with upgraded apk-in-apexes 603*33f37583SAndroid Build Coastguard Workerapex { 604*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_apk_in_apex_upgrades", 605*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 606*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifest.xml", 607*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 608*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 609*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 610*33f37583SAndroid Build Coastguard Worker apps: [ 611*33f37583SAndroid Build Coastguard Worker "CtsShim", 612*33f37583SAndroid Build Coastguard Worker "CtsShimPrivUpgrade", 613*33f37583SAndroid Build Coastguard Worker ], 614*33f37583SAndroid Build Coastguard Worker installable: false, 615*33f37583SAndroid Build Coastguard Worker updatable: false, 616*33f37583SAndroid Build Coastguard Worker} 617*33f37583SAndroid Build Coastguard Worker 618*33f37583SAndroid Build Coastguard Workerapex { 619*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_install_constraints_empty", 620*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 621*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifestInstallConstraints_empty.xml", 622*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 623*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 624*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 625*33f37583SAndroid Build Coastguard Worker installable: false, 626*33f37583SAndroid Build Coastguard Worker updatable: false, 627*33f37583SAndroid Build Coastguard Worker} 628*33f37583SAndroid Build Coastguard Worker 629*33f37583SAndroid Build Coastguard Workerapex { 630*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_install_constraints_invalid_fingerprint", 631*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 632*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifestInstallConstraints_invalid_fingerprint.xml", 633*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 634*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 635*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 636*33f37583SAndroid Build Coastguard Worker installable: false, 637*33f37583SAndroid Build Coastguard Worker updatable: false, 638*33f37583SAndroid Build Coastguard Worker} 639*33f37583SAndroid Build Coastguard Worker 640*33f37583SAndroid Build Coastguard Workerapex { 641*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_install_constraints_no_value", 642*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 643*33f37583SAndroid Build Coastguard Worker androidManifest: "AndroidManifestInstallConstraints_no_value.xml", 644*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 645*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 646*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 647*33f37583SAndroid Build Coastguard Worker installable: false, 648*33f37583SAndroid Build Coastguard Worker updatable: false, 649*33f37583SAndroid Build Coastguard Worker} 650*33f37583SAndroid Build Coastguard Worker 651*33f37583SAndroid Build Coastguard Worker// Apex shim for running a new app in an apex 652*33f37583SAndroid Build Coastguard Workerapex { 653*33f37583SAndroid Build Coastguard Worker name: "com.android.apex.cts.shim.v2_add_apk_to_apex", 654*33f37583SAndroid Build Coastguard Worker manifest: "manifest_v2.json", 655*33f37583SAndroid Build Coastguard Worker file_contexts: ":apex.test-file_contexts", 656*33f37583SAndroid Build Coastguard Worker key: "com.android.apex.cts.shim.key", 657*33f37583SAndroid Build Coastguard Worker prebuilts: ["hash_of_dev_null"], 658*33f37583SAndroid Build Coastguard Worker apps: ["CtsShimAddApkToApex"], 659*33f37583SAndroid Build Coastguard Worker installable: false, 660*33f37583SAndroid Build Coastguard Worker updatable: false, 661*33f37583SAndroid Build Coastguard Worker} 662