Holger Frey
7 years ago
5 changed files with 115 additions and 1 deletions
@ -0,0 +1,77 @@ |
|||||||
|
.PHONY: clean clean-test clean-pyc clean-build help |
||||||
|
.DEFAULT_GOAL := help |
||||||
|
|
||||||
|
define BROWSER_PYSCRIPT |
||||||
|
import os, webbrowser, sys |
||||||
|
|
||||||
|
try: |
||||||
|
from urllib import pathname2url |
||||||
|
except: |
||||||
|
from urllib.request import pathname2url |
||||||
|
|
||||||
|
webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) |
||||||
|
endef |
||||||
|
export BROWSER_PYSCRIPT |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
BROWSER := python -c "$$BROWSER_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/ |
||||||
|
|
||||||
|
lint: ## check style with flake8
|
||||||
|
flake8 ordr |
||||||
|
|
||||||
|
test: ## run tests quickly with the default Python
|
||||||
|
py.test |
||||||
|
|
||||||
|
test-all: ## run tests on every Python version with tox
|
||||||
|
tox |
||||||
|
|
||||||
|
coverage: ## check code coverage quickly with the default Python
|
||||||
|
coverage run --source ordr -m pytest |
||||||
|
coverage report -m |
||||||
|
coverage html |
||||||
|
$(BROWSER) htmlcov/index.html |
||||||
|
|
||||||
|
release: clean ## package and upload a release
|
||||||
|
python setup.py sdist upload |
||||||
|
python setup.py bdist_wheel upload |
||||||
|
|
||||||
|
dist: clean ## builds source and wheel package
|
||||||
|
python setup.py sdist |
||||||
|
python setup.py bdist_wheel |
||||||
|
ls -l dist |
||||||
|
|
||||||
|
install: clean ## install the package to the active Python's site-packages
|
||||||
|
python setup.py install |
@ -0,0 +1,8 @@ |
|||||||
|
pip>=9.0.1 |
||||||
|
bumpversion>=0.5.3 |
||||||
|
wheel>=0.30.0 |
||||||
|
flake8>=3.5.0 |
||||||
|
coverage>=4.5.1 |
||||||
|
|
||||||
|
pytest>=3.4.1 |
||||||
|
pytest-runner>=2.11.1 |
@ -0,0 +1,27 @@ |
|||||||
|
[bumpversion] |
||||||
|
current_version = 0.0.1 |
||||||
|
commit = True |
||||||
|
tag = True |
||||||
|
|
||||||
|
[bumpversion:file:setup.py] |
||||||
|
search = version='{current_version}' |
||||||
|
replace = version='{new_version}' |
||||||
|
|
||||||
|
[bumpversion:file:ordr/__init__.py] |
||||||
|
search = __version__ = '{current_version}' |
||||||
|
replace = __version__ = '{new_version}' |
||||||
|
|
||||||
|
[bdist_wheel] |
||||||
|
universal = 1 |
||||||
|
|
||||||
|
[flake8] |
||||||
|
exclude = docs |
||||||
|
ignore = W293 |
||||||
|
hang_closing = True |
||||||
|
|
||||||
|
[aliases] |
||||||
|
test = pytest |
||||||
|
|
||||||
|
[tool:pytest] |
||||||
|
collect_ignore = ['setup.py'] |
||||||
|
|
Reference in new issue