mirror of
https://github.com/enpaul/keyosk.git
synced 2024-11-24 23:47:49 +00:00
Ethan Paul
ca891dd1fb
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
49 lines
1.5 KiB
Makefile
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
|