123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- QEMU_VENV_DIR=.dev-venv
- QEMU_MINVENV_DIR=.min-venv
- QEMU_TOX_EXTRA_ARGS ?=
- .PHONY: help
- help:
- @echo "python packaging help:"
- @echo ""
- @echo "make check-minreqs:"
- @echo " Run tests in the minreqs virtual environment."
- @echo " These tests use the oldest dependencies."
- @echo " Requires: Python 3.8"
- @echo " Hint (Fedora): 'sudo dnf install python3.8'"
- @echo ""
- @echo "make check-tox:"
- @echo " Run tests against multiple python versions."
- @echo " These tests use the newest dependencies."
- @echo " Requires: Python 3.8 - 3.11, and tox."
- @echo " Hint (Fedora): 'sudo dnf install python3-tox python3.11'"
- @echo " The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra"
- @echo " arguments to tox".
- @echo ""
- @echo "make check-dev:"
- @echo " Run tests in a venv against your default python3 version."
- @echo " These tests use the newest dependencies."
- @echo " Requires: Python 3.x"
- @echo ""
- @echo "make check:"
- @echo " Run tests in your *current environment*."
- @echo " Performs no environment setup of any kind."
- @echo ""
- @echo "make develop:"
- @echo " Install deps needed for 'make check',"
- @echo " and install the qemu package in editable mode."
- @echo " (Can be used in or outside of a venv.)"
- @echo ""
- @echo "make min-venv"
- @echo " Creates the minreqs virtual environment ($(QEMU_MINVENV_DIR))"
- @echo ""
- @echo "make dev-venv"
- @echo " Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))"
- @echo ""
- @echo "make clean:"
- @echo " Remove package build output."
- @echo ""
- @echo "make distclean:"
- @echo " remove venv files, qemu package forwarder,"
- @echo " built distribution files, and everything from 'make clean'."
- @echo ""
- @echo -e "Have a nice day ^_^\n"
- .PHONY: pipenv check-pipenv
- pipenv check-pipenv:
- @echo "pipenv was dropped; try 'make check-minreqs' or 'make min-venv'"
- @exit 1
- PIP_INSTALL = pip install --disable-pip-version-check
- .PHONY: min-venv
- min-venv: $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate
- $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: setup.cfg tests/minreqs.txt
- @echo "VENV $(QEMU_MINVENV_DIR)"
- @python3.8 -m venv $(QEMU_MINVENV_DIR)
- @( \
- echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \
- . $(QEMU_MINVENV_DIR)/bin/activate; \
- echo "INSTALL wheel $(QEMU_MINVENV_DIR)"; \
- $(PIP_INSTALL) wheel 1>/dev/null; \
- echo "INSTALL -r tests/minreqs.txt $(QEMU_MINVENV_DIR)";\
- $(PIP_INSTALL) -r tests/minreqs.txt 1>/dev/null; \
- echo "INSTALL -e qemu $(QEMU_MINVENV_DIR)"; \
- $(PIP_INSTALL) -e . 1>/dev/null; \
- )
- @touch $(QEMU_MINVENV_DIR)
- .PHONY: check-minreqs
- check-minreqs: min-venv
- @( \
- echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \
- . $(QEMU_MINVENV_DIR)/bin/activate; \
- make check; \
- )
- .PHONY: dev-venv
- dev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate
- $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg
- @echo "VENV $(QEMU_VENV_DIR)"
- @python3 -m venv $(QEMU_VENV_DIR)
- @( \
- echo "ACTIVATE $(QEMU_VENV_DIR)"; \
- . $(QEMU_VENV_DIR)/bin/activate; \
- echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)"; \
- make develop 1>/dev/null; \
- )
- @touch $(QEMU_VENV_DIR)
- .PHONY: check-dev
- check-dev: dev-venv
- @( \
- echo "ACTIVATE $(QEMU_VENV_DIR)"; \
- . $(QEMU_VENV_DIR)/bin/activate; \
- make check; \
- )
- .PHONY: develop
- develop:
- $(PIP_INSTALL) -e .[devel]
- .PHONY: check
- check:
- @avocado --config avocado.cfg run tests/
- .PHONY: check-tox
- check-tox:
- @tox $(QEMU_TOX_EXTRA_ARGS)
- .PHONY: check-coverage
- check-coverage:
- @coverage run -m avocado --config avocado.cfg run tests/*.py
- @coverage combine
- @coverage html
- @coverage report
- .PHONY: clean
- clean:
- python3 setup.py clean --all
- rm -f pyproject.toml
- .PHONY: distclean
- distclean: clean
- rm -rf qemu.egg-info/ .eggs/ dist/
- rm -rf $(QEMU_VENV_DIR) $(QEMU_MINVENV_DIR) .tox/
- rm -f .coverage .coverage.*
- rm -rf htmlcov/
|