| default: help |
| |
| # Get a list of recipes you can run |
| @help: |
| just --list |
| |
| # Install required tools for development |
| setup: (_cargo-install 'cargo-nextest') _install-spell-check |
| |
| # Run all the checks required for CI to pass |
| ci: spell-check lint test |
| |
| # Format the code |
| fmt: |
| cargo +nightly fmt --all |
| |
| # Check the formatting of the code but don't actually format it |
| fmt-check: |
| cargo +nightly fmt --all --check |
| |
| # Lint the code |
| lint: fmt-check |
| cargo clippy --all-targets -- -Dwarnings |
| cargo clippy --all-targets --no-default-features -- -Dwarnings |
| cargo clippy --all-targets --all-features -- -Dwarnings |
| |
| # Run benchmarks |
| bench $RUSTFLAGS='-Ctarget-cpu=native': |
| cargo bench |
| |
| # Run the test suite |
| test TEST_RUNNER='cargo nextest run': setup |
| {{ TEST_RUNNER }} |
| {{ TEST_RUNNER }} --no-default-features |
| {{ TEST_RUNNER }} --all-features |
| |
| # Check for typos |
| spell-check: _install-spell-check |
| |
| @update-contributors: |
| echo 'Removing old CONTRIBUTORS.md' |
| mv CONTRIBUTORS.md CONTRIBUTORS.md.bak |
| echo 'Downloading a list of new contributors' |
| echo "the following is a list of contributors:" > CONTRIBUTORS.md |
| echo "" >> CONTRIBUTORS.md |
| echo "" >> CONTRIBUTORS.md |
| githubcontrib --owner kbknapp --repo cargo-outdated --sha master --cols 6 --format md --showlogin true --sortBy contributions --sortOrder desc >> CONTRIBUTORS.md |
| echo "" >> CONTRIBUTORS.md |
| echo "" >> CONTRIBUTORS.md |
| echo "This list was generated by [mgechev/github-contributors-list](https://github.com/mgechev/github-contributors-list)" >> CONTRIBUTORS.md |
| rm CONTRIBUTORS.md.bak |
| |
| run-test TEST: |
| cargo test --test {{TEST}} |
| |
| debug TEST: |
| cargo test --test {{TEST}} --features debug |
| |
| run-tests: |
| cargo test --features "yaml unstable" |
| |
| clean: |
| cargo clean |
| |
| ## |
| # |
| # Helpers |
| ## |
| |
| [unix] |
| _install-spell-check: |
| #!/usr/bin/env bash |
| set -euo pipefail |
| if ! command -v typos 2>&1 >/dev/null ; then |
| cargo install typos-cli --force |
| fi |
| |
| [windows] |
| _install-spell-check: |
| #!powershell.exe |
| $ret = Get-Command typos >$null 2>$null |
| |
| if (! $?) { |
| cargo install typos-cli --force |
| } |
| |
| _cargo-install TOOL: |
| cargo install {{TOOL}} |