"""
@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 "//bindgen/raze", which limits external
    # visibility to explicit Cargo.toml dependencies.
    "//visibility:public",
])

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

# Generated Targets

rust_library(
    name = "env_logger",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "atty",
        "default",
        "humantime",
        "regex",
        "termcolor",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=env_logger",
        "manual",
    ],
    version = "0.8.3",
    # buildifier: leave-alone
    deps = [
        "@rules_rust_bindgen__atty__0_2_14//:atty",
        "@rules_rust_bindgen__humantime__2_1_0//:humantime",
        "@rules_rust_bindgen__log__0_4_14//:log",
        "@rules_rust_bindgen__regex__1_5_4//:regex",
        "@rules_rust_bindgen__termcolor__1_1_2//:termcolor",
    ],
)

# Unsupported target "init-twice-retains-filter" with type "test" omitted

# Unsupported target "log-in-log" with type "test" omitted

# Unsupported target "log_tls_dtors" with type "test" omitted

# Unsupported target "regexp_filter" with type "test" omitted
