"""
@generated
cargo-raze crate build file.

DO NOT EDIT! Replaced on runs of cargo-raze
"""

# buildifier: disable=load
load("@bazel_skylib//lib:selects.bzl", "selects")

# buildifier: disable=load
load(
    "@rules_rust//rust:defs.bzl",
    "rust_binary",
    "rust_library",
    "rust_proc_macro",
    "rust_test",
)

package(default_visibility = [
    # Public for visibility by "@raze__crate__version//" targets.
    #
    # Prefer access through "//third_party/rust/cargo", which limits external
    # visibility to explicit Cargo.toml dependencies.
    "//visibility:public",
])

licenses([
    "notice",  # Apache-2.0 from expression "Apache-2.0"
])

# Generated Targets

rust_library(
    name = "prost_build",
    srcs = glob(["**/*.rs"]),
    crate_root = "src/lib.rs",
    data = [],
    edition = "2021",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=prost-build",
        "manual",
    ],
    version = "0.11.9",
    # buildifier: leave-alone
    deps = [
        "@raze__bytes__1_5_0//:bytes",
        "@raze__heck__0_4_1//:heck",
        "@raze__itertools__0_10_5//:itertools",
        "@raze__lazy_static__1_4_0//:lazy_static",
        "@raze__log__0_4_20//:log",
        "@raze__multimap__0_8_3//:multimap",
        "@raze__petgraph__0_6_4//:petgraph",
        "@raze__prost__0_11_9//:prost",
        "@raze__prost_types__0_11_9//:prost_types",
        "@raze__regex__1_9_6//:regex",
        "@raze__tempfile__3_8_0//:tempfile",
        "@raze__which__4_4_2//:which",
    ],
)
