interpreter = ["bash", "-euo", "pipefail", "-c"]

[[task]]
name = "engage"
group = "versions"
script = "engage --version"

[[task]]
name = "nix"
group = "versions"
script = "nix --version"

[[task]]
name = "direnv"
group = "versions"
script = "direnv --version"

[[task]]
name = "rustc"
group = "versions"
script = "rustc --version"

[[task]]
name = "cargo"
group = "versions"
script = "cargo --version"

[[task]]
name = "cargo-fmt"
group = "versions"
script = "cargo fmt --version"

[[task]]
name = "rustdoc"
group = "versions"
script = "rustdoc --version"

[[task]]
name = "cargo-clippy"
group = "versions"
script = "cargo clippy -- --version"

[[task]]
name = "cargo-audit"
group = "versions"
script = "cargo audit --version"

[[task]]
name = "cargo-deb"
group = "versions"
script = "cargo deb --version"

[[task]]
name = "lychee"
group = "versions"
script = "lychee --version"

[[task]]
name = "cargo-audit"
group = "security"
script = "cargo audit -D warnings -D unmaintained -D unsound -D yanked --ignore RUSTSEC-2020-0016"

[[task]]
name = "cargo-fmt"
group = "lints"
script = "cargo fmt --check -- --color=always"

[[task]]
name = "cargo-doc"
group = "lints"
script = """
RUSTDOCFLAGS="-D warnings" cargo doc \
    --workspace \
    --all-features \
    --no-deps \
    --document-private-items \
    --color always
"""

[[task]]
name = "clippy/default"
group = "lints"
script = """
cargo clippy \
    --workspace \
    --all-targets \
    --color=always \
    -- \
    -D warnings
"""

[[task]]
name = "clippy/all"
group = "lints"
script = """
cargo clippy \
    --workspace \
    --all-targets \
    --all-features \
    --color=always \
    -- \
    -D warnings
"""

[[task]]
name = "clippy/jemalloc"
group = "lints"
script = """
cargo clippy \
    --workspace \
    --features jemalloc \
    --all-targets \
    --color=always \
    -- \
    -D warnings
"""

[[task]]
name = "clippy/hardened_malloc"
group = "lints"
script = """
cargo clippy \
    --workspace \
    --features hardened_malloc \
    --all-targets \
    --color=always \
    -- \
    -D warnings
"""

[[task]]
name = "lychee"
group = "lints"
script = "lychee --verbose --offline docs *.md"

[[task]]
name = "cargo"
group = "tests"
script = """
cargo test \
    --workspace \
    --all-targets \
    --all-features \
    --color=always \
    -- \
    --color=always
"""