django-fobi/Makefile
Artur Barseghyan f97c6914b3 More
2022-07-07 22:55:14 +02:00

107 lines
3.1 KiB
Makefile

.PHONY: help clean
define BROWSER_PYSCRIPT
import os, webbrowser, sys
from urllib.request import pathname2url
webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1])))
endef
export BROWSER_PYSCRIPT
BROWSER := python -c "$$BROWSER_PYSCRIPT"
help:
@echo "clean | Remove all build, test, coverage and Python artifacts"
@echo "clean-build | Remove build artifacts"
@echo "clean-pyc | Remove Python file artifacts"
@echo "clean-test | Remove test and coverage artifacts"
@echo "run | Run the project in Docker"
clean: clean-build clean-pyc clean-test
clean-build:
rm -rf build/
rm -rf dist/
rm -rf **/*.egg-info
rm -rf static/CACHE
clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name '__pycache__' -exec rm -fr {} +
clean-test:
rm -rf .pytest_cache; \
rm -rf .ipython/profile_default; \
rm -rf htmlcov; \
rm -rf build; \
rm -f .coverage; \
rm -f coverage.xml; \
rm -f junit.xml; \
rm -rf .hypothesis; \
find . -name '*.py,cover' -exec rm -f {} +
fix-file-permissions:
sudo chown $$USER:$$USER src/fobi/migrations/ -R || true
sudo chown $$USER:$$USER src/fobi/contrib/apps/djangocms_integration/migrations/ -R || true
sudo chown $$USER:$$USER src/fobi/contrib/apps/wagtail_integration/migrations/ -R || true
sudo chown $$USER:$$USER src/fobi/contrib/form_handlers/db_store/migrations/ -R || true
sudo chown $$USER:$$USER examples/simple/page/migrations/ -R || true
sudo chown $$USER:$$USER tmp/ -R || true
run: prepare-required-files
docker-compose -f docker-compose.yml up --remove-orphans;
build: prepare-required-files
docker-compose -f docker-compose.yml build;
build-%: prepare-required-files
docker-compose -f docker-compose.yml build $*;
stop:
docker-compose -f docker-compose.yml stop;
make-migrations:
docker-compose -f docker-compose.yml exec backend ./manage.py makemigrations $(APP);
migrate:
docker-compose -f docker-compose.yml exec backend ./manage.py migrate $(APP);
test:
docker-compose -f docker-compose.yml exec backend pytest /backend/src/ $(APP);
show-migrations:
docker-compose -f docker-compose.yml exec backend ./manage.py showmigrations
show-urls:
docker-compose -f docker-compose.yml exec backend ./manage.py show_urls
shell:
docker-compose -f docker-compose.yml exec backend python examples/simple/manage.py shell
create-superuser:
docker-compose -f docker-compose.yml exec backend python examples/simple/manage.py createsuperuser
fobi-sync-plugins:
docker-compose -f docker-compose.yml exec backend ./manage.py fobi_sync_plugins
pip-install:
docker-compose -f docker-compose.yml exec backend pip install -r requirements/local.txt
pip-list:
docker-compose -f docker-compose.yml exec backend pip list
black:
docker-compose -f docker-compose.yml exec backend black .
isort:
docker-compose -f docker-compose.yml exec backend isort . --overwrite-in-place
bash:
docker-compose -f docker-compose.yml run backend /bin/bash
prepare-required-files:
mkdir -p examples/logs examples/db examples/media examples/media/static examples/media/fobi_plugins/content_image
mkdir -p examples/media/fobi_plugins/file