// 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_serde_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_serde_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE",
        "LICENSE-APACHE",
        "LICENSE-MIT",
    ],
}

rust_library {
    name: "libserde",
    host_supported: true,
    vendor_available: true,
    crate_name: "serde",
    cargo_env_compat: true,
    cargo_pkg_version: "1.0.130",
    srcs: ["src/lib.rs"],
    edition: "2015",
    features: [
        "default",
        "derive",
        "serde_derive",
        "std",
    ],
    cfgs: [
        "core_duration",
        "core_reverse",
        "core_try_from",
        "de_boxed_c_str",
        "de_boxed_path",
        "de_rc_dst",
        "integer128",
        "iterator_try_fold",
        "num_nonzero",
        "num_nonzero_signed",
        "ops_bound",
        "range_inclusive",
        "serde_derive",
        "std_atomic",
        "systemtime_checked_add",
    ],
    proc_macros: ["libserde_derive"],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
}

rust_defaults {
    name: "serde_test_defaults",
    crate_name: "serde",
    srcs: ["src/lib.rs"],
    cargo_env_compat: true,
    cargo_pkg_version: "1.0.130",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2015",
    features: [
        "default",
        "derive",
        "serde_derive",
        "std",
    ],
    cfgs: [
        "core_duration",
        "core_reverse",
        "core_try_from",
        "de_boxed_c_str",
        "de_boxed_path",
        "de_rc_dst",
        "integer128",
        "iterator_try_fold",
        "num_nonzero",
        "num_nonzero_signed",
        "ops_bound",
        "range_inclusive",
        "serde_derive",
        "std_atomic",
        "systemtime_checked_add",
    ],
    proc_macros: ["libserde_derive"],
}

rust_test_host {
    name: "serde_host_test_src_lib",
    defaults: ["serde_test_defaults"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "serde_device_test_src_lib",
    defaults: ["serde_test_defaults"],
}
