###############################################################################
# @generated
# This file is auto-generated by the cargo-bazel tool.
#
# DO NOT MODIFY: Local changes may be replaced in future executions.
###############################################################################

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

exports_files(
    [
        "cargo-bazel.json",
        "defs.bzl",
        "crates.bzl",
    ] + glob([
        "*.bazel",
    ]),
)

filegroup(
    name = "srcs",
    srcs = glob([
        "*.bazel",
        "*.bzl",
    ]),
)

# Workspace Member Dependencies
alias(
    name = "anyhow",
    actual = "@crate_universe_crate_index__anyhow-1.0.58//:anyhow",
    tags = ["manual"],
)

alias(
    name = "cargo-lock",
    actual = "@crate_universe_crate_index__cargo-lock-8.0.2//:cargo_lock",
    tags = ["manual"],
)

alias(
    name = "cargo-platform",
    actual = "@crate_universe_crate_index__cargo-platform-0.1.2//:cargo_platform",
    tags = ["manual"],
)

alias(
    name = "cargo_metadata",
    actual = "@crate_universe_crate_index__cargo_metadata-0.14.2//:cargo_metadata",
    tags = ["manual"],
)

alias(
    name = "cargo_toml",
    actual = "@crate_universe_crate_index__cargo_toml-0.11.5//:cargo_toml",
    tags = ["manual"],
)

alias(
    name = "cfg-expr",
    actual = "@crate_universe_crate_index__cfg-expr-0.10.3//:cfg_expr",
    tags = ["manual"],
)

alias(
    name = "clap",
    actual = "@crate_universe_crate_index__clap-3.2.8//:clap",
    tags = ["manual"],
)

alias(
    name = "crates-index",
    actual = "@crate_universe_crate_index__crates-index-0.18.8//:crates_index",
    tags = ["manual"],
)

alias(
    name = "hex",
    actual = "@crate_universe_crate_index__hex-0.4.3//:hex",
    tags = ["manual"],
)

alias(
    name = "maplit",
    actual = "@crate_universe_crate_index__maplit-1.0.2//:maplit",
    tags = ["manual"],
)

alias(
    name = "normpath",
    actual = "@crate_universe_crate_index__normpath-0.3.2//:normpath",
    tags = ["manual"],
)

alias(
    name = "pathdiff",
    actual = "@crate_universe_crate_index__pathdiff-0.2.1//:pathdiff",
    tags = ["manual"],
)

alias(
    name = "regex",
    actual = "@crate_universe_crate_index__regex-1.5.6//:regex",
    tags = ["manual"],
)

alias(
    name = "semver",
    actual = "@crate_universe_crate_index__semver-1.0.11//:semver",
    tags = ["manual"],
)

alias(
    name = "serde",
    actual = "@crate_universe_crate_index__serde-1.0.137//:serde",
    tags = ["manual"],
)

alias(
    name = "serde_json",
    actual = "@crate_universe_crate_index__serde_json-1.0.82//:serde_json",
    tags = ["manual"],
)

alias(
    name = "sha2",
    actual = "@crate_universe_crate_index__sha2-0.10.2//:sha2",
    tags = ["manual"],
)

alias(
    name = "spectral",
    actual = "@crate_universe_crate_index__spectral-0.6.0//:spectral",
    tags = ["manual"],
)

alias(
    name = "tempfile",
    actual = "@crate_universe_crate_index__tempfile-3.3.0//:tempfile",
    tags = ["manual"],
)

alias(
    name = "tera",
    actual = "@crate_universe_crate_index__tera-1.16.0//:tera",
    tags = ["manual"],
)

alias(
    name = "textwrap",
    actual = "@crate_universe_crate_index__textwrap-0.15.0//:textwrap",
    tags = ["manual"],
)

alias(
    name = "toml",
    actual = "@crate_universe_crate_index__toml-0.5.9//:toml",
    tags = ["manual"],
)

# Binaries
alias(
    name = "cargo-lock__cargo-lock",
    actual = "@crate_universe_crate_index__cargo-lock-8.0.2//:cargo-lock__bin",
    tags = ["manual"],
)

alias(
    name = "cc__gcc-shim",
    actual = "@crate_universe_crate_index__cc-1.0.73//:gcc-shim__bin",
    tags = ["manual"],
)

alias(
    name = "clap__stdio-fixture",
    actual = "@crate_universe_crate_index__clap-3.2.8//:stdio-fixture__bin",
    tags = ["manual"],
)

alias(
    name = "phf_generator__gen_hash_test",
    actual = "@crate_universe_crate_index__phf_generator-0.10.0//:gen_hash_test__bin",
    tags = ["manual"],
)
