diff --git a/Makefile.python b/Makefile.python index c125562..acd9548 100644 --- a/Makefile.python +++ b/Makefile.python @@ -1,65 +1,56 @@ # -*- mode: Makefile -*- PYMODULE := $(shell basename `pwd` | sed 's/-/./g') PYDIR := $(shell basename `pwd` | sed 's%-%/%g') PYTHON_BIN := $(shell test -d bin/ && find bin/ -type f -executable | xargs egrep -H '^\#.*python' | cut -f 1 -d :) TEST_DIRS := . TEST = python3 -m pytest TESTFLAGS = CODESPELL = codespell CODESPELLFLAGS = BLACK = python3 -m black BLACKFLAGS = FLAKE = python3 -m flake8 FLAKEFLAGS = LINT = pylint3 LINTFLAGS = --rcfile=../pylintrc MYPY = mypy MYPYFLAGS = all: .PHONY: test test: $(TEST) $(TESTFLAGS) $(TEST_DIRS) .PHONY: coverage coverage: $(TEST) $(TESTFLAGS) --cov=$(PYMODULE) --cov-branch $(TEST_DIRS) -.PHONY: check check-black check-flake check-codespell check-mypy -check: check-black check-flake check-codespell check-mypy -check-black: - $(BLACK) $(BLACKFLAGS) --check swh $(PYTHON_BIN) -check-flake: - $(FLAKE) $(FLAKEFLAGS) swh $(PYTHON_BIN) -check-codespell: - find swh docs -name '*.py' -o -name '*.rst' | xargs -r $(CODESPELL) $(CODESPELLFLAGS) - find . -maxdepth 1 -iname 'readme*' | xargs -r $(CODESPELL) $(CODESPELLFLAGS) -typecheck: check-mypy -check-mypy: - $(MYPY) $(MYPYFLAGS) swh +.PHONY: check +check: + pre-commit run --all-files .PHONY: check-staged check-staged: git diff -z --staged --name-only -- '*.py' $(PYTHON_BIN) \ | xargs -0 -L1 -i'{}' /bin/sh -c \ "git show ':{}' | $(FLAKE) $(FLAKEFLAGS) --stdin-display-name '{}' -" .PHONY: lint lint: $(LINT) $(LINTFLAGS) $(PYMODULE) .PHONY: docs docs: make -C docs .PHONY: distclean # Clean up Python bytecode files and a bunch of Python tool caches. distclean: find . -type d -name __pycache__ | xargs rm -rf find . -type f -name '*.pyc' -delete rm -rf .tox/ .mypy_cache/