# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.85"
name = "dev-tools"
version = "0.9.7"
authors = ["James Gober <me@jamesgober.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust verification toolkit. Tests, benches, coverage, fuzz, security audit, dep hygiene, mutation, chaos, async, stress — one crate, opt in with feature flags."
homepage = "https://github.com/jamesgober/dev-tools"
documentation = "https://docs.rs/dev-tools"
readme = "README.md"
keywords = [
    "testing",
    "benchmark",
    "coverage",
    "fuzz",
    "audit",
]
categories = [
    "development-tools",
    "development-tools::testing",
    "development-tools::profiling",
]
license = "Apache-2.0"
repository = "https://github.com/jamesgober/dev-tools"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
async = ["dep:dev-async"]
bench = ["dep:dev-bench"]
chaos = ["dep:dev-chaos"]
ci = ["dep:dev-ci"]
cli = [
    "dep:clap",
    "coverage",
    "security",
    "deps",
    "ci",
    "fuzz",
    "flaky",
    "mutate",
    "bench",
    "dev-report/terminal",
    "dev-report/markdown",
    "dev-report/sarif",
    "dev-report/junit",
]
coverage = ["dep:dev-coverage"]
default = [
    "fixtures",
    "bench",
]
deps = ["dep:dev-deps"]
fixtures = ["dep:dev-fixtures"]
flaky = ["dep:dev-flaky"]
full = [
    "fixtures",
    "bench",
    "async",
    "stress",
    "chaos",
    "coverage",
    "security",
    "deps",
    "ci",
    "fuzz",
    "flaky",
    "mutate",
]
fuzz = ["dep:dev-fuzz"]
mutate = ["dep:dev-mutate"]
security = ["dep:dev-security"]
stress = ["dep:dev-stress"]

[lib]
name = "dev_tools"
path = "src/lib.rs"

[[bin]]
name = "dev"
path = "src/bin/dev.rs"
required-features = ["cli"]

[[example]]
name = "cargo_check_producer"
path = "examples/cargo_check_producer.rs"

[[example]]
name = "cargo_test_producer"
path = "examples/cargo_test_producer.rs"

[[example]]
name = "ci_generate"
path = "examples/ci_generate.rs"
required-features = ["ci"]

[[example]]
name = "clippy_producer"
path = "examples/clippy_producer.rs"

[[example]]
name = "coverage_basic"
path = "examples/coverage_basic.rs"
required-features = ["coverage"]

[[example]]
name = "deps_basic"
path = "examples/deps_basic.rs"
required-features = ["deps"]

[[example]]
name = "flaky_basic"
path = "examples/flaky_basic.rs"
required-features = ["flaky"]

[[example]]
name = "full_pipeline"
path = "examples/full_pipeline.rs"
required-features = [
    "coverage",
    "security",
    "flaky",
    "mutate",
]

[[example]]
name = "fuzz_basic"
path = "examples/fuzz_basic.rs"
required-features = ["fuzz"]

[[example]]
name = "html_meta_report"
path = "examples/html_meta_report.rs"

[[example]]
name = "mutate_basic"
path = "examples/mutate_basic.rs"
required-features = ["mutate"]

[[example]]
name = "prelude_demo"
path = "examples/prelude_demo.rs"

[[example]]
name = "report_only_consumer"
path = "examples/report_only_consumer.rs"

[[example]]
name = "security_basic"
path = "examples/security_basic.rs"
required-features = ["security"]

[[test]]
name = "smoke"
path = "tests/smoke.rs"

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.dev-async]
version = "0.9"
optional = true

[dependencies.dev-bench]
version = "0.9"
optional = true

[dependencies.dev-chaos]
version = "0.9"
optional = true

[dependencies.dev-ci]
version = "0.9"
optional = true

[dependencies.dev-coverage]
version = "0.9"
optional = true

[dependencies.dev-deps]
version = "0.9"
optional = true

[dependencies.dev-fixtures]
version = "0.9"
optional = true

[dependencies.dev-flaky]
version = "0.9"
optional = true

[dependencies.dev-fuzz]
version = "0.9"
optional = true

[dependencies.dev-mutate]
version = "0.9"
optional = true

[dependencies.dev-report]
version = "0.9"

[dependencies.dev-security]
version = "0.9"
optional = true

[dependencies.dev-stress]
version = "0.9"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dev-dependencies.chrono]
version = "0.4"
features = ["clock"]
default-features = false

[profile.release]
opt-level = 3
lto = "thin"
