| Index: makefile |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/makefile |
| @@ -0,0 +1,72 @@ |
| +# Automation of common development operations. |
|
Sebastian Noack
2016/03/14 11:16:01
A makefile, doesn't seem appropriate for a Python
Vasily Kuznetsov
2016/03/14 12:04:29
The makefile is not necessary to build or install
Sebastian Noack
2016/03/14 12:19:22
Flask and Requests aren't the best examples for be
Vasily Kuznetsov
2016/03/14 17:20:41
Ok, let me try to implement the same functionality
|
| + |
| +.PHONY: devenv clean install uninstall test testcov htmlcov |
| + |
| +PACKAGE=python_abp |
| +MODULE=abp |
| +DEVENV=__ |
| +TESTS=tests |
| + |
| +PYTHON=${DEVENV}/bin/python |
| +PIP=${DEVENV}/bin/pip |
| +PYTEST=${DEVENV}/bin/py.test |
| +TOX=${DEVENV}/bin/tox |
| + |
| +help: |
| + @echo |
| + @echo "This makefile automates common development operations." |
| + @echo |
| + @echo " Usage: make <target>" |
| + @echo |
| + @echo "Where target is one of:" |
| + @echo |
| + @echo " devenv -- Create development environment" |
| + @echo " test -- Run the tests with default version of python" |
| + @echo " testcov -- Output test coverage report to console" |
| + @echo " htmlcov -- Generate test coverage report in HTML" |
| + @echo " testall -- Run the tests with all supported python versions" |
| + @echo " syntaxcheck -- Check syntax with flake8" |
| + @echo " diffpep8 -- Find PEP8-non-compliance" |
| + @echo " fixpep8 -- Fix PEP8-non-compliance (MIGHT CHANGE SOURCE)" |
| + @echo " install -- Install module and script with default python" |
| + @echo " uninstall -- Uninstall from default python" |
| + @echo " clean -- Remove testing and build artifacts" |
| + @echo |
| + |
| +devenv: ${DEVENV} |
| + |
| +${DEVENV}: |
| + virtualenv ${DEVENV} |
| + ${PIP} install pytest pytest-cov tox flake8 autopep8 |
| + ${PYTHON} setup.py develop |
| + |
| +test: ${DEVENV} |
| + ${PYTEST} ${TESTS} |
| + |
| +testcov: ${DEVENV} |
| + ${PYTEST} --cov=${MODULE} ${TESTS} |
| + |
| +htmlcov: ${DEVENV} |
| + ${PYTEST} --cov-report=html --cov=${MODULE} ${TESTS} |
| + |
| +testall: ${DEVENV} |
| + ${TOX} |
| + |
| +syntaxcheck: ${DEVENV} |
| + ${DEVENV}/bin/flake8 ${MODULE} ${TESTS} |
| + |
| +diffpep8: ${DEVENV} |
| + ${DEVENV}/bin/autopep8 --diff -r -aaa ${MODULE} ${TESTS} |
| + |
| +fixpep8: ${DEVENV} |
| + ${DEVENV}/bin/autopep8 --in-place -r -aaa ${MODULE} ${TESTS} |
| + |
| +install: |
| + python setup.py install |
| + |
| +uninstall: |
| + pip uninstall -y ${PACKAGE} |
| + |
| +clean: |
| + rm -Rf ${DEVENV} .coverage .cache .tox htmlcov ${PACKAGE}.egg-info\ |
| + `find . -name *.pyc` build dist MANIFEST |