You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.0 KiB
86 lines
2.0 KiB
PIPENV := pipenv run
|
|
PYTESTARGS ?= -x -vvl
|
|
BLACKARGS := --line-length 128 --check --diff
|
|
|
|
.PHONY: help
|
|
|
|
help:
|
|
@echo "Make targets:\n"
|
|
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$'
|
|
|
|
################################################################################
|
|
#
|
|
# Environment Setup
|
|
#
|
|
################################################################################
|
|
.PHONY: setup setup-dev
|
|
|
|
Pipfile.lock: Pipfile
|
|
pipenv lock
|
|
|
|
requirements.txt: Pipfile.lock
|
|
pipenv lock -r > $@
|
|
|
|
setup.done: Pipfile.lock
|
|
pipenv sync
|
|
touch setup.done
|
|
|
|
setup-dev.done: Pipfile.lock setup.done
|
|
pipenv sync --dev
|
|
touch setup-dev.done
|
|
|
|
setup: setup.done
|
|
setup-dev: setup-dev.done
|
|
|
|
################################################################################
|
|
#
|
|
# Release management
|
|
#
|
|
################################################################################
|
|
.PHONY: publish release release-major release-micro
|
|
|
|
release: setup-dev.done
|
|
$(PIPENV) bumpversion --verbose minor
|
|
|
|
release-major: setup-dev.done
|
|
$(PIPENV) bumpversion --verbose major
|
|
|
|
release-micro: setup-dev.done
|
|
$(PIPENV) bumpversion --verbose patch
|
|
|
|
publish:
|
|
git push -v --progress
|
|
git push -v --progress --tags
|
|
|
|
################################################################################
|
|
#
|
|
# Checking and Linting
|
|
#
|
|
################################################################################
|
|
.PHONY: black check cruft-check lint linting pytest test
|
|
|
|
check: cruft-check lint test
|
|
|
|
cruft-check:
|
|
cruft check
|
|
cruft diff --exit-code
|
|
|
|
test: pytest
|
|
pytest: setup-dev.done
|
|
$(PIPENV) pytest ${PYTESTARGS} .
|
|
|
|
black: setup-dev.done
|
|
$(PIPENV) black ${BLACKARGS} .
|
|
|
|
lint: linting
|
|
linting: black
|
|
|
|
################################################################################
|
|
#
|
|
# Custom options
|
|
#
|
|
################################################################################
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
rm -rvf tmp
|