From c67963fcb924df691c646eacd09781d4003a09fe Mon Sep 17 00:00:00 2001 From: JP White Date: Sat, 27 Feb 2021 10:34:22 -0500 Subject: [PATCH] Adding makefile --- Makefile | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ee6eca3 --- /dev/null +++ b/Makefile @@ -0,0 +1,66 @@ +.PHONY: clean clean-test clean-pyc clean-build docs help +.DEFAULT_GOAL := help + +define PRINT_HELP_PYSCRIPT +import re, sys + +for line in sys.stdin: + match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line) + if match: + target, help = match.groups() + print("%-20s %s" % (target, help)) +endef +export PRINT_HELP_PYSCRIPT + +help: + @python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST) + +clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts + +clean-build: ## remove build artifacts + rm -fr build/ + rm -fr dist/ + rm -fr .eggs/ + find . -name '*.egg-info' -exec rm -fr {} + + find . -name '*.egg' -exec rm -f {} + + +clean-pyc: ## remove Python file artifacts + find . -name '*.pyc' -exec rm -f {} + + find . -name '*.pyo' -exec rm -f {} + + find . -name '*~' -exec rm -f {} + + find . -name '__pycache__' -exec rm -fr {} + + +clean-test: ## remove test and coverage artifacts + rm -fr .tox/ + rm -f .coverage + rm -fr htmlcov/ + rm -fr .pytest_cache + +lint: ## check style with flake8 + black gitinspector --line-length 120 + find . -name '*.py' -exec autopep8 -i {} --max-line-length=120 \; + flake8 gitinspector tests --max-line-length=120 + +test: ## run tests quickly with the default Python + py.test + +test-debug: ## run tests with debugging enabled + LOGLEVEL=debug; py.test -s --pdb + +test-coverage: ## check code coverage quickly with the default Python + coverage run --source gitinspector -m pytest + coverage report -m + +release: dist ## package and upload a release + twine upload dist/* + +dist: clean ## builds source and wheel package + python3 setup.py sdist + python3 setup.py bdist_wheel + ls -l dist + +install: clean ## install the package to the active Python's site-packages + python3 setup.py install + +requirements: + pipenv lock -r --dev > requirements_dev.txt \ No newline at end of file