.PHONY: help
help:
@echo 'atomic-lti-tool - LTI Tool for Actix-web'
@echo ''
@echo 'Usage: make [target]'
@echo ''
@echo 'Targets:'
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-15s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.PHONY: test
test:
cargo test
.PHONY: test-unit
test-unit:
cargo test --lib
.PHONY: test-integration
test-integration:
cargo test --test '*'
.PHONY: test-verbose
test-verbose:
cargo test -- --nocapture
.PHONY: test-specific
test-specific: ## Run specific test(s) by name (usage: make test-specific TEST=test_name)
cargo test $(TEST) -- --nocapture
.PHONY: coverage
coverage:
cargo tarpaulin --out Stdout
.PHONY: coverage-html
coverage-html:
cargo tarpaulin --out Html
@echo "Coverage report generated at target/tarpaulin/tarpaulin-report.html"
.PHONY: lint
lint:
cargo clippy -- -D warnings
.PHONY: fmt
fmt:
cargo fmt
.PHONY: fmt-check
fmt-check:
cargo fmt -- --check
.PHONY: build
build:
cargo build
.PHONY: release
release:
cargo build --release
.PHONY: clean
clean:
cargo clean
rm -rf target/tarpaulin
.PHONY: docs
docs:
cargo doc --no-deps
.PHONY: docs-open
docs-open:
cargo doc --no-deps --open
.PHONY: deps-check
deps-check:
cargo outdated
.PHONY: deps-update
deps-update:
cargo update
.PHONY: check
check:
cargo check
.PHONY: example
example:
@echo "No examples configured yet"
.PHONY: pre-commit
pre-commit: fmt lint test
.DEFAULT_GOAL := help