gerbonara/Makefile

46 wiersze
1.2 KiB
Makefile

PYTHON ?= python
PYTEST ?= pytest
SPHINX_BUILD ?= sphinx-build
.DEFAULT_GOAL := help
.PHONY: clean docs test test-coverage install sdist bdist_wheel upload testupload help
all: docs sdist bdist_wheel
clean: ## Clean up project directory
find . -name '*.pyc' -delete
rm -rf *.egg-info
rm -f .coverage
rm -f coverage.xml
rm -rf docs/_build
docs: ## Generate documentation
sphinx-build -E docs docs/_build
test: ## Run tests
$(PYTEST)
test-coverage: ## Generate coverage
rm -f .coverage
rm -f coverage.xml
$(PYTEST) --cov=./ --cov-report=xml
install: ## Install locally
PYTHONPATH=. $(PYTHON) setup.py install
sdist: ## Build source distribution
python3 setup.py sdist
bdist_wheel: ## Build binary distribution
python3 setup.py bdist_wheel
upload: sdist bdist_wheel ## Upload Python package to PyPI
twine upload -s -i gerbonara@jaseg.de --config-file ~/.pypirc --skip-existing --repository pypi dist/*
testupload: sdist bdist_wheel ## Upload Python package to test PyPI
twine upload --config-file ~/.pypirc --skip-existing --repository testpypi dist/*
help: ## Display this help
@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'