.PHONY: help test test-coverage build clean docs lint fmt check install-tools pr-ready
.DEFAULT_GOAL := help
help:
@echo "Available targets:"
@awk 'BEGIN {FS = ":.*##"} /^[a-zA-Z0-9_-]+:.*##/ {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
test:
cargo test --verbose
test-coverage:
cargo tarpaulin --verbose --all-features --workspace --timeout 120
test-release:
cargo test --release --verbose
build:
cargo build --verbose
build-release:
cargo build --release --verbose
clean:
cargo clean
docs:
cargo doc --no-deps --all-features --open
lint:
cargo clippy --all-targets --all-features -- -D warnings
fmt:
cargo fmt --all
fmt-check:
cargo fmt --all -- --check
audit:
cargo audit
install-tools:
cargo install cargo-tarpaulin cargo-audit cargo-watch
check: fmt-check lint test
pr-ready: fmt check test-coverage
watch:
cargo watch -x test