croshet 0.1.0

Cross platform Unix-like shell scripting library
Documentation
[tools]
rust = { version = "1.89.0", profile = "default", components = "rustfmt,rust-src,rust-analyzer" }
"ubi:mozilla/sccache" = { version = "0.10.0", matching_regex = "sccache-v.*" }
"github:lune-org/lune" = "0.10.2"

[env]
RUSTC_WRAPPER = "sccache"

[tasks.check]
description = "Run checks for formatting and linting (ensures locked and all features)"
shell = "bash -c"
run = [
    "cargo fmt --check",
    'CARGO_TARGET={{option(name="target")}} cargo clippy --locked --all-features ${CARGO_TARGET:+--features "$CARGO_TARGET"}',
]

[tasks.test]
description = "Run integration, doc, and other tests (ensures locked and all features)"
shell = "bash -c"
run = """
CARGO_TARGET={{option(name="target")}} cargo test \
    --locked \
    --all-features \
    ${CARGO_TARGET:+--features "$CARGO_TARGET"} \
    {{arg(name="test_name", var = true, default = "")}}
"""

[tasks.build]
description = "Build with release optimatizations (ensures locked all features)"
shell = "bash -c"
run = """
CARGO_TARGET={{option(name="target")}} cargo build \
    --locked \
    --all-features \
    ${CARGO_TARGET:+--features "$CARGO_TARGET"}
"""

[settings]
experimental = true
lockfile = true