diff --git a/Makefile b/Makefile index 282188b..49e5a85 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ REQUIREMENTS_TXT ?= requirements.txt dev-requirements.txt +.DEFAULT_GOAL := help +.PHONY: dev docs server test include Makefile.venv Makefile.venv: curl \ @@ -7,52 +9,47 @@ Makefile.venv: -L "https://github.com/sio/Makefile.venv/raw/v2020.08.14/Makefile.venv" echo "5afbcf51a82f629cd65ff23185acde90ebe4dec889ef80bbdc12562fbd0b2611 *Makefile.fetched" \ | sha256sum --check - \ - && mv Makefile.fetched Makefile.venv + && mv Makefile.fetched Makefile.venv -all: pip dev +help: # Help for the Makefile + @egrep -h '\s##\s' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' -.PHONY: dev -dev: venv - $(VENV)/pre-commit install +dev: venv ## Create the virtualenv with all the requirements installed -.PHONY: docs docs: build cp README.rst docs/readme.rst cp Changelog docs/changelog.rst tox -edocs -.PHONY: server -server: venv - $(VENV)/aprsd server --loglevel DEBUG - -clean: clean-venv +clean: clean-venv ## Clean out any build artifacts to start over rm -rf dist/* -.PHONY: test -test: dev +test: dev ## Run all the tox tests tox -p all -build: test +build: test ## Make the build artifact prior to doing an upload $(VENV)/python3 setup.py sdist bdist_wheel $(VENV)/twine check dist/* -upload: build +upload: build ## Upload a new version of the plugin $(VENV)/twine upload dist/* -docker: test - docker build -t hemna6969/aprsd:latest -f docker/Dockerfile docker - -docker-dev: test - docker build -t hemna6969/aprsd:master -f docker/Dockerfile-dev docker - -update-requirements: dev - $(VENV)/pip-compile requirements.in - $(VENV)/pip-compile dev-requirements.in - - -check: dev # Code format check with isort and black +check: dev ## Code format check with tox and pep8 tox -efmt-check tox -epep8 -fix: dev # fixes code formatting with isort and black +fix: dev ## fixes code formatting with gray tox -efmt + +server: venv ## Create the virtual environment and run aprsd server --loglevel DEBUG + $(VENV)/aprsd server --loglevel DEBUG + +docker: test ## Make a docker container tagged with hemna6969/aprsd:latest + docker build -t hemna6969/aprsd:latest -f docker/Dockerfile docker + +docker-dev: test ## Make a development docker container tagged with hemna6969/aprsd:master + docker build -t hemna6969/aprsd:master -f docker/Dockerfile-dev docker + +update-requirements: dev ## Update the requirements.txt and dev-requirements.txt files + $(VENV)/pip-compile requirements.in + $(VENV)/pip-compile dev-requirements.in