UID := 1000 GID := 1000 list: @echo "" @echo "Useful targets:" @echo "" @echo " rebuild > rebuild all images and start containers for dev only" @echo " start > start containers" @echo " restart > restart containers" @echo " stop > stop and kill running containers" @echo " status > display stack containers status" @echo " logs > display containers logs" @echo " install_client > install client dependencies" @echo " shell_client > shell into angular client container" @echo " build_client > generate the angular client dist application (html, css, js)" @echo " test_client > Starts the angular client unit tests" @echo " client_coverage > Run nginx web server test client coverage" @echo " install_server > install server dependencies" @echo " shell_server > shell into php server container" @echo " test_server > Starts the server php unit tests" @echo " phpcs > run php code sniffer test suite" @echo " shell_services > shell into python services" @echo " create-db > create a database for dev only (need token_enabled=0)" @echo " remove-pgdata > remove the anis-next database" @echo "" rebuild: @docker-compose up --build -d start: @docker-compose up -d restart: stop start stop: @docker-compose kill @docker-compose rm -v --force status: @docker-compose ps logs: @docker-compose logs -f -t install_client: @docker run --init -it --rm --user $(UID):$(GID) \ -v $(CURDIR)/client:/project \ -w /project node:16-slim yarn install shell_client: @docker-compose exec client bash build_client: @docker-compose exec client ng build test_client: @docker-compose exec client npx jest client_coverage: @docker run --name anis-client-code-coverage -d -p 8888:80 -v $(CURDIR)/client/coverage/anis-client:/usr/share/nginx/html:ro nginx install_server: @docker run --init -it --rm --user $(UID):$(GID) \ -e COMPOSER_CACHE_DIR=/dev/null \ -v $(CURDIR)/server:/project \ -w /project jakzal/phpqa:php8.0 composer install --ignore-platform-reqs shell_server: @docker-compose exec server bash test_server: @docker run --init -it --rm --user $(UID):$(GID) \ -v $(CURDIR)/server:/project \ -w /project jakzal/phpqa:php8.0 phpdbg -qrr ./vendor/bin/phpunit --bootstrap ./tests/bootstrap.php \ --whitelist src --colors --coverage-html ./phpunit-coverage ./tests phpcs: @docker run --init -it --rm --user $(UID):$(GID) \ -v $(CURDIR)/server:/project \ -w /project jakzal/phpqa:php8.0 phpcs --standard=PSR12 --extensions=php --colors src tests shell_services: @docker-compose exec services bash create-db: @docker-compose exec server sh /mnt/init-keycloak.sh @docker-compose exec server sh /mnt/create-db.sh remove-pgdata: @docker volume rm anis-next_pgdata