|
.PHONY: help install install-dev test test-cov lint format clean build publish
|
|
|
|
help:
|
|
@echo "PR Assistant - Development Commands"
|
|
@echo ""
|
|
@echo "Available commands:"
|
|
@echo " make install - Install package"
|
|
@echo " make install-dev - Install with development dependencies"
|
|
@echo " make test - Run tests"
|
|
@echo " make test-cov - Run tests with coverage report"
|
|
@echo " make lint - Run linters (flake8, mypy)"
|
|
@echo " make format - Format code with black and isort"
|
|
@echo " make clean - Remove build artifacts"
|
|
@echo " make build - Build distribution packages"
|
|
@echo " make publish - Publish to PyPI (use with caution)"
|
|
@echo " make pre-commit - Run pre-commit hooks on all files"
|
|
@echo " make docs - Generate documentation"
|
|
|
|
install:
|
|
pip install -e .
|
|
|
|
install-dev:
|
|
pip install -e ".[dev]"
|
|
pre-commit install
|
|
|
|
test:
|
|
pytest tests/ -v --tb=long --full-trace -l --maxfail=10
|
|
|
|
test-cov:
|
|
pytest --cov=rp --cov-report=html --cov-report=term-missing
|
|
@echo "Coverage report generated in htmlcov/index.html"
|
|
|
|
lint:
|
|
flake8 rp tests --max-line-length=100 --ignore=E203,W503
|
|
mypy rp --ignore-missing-imports
|
|
|
|
format:
|
|
black rp tests
|
|
isort rp tests --profile black
|
|
|
|
clean:
|
|
rm -rf build/
|
|
rm -rf dist/
|
|
rm -rf *.egg-info
|
|
rm -rf .pytest_cache/
|
|
rm -rf .mypy_cache/
|
|
rm -rf htmlcov/
|
|
rm -rf .coverage
|
|
find . -type d -name __pycache__ -exec rm -rf {} +
|
|
find . -type f -name "*.pyc" -delete
|
|
|
|
build: clean
|
|
black .
|
|
autoflake --in-place --remove-all-unused-imports --remove-unused-variables --recursive .
|
|
python -m build
|
|
|
|
publish: build
|
|
python -m twine upload dist/*
|
|
|
|
pre-commit:
|
|
pre-commit run --all-files
|
|
|
|
check: lint test
|
|
@echo "All checks passed!"
|
|
|
|
backup:
|
|
zip -r rp.zip *
|
|
mv rp.zip ../
|
|
|
|
serve:
|
|
rpserver
|
|
|
|
|
|
implode: build
|
|
if [ -d $(HOME)/bin ]; then \
|
|
python -m rp.implode rp.py -o $(HOME)/bin/rp; \
|
|
chmod +x $(HOME)/bin/rp; \
|
|
fi
|
|
|
|
.DEFAULT_GOAL := help
|