-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
56 lines (43 loc) · 1.46 KB
/
Makefile
File metadata and controls
56 lines (43 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
.PHONY: help install dev-install test lint format type-check quality clean build publish
help:
@echo "feelpp-aptly-publisher development commands:"
@echo ""
@echo " make install - Install package"
@echo " make dev-install - Install package with dev dependencies"
@echo " make test - Run tests"
@echo " make lint - Run flake8 linter"
@echo " make format - Format code with black"
@echo " make type-check - Run mypy type checker"
@echo " make quality - Run all quality checks (lint + type-check + format-check)"
@echo " make clean - Clean build artifacts"
@echo " make build - Build package"
@echo " make publish - Publish to PyPI (requires credentials)"
@echo " make test-publish - Publish to Test PyPI"
install:
uv pip install .
dev-install:
uv pip install -e ".[dev]"
test:
pytest -v --cov=feelpp_aptly_publisher --cov-report=term-missing --cov-report=html
lint:
flake8 src/ tests/
format:
black src/ tests/
format-check:
black --check src/ tests/
type-check:
mypy src/
quality: format-check lint type-check
@echo "✓ All quality checks passed!"
clean:
rm -rf build/ dist/ *.egg-info .pytest_cache .coverage htmlcov/
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
find . -type f -name "*.pyc" -delete
build: clean
python -m build
test-publish: build
twine check dist/*
twine upload --repository testpypi dist/*
publish: build
twine check dist/*
twine upload dist/*