###############################################################################
# @generated
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
# regenerate this file, run the following:
#
#     bazel run @@//third-party:vendor
###############################################################################

load("@rules_rust//rust:defs.bzl", "rust_library")

package(default_visibility = ["//visibility:public"])

rust_library(
    name = "clap_builder",
    srcs = glob(
        include = ["**/*.rs"],
        allow_empty = False,
    ),
    compile_data = glob(
        include = ["**"],
        allow_empty = True,
        exclude = [
            "**/* *",
            ".tmp_git_root/**/*",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    crate_features = [
        "error-context",
        "help",
        "std",
        "usage",
    ],
    crate_root = "src/lib.rs",
    edition = "2021",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-bazel",
        "crate-name=clap_builder",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    target_compatible_with = select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
        "@rules_rust//rust/platform:aarch64-apple-ios": [],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
        "@rules_rust//rust/platform:aarch64-fuchsia": [],
        "@rules_rust//rust/platform:aarch64-linux-android": [],
        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
        "@rules_rust//rust/platform:i686-apple-darwin": [],
        "@rules_rust//rust/platform:i686-linux-android": [],
        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
        "@rules_rust//rust/platform:wasm32-wasi": [],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
        "@rules_rust//rust/platform:x86_64-apple-ios": [],
        "@rules_rust//rust/platform:x86_64-fuchsia": [],
        "@rules_rust//rust/platform:x86_64-linux-android": [],
        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
        "@rules_rust//rust/platform:x86_64-unknown-none": [],
        "//conditions:default": ["@platforms//:incompatible"],
    }),
    version = "4.5.1",
    deps = [
        "@vendor__anstyle-1.0.6//:anstyle",
        "@vendor__clap_lex-0.7.0//:clap_lex",
    ],
)
