.PHONY: all build test test-unit test-integration lint fmt fmt-check clean release install smoke-test help
all: fmt-check lint test build
build:
cargo build
release:
cargo build --release
test:
cargo test
test-unit:
cargo test --lib
test-integration:
cargo test --test cli_test
lint:
cargo clippy -- -D warnings
fmt:
cargo fmt
fmt-check:
cargo fmt -- --check
clean:
cargo clean
install: release
cargo install --path .
smoke-test: build
@echo "=== Resolve checkout schema for create ==="
./target/debug/ucp-schema resolve tests/fixtures/checkout.json --request --op create --pretty
@echo "\n=== Resolve checkout schema for update ==="
./target/debug/ucp-schema resolve tests/fixtures/checkout.json --request --op update --pretty
help:
@echo "Available targets:"
@echo " all - fmt-check, lint, test, build (default)"
@echo " build - Build debug binary"
@echo " release - Build optimized release binary"
@echo " test - Run all tests"
@echo " test-unit - Run unit tests only"
@echo " test-integration - Run CLI integration tests only"
@echo " lint - Run clippy linter"
@echo " fmt - Format code with rustfmt"
@echo " fmt-check - Check code formatting (CI)"
@echo " clean - Remove build artifacts"
@echo " install - Install release binary to ~/.cargo/bin"
@echo " smoke-test - Quick manual test with checkout fixture"