// This file is generated by cargo2android.py --config cargo2android.json.
// Do not modify this file as changes will be overridden on upgrade.

package {
    default_applicable_licenses: [
        "external_rust_crates_crossbeam-utils_license",
    ],
}

// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
//
// large-scale-change included anything that looked like it might be a license
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
//
// Please consider removing redundant or irrelevant files from 'license_text:'.
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_crossbeam-utils_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE-APACHE",
        "LICENSE-MIT",
    ],
}

rust_defaults {
    name: "crossbeam-utils_test_defaults",
    crate_name: "crossbeam_utils",
    srcs: ["src/lib.rs"],
    cargo_env_compat: true,
    cargo_pkg_version: "0.8.5",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    features: [
        "default",
        "lazy_static",
        "std",
    ],
    rustlibs: [
        "libcfg_if",
        "liblazy_static",
        "librand",
    ],
}

rust_test_host {
    name: "crossbeam-utils_host_test_src_lib",
    defaults: ["crossbeam-utils_test_defaults"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "crossbeam-utils_device_test_src_lib",
    defaults: ["crossbeam-utils_test_defaults"],
}

rust_defaults {
    name: "crossbeam-utils_test_defaults_crossbeam_utils",
    crate_name: "crossbeam_utils",
    cargo_env_compat: true,
    cargo_pkg_version: "0.8.5",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    features: [
        "default",
        "lazy_static",
        "std",
    ],
    rustlibs: [
        "libcfg_if",
        "libcrossbeam_utils",
        "liblazy_static",
        "librand",
    ],
}

rust_test_host {
    name: "crossbeam-utils_host_test_tests_atomic_cell",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/atomic_cell.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "crossbeam-utils_device_test_tests_atomic_cell",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/atomic_cell.rs"],
}

rust_test_host {
    name: "crossbeam-utils_host_test_tests_cache_padded",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/cache_padded.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "crossbeam-utils_device_test_tests_cache_padded",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/cache_padded.rs"],
}

rust_test_host {
    name: "crossbeam-utils_host_test_tests_parker",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/parker.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "crossbeam-utils_device_test_tests_parker",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/parker.rs"],
}

rust_test_host {
    name: "crossbeam-utils_host_test_tests_sharded_lock",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/sharded_lock.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "crossbeam-utils_device_test_tests_sharded_lock",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/sharded_lock.rs"],
}

rust_test_host {
    name: "crossbeam-utils_host_test_tests_thread",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/thread.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "crossbeam-utils_device_test_tests_thread",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/thread.rs"],
}

rust_test_host {
    name: "crossbeam-utils_host_test_tests_wait_group",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/wait_group.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "crossbeam-utils_device_test_tests_wait_group",
    defaults: ["crossbeam-utils_test_defaults_crossbeam_utils"],
    srcs: ["tests/wait_group.rs"],
}

rust_library {
    name: "libcrossbeam_utils",
    host_supported: true,
    crate_name: "crossbeam_utils",
    cargo_env_compat: true,
    cargo_pkg_version: "0.8.5",
    srcs: ["src/lib.rs"],
    edition: "2018",
    features: [
        "default",
        "lazy_static",
        "std",
    ],
    rustlibs: [
        "libcfg_if",
        "liblazy_static",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
}
