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



rust_library {
    name: "libwebpki",
    host_supported: true,
    crate_name: "webpki",
    srcs: ["src/lib.rs"],
    edition: "2018",
    rustlibs: [
        "libring",
        "libuntrusted",
    ],
}

rust_defaults {
    name: "webpki_test_defaults",
    crate_name: "webpki",
    srcs: ["src/lib.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    rustlibs: [
        "libbase64_rust",
        "libring",
        "libuntrusted",
    ],
}

rust_test_host {
    name: "webpki_host_test_src_lib",
    defaults: ["webpki_test_defaults"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "webpki_device_test_src_lib",
    defaults: ["webpki_test_defaults"],
}

rust_defaults {
    name: "webpki_test_defaults_webpki",
    crate_name: "webpki",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    rustlibs: [
        "libbase64_rust",
        "libring",
        "libuntrusted",
        "libwebpki",
    ],
}

rust_test_host {
    name: "webpki_host_test_tests_dns_name_tests",
    defaults: ["webpki_test_defaults_webpki"],
    srcs: ["tests/dns_name_tests.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "webpki_device_test_tests_dns_name_tests",
    defaults: ["webpki_test_defaults_webpki"],
    srcs: ["tests/dns_name_tests.rs"],
}

rust_test_host {
    name: "webpki_host_test_tests_integration",
    defaults: ["webpki_test_defaults_webpki"],
    srcs: ["tests/integration.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "webpki_device_test_tests_integration",
    defaults: ["webpki_test_defaults_webpki"],
    srcs: ["tests/integration.rs"],
}
