// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package {
    default_team: "trendy_team_framework_android_packages",
    default_applicable_licenses: ["Android-Apache-2.0"],
}

java_test_host {
    name: "CtsStagedInstallHostTestCases",
    defaults: ["cts_defaults"],
    srcs: [
        "src/**/*.java",
        ":apex-info-list",
    ],
    libs: [
        "cts-tradefed",
        "cts-shim-host-lib",
        "tradefed",
        "truth",
        "hamcrest",
        "hamcrest-library",
    ],
    static_libs: ["cts-install-lib-host"],
    data: [
        ":deapexer.zip",
    ],
    device_common_data: [
        ":StagedInstallTest",
    ],
    test_suites: [
        "cts",
        "general-tests",
        "mts",
    ],
}

android_test_helper_app {
    name: "StagedInstallTest",
    srcs: ["app/src/**/*.java"],
    manifest: "app/AndroidManifest.xml",
    java_resources: [
        ":ApexKeyRotationTestV2_SignedBob",
        ":ApexKeyRotationTestV2_SignedBobRot",
        ":ApexKeyRotationTestV2_SignedBobRotRollback",
        ":ApexKeyRotationTestV3_SignedBob",
        ":ApexKeyRotationTestV3_SignedBobRot",
        ":StagedInstallTestApexV1_NotPreInstalled",
        ":StagedInstallTestApexV2_AdditionalFile",
        ":StagedInstallTestApexV2_AdditionalFolder",
        ":StagedInstallTestApexV2_DifferentCertificate",
        ":StagedInstallTestApexV2_DifferentPackageName",
        ":StagedInstallTestApexV2_WithPostInstallHook",
        ":StagedInstallTestApexV2_WithPreInstallHook",
        ":StagedInstallTestApexV2_WrongSha",
        ":StagedInstallTestApexV2_WithoutApkInApex",
        ":StagedInstallTestAppSamePackageNameAsApex",
        ":StagedInstallTestApexV2_SdkTargetP",
        ":StagedInstallTestApexV2_ApkInApexSdkTargetP",
        ":StagedInstallTestCorruptedApex_b146895998",
        ":StagedInstallTestApexV2_NoApkSignature",
        ":StagedInstallTestApexV2_UnsignedPayload",
        ":StagedInstallTestApexV2_SignPayloadWithDifferentKey",
        ":StagedInstallTestApexV2_Rebootless",
        ":StagedInstallTestApexV3_Rebootless",
    ],
    static_libs: [
        "androidx.test.runner",
        "androidx.test.core",
        "truth",
        "cts-install-lib",
    ],
    sdk_version: "test_current",
    test_suites: ["device-tests"],

}

android_test_helper_app {
    name: "StagedInstallTestAppSamePackageNameAsApex",

    srcs: ["testdata/apk/src/**/*java"],

    manifest: "testdata/apk/StagedInstallTestAppSamePackageNameAsApex.xml",
}

prebuilt_apex {
    name: "ApexKeyRotationTestV2_SignedBob",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_signed_bob.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_signed_bob.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_signed_bob.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_signed_bob.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_signed_bob.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_signed_bob.apex",
    installable: false,
}

prebuilt_apex {
    name: "ApexKeyRotationTestV2_SignedBobRot",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_signed_bob_rot.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_signed_bob_rot.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_signed_bob_rot.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_signed_bob_rot.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_signed_bob_rot.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_signed_bob_rot.apex",
    installable: false,
}

prebuilt_apex {
    name: "ApexKeyRotationTestV2_SignedBobRotRollback",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_signed_bob_rot_rollback.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_signed_bob_rot_rollback.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_signed_bob_rot_rollback.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_signed_bob_rot_rollback.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_signed_bob_rot_rollback.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_signed_bob_rot_rollback.apex",
    installable: false,
}

prebuilt_apex {
    name: "ApexKeyRotationTestV3_SignedBob",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3_signed_bob.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3_signed_bob.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v3_signed_bob.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3_signed_bob.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3_signed_bob.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v3_signed_bob.apex",
    installable: false,
}

