// 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_futures-executor_license"],
    default_team: "trendy_team_android_rust",
}

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

rust_test {
    name: "futures-executor_test_src_lib",
    host_supported: true,
    crate_name: "futures_executor",
    cargo_env_compat: true,
    cargo_pkg_version: "0.3.30",
    crate_root: "src/lib.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    features: [
        "num_cpus",
        "std",
        "thread-pool",
    ],
    rustlibs: [
        "libfutures",
        "libfutures_core",
        "libfutures_task",
        "libfutures_util",
        "libnum_cpus",
    ],
}

rust_test {
    name: "futures-executor_test_tests_local_pool",
    host_supported: true,
    crate_name: "local_pool",
    cargo_env_compat: true,
    cargo_pkg_version: "0.3.30",
    crate_root: "tests/local_pool.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    features: [
        "num_cpus",
        "std",
        "thread-pool",
    ],
    rustlibs: [
        "libfutures",
        "libfutures_core",
        "libfutures_executor",
        "libfutures_task",
        "libfutures_util",
        "libnum_cpus",
    ],
}

rust_library {
    name: "libfutures_executor",
    host_supported: true,
    crate_name: "futures_executor",
    cargo_env_compat: true,
    cargo_pkg_version: "0.3.30",
    crate_root: "src/lib.rs",
    edition: "2018",
    features: [
        "num_cpus",
        "std",
        "thread-pool",
    ],
    rustlibs: [
        "libfutures_core",
        "libfutures_task",
        "libfutures_util",
        "libnum_cpus",
    ],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "29",
}
