DOCS_MIN := 100
LCOV := lcov.info
.DEFAULT_GOAL := check
.PHONY: check test coverage coverage-html docs-coverage lint security deny machete msrv clean-coverage
check: lint test docs-coverage security
test:
cargo test
coverage:
cargo llvm-cov --lcov --output-path $(LCOV)
cargo llvm-cov report --summary-only
coverage-html:
cargo llvm-cov --html
docs-coverage:
@cargo +nightly rustdoc --lib -- \
-Z unstable-options --show-coverage --output-format=json 2>/dev/null \
| DOCS_MIN=$(DOCS_MIN) python3 scripts/docs_coverage.py
lint:
cargo fmt --check
cargo clippy --all-targets -- -D warnings
security: deny machete
deny:
cargo deny check
machete:
cargo machete
msrv:
cargo +1.92 check --all-targets
clean-coverage:
cargo llvm-cov clean --workspace
rm -f $(LCOV)