###############################################################################
# @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.56//:anyhow",
    tags = ["manual"],
)

alias(
    name = "cargo-lock",
    actual = "@crate_universe_crate_index__cargo-lock-7.0.1//: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.4//:cargo_toml",
    tags = ["manual"],
)

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

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

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

alias(
    name = "hex",
    actual = "@crate_universe_crate_index__hex-0.4.3//:hex",
    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.5//:regex",
    tags = ["manual"],
)

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

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

alias(
    name = "serde_json",
    actual = "@crate_universe_crate_index__serde_json-1.0.79//: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.15.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.8//:toml",
    tags = ["manual"],
)

# Binaries
alias(
    name = "cargo-lock__cargo-lock",
    actual = "@crate_universe_crate_index__cargo-lock-7.0.1//: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 = "phf_generator__gen_hash_test",
    actual = "@crate_universe_crate_index__phf_generator-0.10.0//:gen_hash_test__bin",
    tags = ["manual"],
)
