irox-tools 0.9.2

Stuff that should have been in the Rust STL, but aren't
Documentation
#!/usr/bin/env -S just --justfile
set fallback

default +FLAGS='': (build FLAGS) (test FLAGS) (lints FLAGS)

ci +FLAGS='': build test lints_deny

features := "std alloc std,alloc"

build +FLAGS='':
    #!/bin/bash
    set -euo pipefail
    just logstart irox-tools::build-base
    cargo build {{FLAGS}}
    just logend
    for feature in {{features}}; do
        just logstart irox-tools::build-$feature
        cargo build --features $feature {{FLAGS}}
        just logend
    done

test +FLAGS='':
    #!/bin/bash
    set -euo pipefail
    just logstart irox-tools::test-base
    cargo test {{FLAGS}}
    just logend
    for feature in {{features}}; do
        just logstart irox-tools::test-$feature
        cargo test --features $feature {{FLAGS}}
        just logend
    done

lints +FLAGS='':
    @just logstart lints
    cargo clippy --bins --lib --examples --no-default-features {{FLAGS}} --
    cargo clippy --bins --lib --examples --all-features {{FLAGS}} --
    @just logend

lints_deny +FLAGS='':
    @just logstart lints
    cargo clippy --bins --lib --examples --no-default-features {{FLAGS}} -- -Dwarnings
    cargo clippy --bins --lib --examples --all-features {{FLAGS}} -- -Dwarnings
    @just logend