[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