diff --git a/.idea/misc.xml b/.idea/misc.xml index 2a9ab31..b35f69e 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,8 @@ + + diff --git a/Makefile b/Makefile index bfd58eb..0c44674 100644 --- a/Makefile +++ b/Makefile @@ -26,32 +26,56 @@ venv-info: exit 0 venv: - $(SYSTEM_PYTHON) -m venv "$(VENV_PATH)" - source $(VENV_PATH)/bin/activate && \ + # Start with empty environment + "$(SYSTEM_PYTHON)" -m venv "$(VENV_PATH)" + source "$(VENV_PATH)/bin/activate" && \ python3 -m pip install --upgrade pip && \ python3 -m pip install -r requirements.txt exit 0 -.PHONY: venv-info venv +venv-ssp: + # Include system installed site-packages and add just missing modules + "$(SYSTEM_PYTHON)" -m venv --system-site-packages "$(VENV_PATH)" + source "$(VENV_PATH)/bin/activate" && \ + python3 -m pip install --upgrade pip && \ + python3 -m pip install -r requirements.txt + exit 0 + +.PHONY: venv-info venv venv-ssp + +## Build steps +test: + PYTHONPATH=src "$(PYTHON)" -m pytest tests -## Build, install build: - $(PYTHON) -m setup sdist - $(PYTHON) -m setup bdist_wheel + "$(PYTHON)" -m setup sdist + "$(PYTHON)" -m setup bdist_wheel install: build - $(PYTHON) -m pip install dist/$(PACKAGE)-*.whl + "$(PYTHON)" -m pip install dist/$(PACKAGE)-$(APP_VERSION)-*.whl +uninstall: + "$(PYTHON)" -m pip uninstall --yes $(PACKAGE) + +.PHONY: test build install uninstall + +## Documentation docs: - $(PYTHON) -m sphinx.cmd.build -b html docs docs/_build/html + "$(PYTHON)" -m sphinx.cmd.build -b html docs docs/_build/html -.PHONY: build docs install +.PHONY: docs ## Clean clean: - rm -rf build docs/_build dist src/*.egg-info *.spec + # PyTest caches + rm -rf .pytest_cache + # Build artifacts + rm -rf build dist src/*.egg-info + # PyInstaller created files + rm -rf *.spec -clean-all: clean - rm -R $(VENV_PATH) +distclean: clean + # Virtual environment + rm -rf "$(VENV_PATH)" -.PHONY: clean clean-all +.PHONY: clean distclean diff --git a/requirements.txt b/requirements.txt index 9c8c3f3..0ce950e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,6 @@ -setuptools>=58.0.4 -wheel +# Build dependencies +setuptools sphinx +wheel + +# Runtime dependencies, must match install_requires in setup.py