version: "3"
vars:
CARGO: cargo
tasks:
default:
desc: List available tasks
cmds:
- task --list-all
fmt:
desc: Apply Rust formatting
aliases:
- fmt:fix
cmds:
- "{{.CARGO}} fmt"
fmt:check:
desc: Check Rust formatting
cmds:
- "{{.CARGO}} fmt -- --check"
check:
desc: Check the crate with default features
cmds:
- "{{.CARGO}} check"
check:all-features:
desc: Check the crate with all features
cmds:
- "{{.CARGO}} check --all-features --all-targets"
check:no-default-features:
desc: Check the crate without default features
cmds:
- "{{.CARGO}} check --no-default-features"
check:std:
desc: Check with std feature only
cmds:
- "{{.CARGO}} check --no-default-features --features std"
check:num-traits:
desc: Check with num-traits feature only (no_std + FloatCore)
cmds:
- "{{.CARGO}} check --no-default-features --features num-traits"
check:std-num-traits:
desc: Check with std + num-traits (std + Float)
cmds:
- "{{.CARGO}} check --no-default-features --features 'std,num-traits'"
lint:
desc: Check clippy lints for all targets and features
aliases:
- lint:check
cmds:
- "{{.CARGO}} clippy --all-features --all-targets"
lint:fix:
desc: Apply clippy fixes for all targets and features
aliases:
- clippy
cmds:
- "{{.CARGO}} clippy --fix --allow-dirty --all-features --all-targets"
build:
desc: Build the crate with default features
cmds:
- "{{.CARGO}} build"
test:
desc: Test all four feature combinations
cmds:
- task: test:default-features
- task: test:std
- task: test:num-traits
- task: test:std-num-traits
test:all:
desc: Test the crate with all features
aliases:
- test:all
cmds:
- "{{.CARGO}} test --all-features"
test:default-features:
desc: Test the crate with default features
aliases:
- test:default
cmds:
- "{{.CARGO}} test"
test:no-default-features:
desc: Test the crate without default features
cmds:
- "{{.CARGO}} test --no-default-features"
test:std:
desc: Test with std feature only (no num-traits)
cmds:
- "{{.CARGO}} test --no-default-features --features std"
test:num-traits:
desc: Test with num-traits only (no_std + FloatCore)
cmds:
- "{{.CARGO}} test --no-default-features --features num-traits"
test:std-num-traits:
desc: Test with std + num-traits
cmds:
- "{{.CARGO}} test --no-default-features --features 'std,num-traits'"
verify:
desc: Run formatting checks, static checks, clippy, and the test matrix
deps:
- fmt:check
- check
- check:std
- check:num-traits
- check:std-num-traits
- check:all-features
- lint:check
- test
- test:default-features
- test:std
- test:num-traits
- test:std-num-traits
clean:
desc: Remove Cargo build artifacts
cmds:
- "{{.CARGO}} clean"
docs:
desc: Build rustdoc
aliases:
- doc
cmds:
- "{{.CARGO}} doc --no-deps --all-features"
docs:open:
desc: Build rustdoc (and open them)
aliases:
- doc:open
cmds:
- "{{.CARGO}} doc --no-deps --all-features --open"