"""
@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 "//wasm_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_binary(
    # Prefix bin name to disambiguate from (probable) collision with lib name
    # N.B.: The exact form of this is subject to change.
    name = "cargo_bin_form_test",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "buf_redux",
        "httparse",
        "quick-error",
        "safemem",
        "server",
        "twoway",
    ],
    crate_root = "src/bin/form_test.rs",
    data = [],
    edition = "2015",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=form_test",
        "manual",
    ],
    version = "0.18.0",
    # buildifier: leave-alone
    deps = [
        ":multipart",
        "@rules_rust_wasm_bindgen__buf_redux__0_8_4//:buf_redux",
        "@rules_rust_wasm_bindgen__httparse__1_5_1//:httparse",
        "@rules_rust_wasm_bindgen__log__0_4_14//:log",
        "@rules_rust_wasm_bindgen__mime__0_3_16//:mime",
        "@rules_rust_wasm_bindgen__mime_guess__2_0_3//:mime_guess",
        "@rules_rust_wasm_bindgen__quick_error__1_2_3//:quick_error",
        "@rules_rust_wasm_bindgen__rand__0_8_4//:rand",
        "@rules_rust_wasm_bindgen__safemem__0_3_3//:safemem",
        "@rules_rust_wasm_bindgen__tempfile__3_2_0//:tempfile",
        "@rules_rust_wasm_bindgen__twoway__0_1_8//:twoway",
    ],
)

# Unsupported target "hyper_client" with type "example" omitted

# Unsupported target "hyper_reqbuilder" with type "example" omitted

# Unsupported target "hyper_server" with type "example" omitted

# Unsupported target "iron" with type "example" omitted

# Unsupported target "iron_intercept" with type "example" omitted

# Unsupported target "nickel" with type "example" omitted

# Unsupported target "rocket" with type "example" omitted

# Unsupported target "tiny_http" with type "example" omitted

rust_library(
    name = "multipart",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "buf_redux",
        "httparse",
        "quick-error",
        "safemem",
        "server",
        "twoway",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2015",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=multipart",
        "manual",
    ],
    version = "0.18.0",
    # buildifier: leave-alone
    deps = [
        "@rules_rust_wasm_bindgen__buf_redux__0_8_4//:buf_redux",
        "@rules_rust_wasm_bindgen__httparse__1_5_1//:httparse",
        "@rules_rust_wasm_bindgen__log__0_4_14//:log",
        "@rules_rust_wasm_bindgen__mime__0_3_16//:mime",
        "@rules_rust_wasm_bindgen__mime_guess__2_0_3//:mime_guess",
        "@rules_rust_wasm_bindgen__quick_error__1_2_3//:quick_error",
        "@rules_rust_wasm_bindgen__rand__0_8_4//:rand",
        "@rules_rust_wasm_bindgen__safemem__0_3_3//:safemem",
        "@rules_rust_wasm_bindgen__tempfile__3_2_0//:tempfile",
        "@rules_rust_wasm_bindgen__twoway__0_1_8//:twoway",
    ],
)
