96 lines
2.3 KiB
Makefile
96 lines
2.3 KiB
Makefile
# CAD Automation Development Makefile
|
|
|
|
.PHONY: help install install-dev test test-cov test-watch lint format type-check clean build docs serve-docs
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Available commands:"
|
|
@echo " install Install package and dependencies"
|
|
@echo " install-dev Install package with development dependencies"
|
|
@echo " test Run tests"
|
|
@echo " test-cov Run tests with coverage report"
|
|
@echo " test-watch Run tests in watch mode"
|
|
@echo " lint Run linting"
|
|
@echo " format Format code with black"
|
|
@echo " type-check Run type checking with mypy"
|
|
@echo " clean Clean build artifacts and cache"
|
|
@echo " build Build package"
|
|
@echo " docs Generate documentation"
|
|
@echo " serve-docs Serve documentation locally"
|
|
@echo " ci Run full CI pipeline locally"
|
|
|
|
# Installation
|
|
install:
|
|
pip install -e .
|
|
|
|
install-dev:
|
|
pip install -e .[dev]
|
|
|
|
# Testing
|
|
test:
|
|
pytest tests/ -v
|
|
|
|
test-cov:
|
|
pytest tests/ --cov=src/cad_automation --cov-report=html --cov-report=term-missing
|
|
|
|
test-watch:
|
|
ptw tests/ --runner "pytest --cov=src/cad_automation"
|
|
|
|
# Code Quality
|
|
lint:
|
|
flake8 src/cad_automation tests
|
|
@echo "Linting completed"
|
|
|
|
format:
|
|
black src/cad_automation tests
|
|
isort src/cad_automation tests
|
|
@echo "Code formatting completed"
|
|
|
|
type-check:
|
|
mypy src/cad_automation
|
|
@echo "Type checking completed"
|
|
|
|
# Cleaning
|
|
clean:
|
|
rm -rf build/
|
|
rm -rf dist/
|
|
rm -rf *.egg-info/
|
|
rm -rf .coverage
|
|
rm -rf htmlcov/
|
|
rm -rf .pytest_cache/
|
|
rm -rf __pycache__/
|
|
rm -rf src/cad_automation/__pycache__/
|
|
rm -rf tests/__pycache__/
|
|
rm -rf .mypy_cache/
|
|
find . -type f -name "*.pyc" -delete
|
|
find . -type d -name "__pycache__" -delete
|
|
@echo "Clean completed"
|
|
|
|
# Build
|
|
build: clean
|
|
python -m build
|
|
@echo "Build completed"
|
|
|
|
# Development workflow
|
|
dev-setup: install-dev
|
|
pre-commit install
|
|
@echo "Development environment setup completed"
|
|
|
|
check-all: lint type-check test-cov
|
|
@echo "All checks passed!"
|
|
|
|
# CI simulation
|
|
ci: check-all build
|
|
@echo "CI pipeline completed successfully"
|
|
|
|
# Quick development cycle
|
|
dev: format type-check test
|
|
@echo "Development cycle completed"
|
|
|
|
# Documentation (placeholder for future implementation)
|
|
docs:
|
|
@echo "Documentation generation not yet implemented"
|
|
|
|
serve-docs:
|
|
@echo "Documentation serving not yet implemented"
|