.PHONY: help install lint test build publish clean

help:
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \
		awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[36m%-12s\033[0m %s\n", $$1, $$2}'

install:  ## Installe la brique + extras test dans le venv courant
	pip install -e ".[test]"

lint:  ## Ruff (check + format --check)
	ruff check src tests
	ruff format --check src tests

test:  ## pytest (unitaires purs + DDL idempotent si Docker dispo)
	pytest

build:  ## Construit sdist + wheel
	python -m build

publish:  ## Publie sur le registre PyPI Gitea (cf. .github/workflows/publish-fin-core.yml)
	@echo "Publication via CI (workflow_dispatch). En local : twine upload --repository-url \\"
	@echo "  https://git.mapfarm.cloud/api/packages/mapfarm/pypi dist/* (token write:package)."

clean:  ## Nettoie les artefacts de build
	rm -rf dist build ./*.egg-info src/*.egg-info .pytest_cache .ruff_cache
