// This file is generated by cargo_embargo.
// Do not modify this file after the first "rust_*" or "genrule" module
// because the changes will be overridden on upgrade.
// Content before the first "rust_*" or "genrule" module is preserved.

package {
    default_applicable_licenses: [
        "external_rust_crates_protobuf-codegen_license",
    ],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_protobuf-codegen_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE.txt",
    ],
}

rust_library_host {
    name: "libprotobuf_codegen",
    crate_name: "protobuf_codegen",
    cargo_env_compat: true,
    cargo_pkg_version: "3.2.0",
    crate_root: "src/lib.rs",
    edition: "2021",
    rustlibs: [
        "libanyhow",
        "libonce_cell",
        "libprotobuf",
        "libprotobuf_parse",
        "libregex",
        "libtempfile",
        "libthiserror",
    ],
}

rust_test_host {
    name: "protobuf-codegen_test_src_lib",
    crate_name: "protobuf_codegen",
    cargo_env_compat: true,
    cargo_pkg_version: "3.2.0",
    crate_root: "src/lib.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2021",
    rustlibs: [
        "libanyhow",
        "libonce_cell",
        "libprotobuf",
        "libprotobuf_parse",
        "libregex",
        "libtempfile",
        "libthiserror",
    ],
}

rust_binary_host {
    name: "protoc-gen-rust",
    crate_name: "protoc_gen_rust",
    cargo_env_compat: true,
    cargo_pkg_version: "3.2.0",
    crate_root: "src/bin/protoc-gen-rust.rs",
    edition: "2021",
    rustlibs: [
        "libanyhow",
        "libonce_cell",
        "libprotobuf",
        "libprotobuf_codegen",
        "libprotobuf_parse",
        "libregex",
        "libtempfile",
        "libthiserror",
    ],
}
