kitsune/Makefile

96 строки
2.3 KiB
Makefile
Исходник Постоянная ссылка Обычный вид История

2021-09-29 13:07:27 +03:00
DC := $(shell command -v docker-compose 2> /dev/null)
ifeq (DC,)
DC = $(shell which docker-compose)
2021-09-29 13:07:27 +03:00
else
DC = $(shell which docker) compose
endif
default: help
@echo ""
@echo "You need to specify a subcommand."
@exit 1
help:
@echo "build - build docker images for dev"
2023-11-23 15:10:21 +03:00
@echo "start - docker-compose up the entire system for dev"
@echo ""
2019-11-21 22:22:33 +03:00
@echo "init - initialize the database and install Node packages"
@echo "djshell - start a Django Python shell (ipython)"
@echo "dbshell - start a PostgreSQL shell"
@echo "shell - start a bash shell"
@echo "runshell - start a bash shell with ports bound so you can run the server"
@echo "clean - remove all build, test, coverage and Python artifacts"
@echo "rebuild - force a rebuild of the dev docker image"
2023-11-23 15:18:10 +03:00
@echo "format - format source files"
@echo "lint - run pre-commit hooks"
@echo "test - run python tests"
@echo "test-js - run js tests"
@echo "docs - generate Sphinx HTML documentation"
.env:
2023-11-23 15:10:03 +03:00
@echo "Copying .env-dist to .env...";
cp -n .env-dist .env;
2023-11-23 15:10:03 +03:00
.docker-build: .env
${MAKE} build
build:
2021-12-29 15:45:21 +03:00
${DC} build web
touch .docker-build
rebuild: clean build
2023-11-23 15:10:21 +03:00
start: .docker-build
${DC} up web
2023-11-23 15:10:21 +03:00
run: start
init: .docker-build
${DC} run web bin/run-bootstrap.sh
init-mac: .docker-build
${DC} run web bin/run-bootstrap.sh --optipng-fix
shell: .docker-build
${DC} run web bash
runshell: .docker-build
${DC} run --service-ports web bash
djshell: .docker-build
${DC} run web python manage.py shell
dbshell: .docker-build
${DC} run web python manage.py dbshell
clean:
# python related things
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '__pycache__' -exec rm -rf {} +
# test related things
-rm -f .coverage
# docs files
-rm -rf docs/_build/
# state files
-rm -f .docker-build*
# node stuff
2019-11-21 22:22:33 +03:00
-rm -rf node_modules
lint: .docker-build
${DC} run web pre-commit run --all-files
2023-11-23 15:18:10 +03:00
format: .docker-build
${DC} run web black kitsune/
test: .docker-build
${DC} run web ./bin/run-unit-tests.sh
test-js: .docker-build
${DC} run web npm run webpack:test
docs: .docker-build
${DC} run web $(MAKE) -C docs/ clean
${DC} run web $(MAKE) -C docs/ html
2023-11-23 15:18:10 +03:00
.PHONY: build rebuild run init shell runshell djshell clean lint format test test-js docs