UID := $(id -u) GID := $(id -g) list: @echo "" @echo "Useful targets:" @echo "" @echo " install > install php composer dependancies" @echo " up > build php image and start anis-v3-server containers for dev only (php + mailer)" @echo " start > start anis-v3-server containers" @echo " restart > restart anis-v3-server containers" @echo " stop > stop and kill running anis-v3-server containers" @echo " logs > display anis-v3-server containers logs" @echo " shell > shell into php anis-v3-server container" @echo " phpunit > run php unit test suite" @echo " phpcs > run php code sniffer test suite" @echo " init-db > generate a new metadata database (anis-v3-server containers running needed)" @echo " remove-db > remove the metadata database" @echo " validate-db > validate the doctrine mapping entity files (anis-v3-server containers running needed)" @echo " add-superuser > add an Anis server superuser. Example: make email=admin@anis.fr password=admin add-superuser" @echo " gen-key > generate a new encryption key that you can use to encrypt data (see anis server config file)" @echo "" install: @docker run --init -it --rm --user $(UID):$(GID) \ -e COMPOSER_CACHE_DIR=/dev/null \ -v $(CURDIR):/project \ -w /project jakzal/phpqa composer install up: @docker-compose up --build -d start: @docker-compose up -d restart: stop start stop: @docker-compose kill @docker-compose rm -v --force logs: @docker-compose logs -f -t shell: @docker-compose exec php bash phpunit: @docker run --init -it --rm --user $(UID):$(GID) \ -v $(CURDIR):/project \ -w /project jakzal/phpqa phpdbg -qrr ./vendor/bin/phpunit --bootstrap ./tests/bootstrap.php \ --whitelist src --coverage-text --colors=never ./tests phpcs: @docker run --init -it --rm --user $(UID):$(GID) \ -v $(CURDIR):/project \ -w /project jakzal/phpqa phpcs --standard=PSR2 --extensions=php --colors src init-meta-db: @docker-compose exec php sh ./conf-dev/metamodel_init.sh init-db-dev: @docker-compose exec php sh ./conf-dev/init-db-dev.sh remove-db: @docker volume rm anis-server_pgdata validate-db: @docker-compose exec php ./vendor/bin/doctrine orm:validate-schema gen-key: @docker-compose exec php php ./conf-dev/generate_encryption_key.php add-superuser: @[ "${email}" ] || ( echo ">> email is not set"; exit 1 ) @[ "${password}" ] || ( echo ">> password is not set"; exit 1 ) @docker-compose exec php curl -d '{"email":"${email}","password":"${password}"}' -H "Content-Type: application/json" -X POST http://localhost/metadata/superuser