// This file is generated by cargo_embargo.
// Do not modify this file because the changes will be overridden on upgrade.

package {
    default_applicable_licenses: ["external_rust_crates_zeroize_license"],
    default_team: "trendy_team_android_rust",
}

license {
    name: "external_rust_crates_zeroize_license",
    visibility: [":__subpackages__"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["LICENSE"],
}

rust_library {
    name: "libzeroize",
    host_supported: true,
    crate_name: "zeroize",
    cargo_env_compat: true,
    cargo_pkg_version: "1.8.1",
    crate_root: "src/lib.rs",
    edition: "2021",
    features: [
        "alloc",
        "zeroize_derive",
    ],
    proc_macros: ["libzeroize_derive"],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "Tiramisu",
}

rust_test {
    name: "zeroize_test_tests_zeroize",
    host_supported: true,
    crate_name: "zeroize",
    cargo_env_compat: true,
    cargo_pkg_version: "1.8.1",
    crate_root: "tests/zeroize.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2021",
    features: [
        "alloc",
        "zeroize_derive",
    ],
    rustlibs: ["libzeroize"],
    proc_macros: ["libzeroize_derive"],
}

rust_test {
    name: "zeroize_test_tests_zeroize_derive",
    host_supported: true,
    crate_name: "zeroize_derive",
    cargo_env_compat: true,
    cargo_pkg_version: "1.8.1",
    crate_root: "tests/zeroize_derive.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2021",
    features: [
        "alloc",
        "zeroize_derive",
    ],
    rustlibs: ["libzeroize"],
    proc_macros: ["libzeroize_derive"],
}

rust_library_rlib {
    name: "libzeroize_nostd",
    crate_name: "zeroize",
    cargo_env_compat: true,
    cargo_pkg_version: "1.8.1",
    crate_root: "src/lib.rs",
    edition: "2021",
    features: [
        "alloc",
        "zeroize_derive",
    ],
    proc_macros: ["libzeroize_derive"],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    prefer_rlib: true,
    no_stdlibs: true,
    stdlibs: [
        "liballoc.rust_sysroot",
        "libcompiler_builtins.rust_sysroot",
        "libcore.rust_sysroot",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "Tiramisu",
}

dirgroup {
    name: "trusty_dirgroup_external_rust_crates_zeroize",
    visibility: ["//trusty/vendor/google/aosp/scripts"],
    dirs: ["."],
}
