2020-12-23 19:53:13 +01:00
|
|
|
SHELL := /bin/bash
|
2022-08-12 17:56:02 +02:00
|
|
|
MAX_LINE_LENGTH := 100
|
2020-12-23 19:53:13 +01:00
|
|
|
|
|
|
|
all: help
|
|
|
|
|
|
|
|
help:
|
|
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z0-9 -]+:.*?## / {printf "\033[36m%-22s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
|
|
|
|
|
|
|
check-poetry:
|
|
|
|
@if [[ "$(shell poetry --version 2>/dev/null)" == *"Poetry"* ]] ; \
|
|
|
|
then \
|
|
|
|
echo "Poetry found, ok." ; \
|
|
|
|
else \
|
|
|
|
echo 'Please install poetry first, with e.g.:' ; \
|
|
|
|
echo 'make install-poetry' ; \
|
|
|
|
exit 1 ; \
|
|
|
|
fi
|
|
|
|
|
2023-08-22 19:29:53 +02:00
|
|
|
install-base-req: ## Install needed base packages via apt
|
|
|
|
sudo apt install python3-pip python3-venv
|
|
|
|
|
2020-12-23 19:53:13 +01:00
|
|
|
install-poetry: ## install or update poetry
|
2022-09-19 08:33:12 +02:00
|
|
|
curl -sSL https://install.python-poetry.org | python3 -
|
2020-12-23 19:53:13 +01:00
|
|
|
|
|
|
|
install: check-poetry ## install project via poetry
|
2022-12-21 19:19:37 +01:00
|
|
|
python3 -m venv .venv
|
2020-12-23 19:53:13 +01:00
|
|
|
poetry install
|
|
|
|
|
2022-09-19 08:33:12 +02:00
|
|
|
update: check-poetry ## update the sources and installation and generate "conf/requirements.txt"
|
2022-12-21 19:19:37 +01:00
|
|
|
python3 -m venv .venv
|
2022-10-04 09:13:52 +02:00
|
|
|
poetry self update
|
2022-09-19 08:33:12 +02:00
|
|
|
poetry update -v
|
2022-10-06 17:32:07 +02:00
|
|
|
poetry install
|
2020-12-29 10:53:21 +01:00
|
|
|
poetry export -f requirements.txt --output conf/requirements.txt
|
2020-12-23 19:53:13 +01:00
|
|
|
|
|
|
|
lint: ## Run code formatters and linter
|
2022-12-21 20:02:02 +01:00
|
|
|
poetry run darker --check
|
2020-12-23 19:53:13 +01:00
|
|
|
poetry run isort --check-only .
|
2021-02-28 10:56:42 +01:00
|
|
|
poetry run flake8 .
|
2020-12-23 19:53:13 +01:00
|
|
|
|
|
|
|
fix-code-style: ## Fix code formatting
|
2022-12-21 20:02:02 +01:00
|
|
|
poetry run darker
|
2020-12-23 19:53:13 +01:00
|
|
|
poetry run isort .
|
|
|
|
|
|
|
|
tox-listenvs: check-poetry ## List all tox test environments
|
|
|
|
poetry run tox --listenvs
|
|
|
|
|
|
|
|
tox: check-poetry ## Run pytest via tox with all environments
|
|
|
|
poetry run tox
|
|
|
|
|
2020-12-28 18:52:29 +01:00
|
|
|
pytest: install ## Run pytest
|
2022-08-14 19:20:15 +02:00
|
|
|
poetry run pytest
|
2020-12-23 19:53:13 +01:00
|
|
|
|
2020-12-28 18:52:29 +01:00
|
|
|
local-test: install ## Run local_test.py to run the project locally
|
|
|
|
poetry run python3 ./local_test.py
|
2020-12-23 19:53:13 +01:00
|
|
|
|
|
|
|
local-diff-settings: ## Run "manage.py diffsettings" with local test
|
|
|
|
poetry run python3 local_test/opt_yunohost/manage.py diffsettings
|
|
|
|
|
2022-09-15 11:42:01 +02:00
|
|
|
safety: ## Run https://github.com/pyupio/safety
|
|
|
|
poetry run safety check --full-report
|
2020-12-23 19:53:13 +01:00
|
|
|
|
|
|
|
##############################################################################
|
|
|
|
|
|
|
|
.PHONY: help check-poetry install-poetry install update local-test
|