prebuilt_apex {
    name: "ApexKeyRotationTestV3_SignedBobRot",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3_signed_bob_rot.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3_signed_bob_rot.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v3_signed_bob_rot.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3_signed_bob_rot.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3_signed_bob_rot.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v3_signed_bob_rot.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV1",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v1.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v1.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v1.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v1.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v1.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v1.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV3",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v3.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v3.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_AddApkToApex",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_add_apk_to_apex.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_add_apk_to_apex.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_add_apk_to_apex.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_add_apk_to_apex.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_add_apk_to_apex.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_add_apk_to_apex.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_AdditionalFile",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_additional_file.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_additional_file.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_additional_file.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_additional_file.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_additional_file.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_additional_file.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_AdditionalFolder",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_additional_folder.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_additional_folder.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_additional_folder.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_additional_folder.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_additional_folder.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_additional_folder.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_WithPostInstallHook",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_with_post_install_hook.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_with_post_install_hook.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_with_post_install_hook.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_with_post_install_hook.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_with_post_install_hook.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_with_post_install_hook.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_WithPreInstallHook",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_with_pre_install_hook.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_with_pre_install_hook.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_with_pre_install_hook.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_with_pre_install_hook.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_with_pre_install_hook.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_with_pre_install_hook.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_WrongSha",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_wrong_sha.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_wrong_sha.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_wrong_sha.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_wrong_sha.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_wrong_sha.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_wrong_sha.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_WithoutApkInApex",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_without_apk_in_apex.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_without_apk_in_apex.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_without_apk_in_apex.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_without_apk_in_apex.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_without_apk_in_apex.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_without_apk_in_apex.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV1_NotPreInstalled",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim_not_pre_installed.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim_not_pre_installed.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim_not_pre_installed.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim_not_pre_installed.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim_not_pre_installed.apex",
        },
    },
    filename: "com.android.apex.cts.shim_not_pre_installed.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_DifferentCertificate",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_different_certificate.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_different_certificate.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_different_certificate.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_different_certificate.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_different_certificate.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_different_certificate.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_DifferentPackageName",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_different_package_name.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_different_package_name.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_different_package_name.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_different_package_name.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_different_package_name.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_different_package_name.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_SdkTargetP",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_sdk_target_p.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_sdk_target_p.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_sdk_target_p.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_sdk_target_p.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_sdk_target_p.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_sdk_target_p.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_ApkInApexSdkTargetP",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestCorruptedApex_b146895998",
    src: "testdata/apex/corrupted_b146895998.apex",
    filename: "corrupted_b146895998.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_NoApkSignature",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_unsigned_apk_container.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_unsigned_apk_container.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_unsigned_apk_container.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_unsigned_apk_container.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_unsigned_apk_container.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_unsigned_apk_container.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_UnsignedPayload",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_unsigned_payload.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_unsigned_payload.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_unsigned_payload.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_unsigned_payload.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_unsigned_payload.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_unsigned_payload.apex",
    installable: false,
}

ApexFilenameSigningPayloadWithDifferentKey = "com.android.apex.cts.shim.v2_sign_payload_with_different_key.apex"
prebuilt_apex {
    name: "StagedInstallTestApexV2_SignPayloadWithDifferentKey",
    arch: {
        arm: {
            src: "testdata/apex/arm/" + ApexFilenameSigningPayloadWithDifferentKey,
        },
        arm64: {
            src: "testdata/apex/arm/" + ApexFilenameSigningPayloadWithDifferentKey,
        },
        x86: {
            src: "testdata/apex/x86/" + ApexFilenameSigningPayloadWithDifferentKey,
        },
        x86_64: {
            src: "testdata/apex/x86/" + ApexFilenameSigningPayloadWithDifferentKey,
        },
    },
    filename: ApexFilenameSigningPayloadWithDifferentKey,
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV2_Rebootless",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_rebootless.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v2_rebootless.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v2_rebootless.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_rebootless.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v2_rebootless.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v2_rebootless.apex",
    installable: false,
}

prebuilt_apex {
    name: "StagedInstallTestApexV3_Rebootless",
    arch: {
        arm: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3_rebootless.apex",
        },
        arm64: {
            src: "testdata/apex/arm/com.android.apex.cts.shim.v3_rebootless.apex",
        },
        riscv64: {
            src: "testdata/apex/riscv64/com.android.apex.cts.shim.v3_rebootless.apex",
        },
        x86: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3_rebootless.apex",
        },
        x86_64: {
            src: "testdata/apex/x86/com.android.apex.cts.shim.v3_rebootless.apex",
        },
    },
    filename: "com.android.apex.cts.shim.v3_rebootless.apex",
    installable: false,
}

// collects deapexer and its dependency modules (libc++ and debugfs_static) to the zip file.
genrule {
    name: "deapexer.zip",
    tools: [
        "deapexer",
        "debugfs_static",
        "fsck.erofs",
        "soong_zip",
    ],
    cmd: "rm -rf mkdir $(genDir)/deapexer && mkdir $(genDir)/deapexer && " +
        "cp $(location deapexer) $(genDir)/deapexer && " +
        "cp $(location debugfs_static) $(genDir)/deapexer && " +
        "cp $(location fsck.erofs) $(genDir)/deapexer && " +
        "HOST_OUT_SHARED_LIBRARIES=$$(dirname $(location deapexer))/../lib64 && " +
        "cp $${HOST_OUT_SHARED_LIBRARIES}/libc++.* $(genDir)/deapexer && " +
        "$(location soong_zip) -o $(out) -C $(genDir)/deapexer -D $(genDir)/deapexer",
    out: ["deapexer.zip"],
}

test_module_config_host {
    name: "CtsStagedInstallHostTestCases_NoLarge",
    base: "CtsStagedInstallHostTestCases",
    test_suites: ["general-tests"],
    exclude_annotations: ["android.platform.test.annotations.LargeTest"],
}
