Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: makefile

Issue 29338156: Issue 3754 - Initial setup of the python-abp repo. (Closed)
Patch Set: Created March 11, 2016, 5:13 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« abp/filters/__init__.py ('K') | « abp/filters/__init__.py ('k') | setup.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld