.PHONY: help build test clean fmt lint docs bench install-dev publish-test
help:
@echo "Shlesha Development Commands:"
@echo " make build - Build all targets"
@echo " make test - Run all tests"
@echo " make fmt - Format code"
@echo " make lint - Run clippy lints"
@echo " make docs - Build documentation"
@echo " make bench - Run benchmarks"
@echo " make clean - Clean build artifacts"
@echo " make install-dev - Install development dependencies"
@echo " make python - Build Python wheel"
@echo " make wasm - Build WASM package"
@echo " make publish-test - Publish to test registries"
build:
cargo build --all-features
test:
cargo test --all-features
cargo test --doc
fmt:
cargo fmt
lint:
cargo clippy --all-features -- -D warnings
docs:
cargo doc --all-features --no-deps --open
bench:
cargo bench
clean:
cargo clean
rm -rf pkg pkg-node
rm -rf target/wheels
install-dev:
rustup component add rustfmt clippy
cargo install cargo-tarpaulin cargo-audit wasm-pack
pip install maturin pytest
python:
maturin build --features python
wasm:
wasm-pack build --target web --out-dir pkg --features wasm
publish-test: fmt lint test
@echo "Testing Python publish..."
maturin build --features python
@echo "Testing WASM publish..."
wasm-pack build --target web --out-dir pkg --features wasm
cd pkg && npm pack
@echo "Testing crates.io publish..."
cargo publish --dry-run