// 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: "libbase64_rust",
    stem: "libbase64",
    host_supported: true,
    crate_name: "base64",
    srcs: ["src/lib.rs"],
    edition: "2018",
    features: [
        "default",
        "std",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.resolv",
    ],
    min_sdk_version: "29",
}

rust_defaults {
    name: "base64_defaults_base64",
    crate_name: "base64",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    features: [
        "default",
        "std",
    ],
    rustlibs: [
        "libbase64_rust",
        "libcriterion",
        "librand",
        "libstructopt",
    ],
}

rust_test_host {
    name: "base64_host_test_tests_decode",
    defaults: ["base64_defaults_base64"],
    srcs: ["tests/decode.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "base64_device_test_tests_decode",
    defaults: ["base64_defaults_base64"],
    srcs: ["tests/decode.rs"],
}

rust_test_host {
    name: "base64_host_test_tests_encode",
    defaults: ["base64_defaults_base64"],
    srcs: ["tests/encode.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "base64_device_test_tests_encode",
    defaults: ["base64_defaults_base64"],
    srcs: ["tests/encode.rs"],
}

rust_test_host {
    name: "base64_host_test_tests_helpers",
    defaults: ["base64_defaults_base64"],
    srcs: ["tests/helpers.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "base64_device_test_tests_helpers",
    defaults: ["base64_defaults_base64"],
    srcs: ["tests/helpers.rs"],
}

