1
0
mirror of https://github.com/enpaul/keyosk.git synced 2024-11-05 06:07:06 +00:00
keyosk/Makefile
Ethan Paul ca891dd1fb
Overhaul repository with newest bestest practices
Add typing stub file
Add metadata tests
Add missing dev dependencies
Add merge conflict check pre-commit
Add tox env for py3.9
Update license from MIT to GPL3
Update pyproject with pypi metadata
Update makefile to reduce duplication and add missing targets
Update dependencies to latest versions
Update pre-commit config to piggy back on poetry env
Update pyproject to use poetry-core
Update toxfile to use locked dependencies
Remove unused codeowners file
Remove placeholder test
2020-11-26 01:33:41 -05:00

49 lines
1.5 KiB
Makefile

# Keyosk makefile for building and deployment prep
VERSION = $(shell cat pyproject.toml | grep "^version =" | cut -d "\"" -f 2)
PROJECT = keyosk
.PHONY: help docs
# Put it first so that "make" without argument is like "make help"
# Shamelessly lifted from here:
# https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
help: ## List Makefile targets
$(info Makefile documentation)
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-10s\033[0m %s\n", $$1, $$2}'
tox:
poetry run tox
clean-tox:
rm --recursive --force ./.mypy_cache
rm --recursive --force ./.tox
rm --force .coverage
clean-py:
rm --recursive --force ./dist
rm --recursive --force ./build
rm --recursive --force ./*.egg-info
rm --recursive --force ./**/__pycache__
clean-docs:
rm --recursive --force ./docs/_build
rm --force ./docs/$(PROJECT)*.rst
rm --force ./docs/modules.rst
clean: clean-tox clean-py clean-docs; ## Clean up all temp build/cache files and directories
wheel: ## Build Python binary wheel package for distribution
poetry build --format wheel
source: ## Build Python source package for distribution
poetry build --format sdist
test: clean-tox ## Run the project testsuite
poetry run tox
publish: clean tox wheel source ## Build and upload to pypi (requires $PYPI_API_KEY be set)
@poetry publish --username __token__ --password $(PYPI_API_KEY)
docs: clean-docs ## Generate documentation with Sphinx
poetry run tox -e docs