help: @echo "Available commands:" @echo " start - Start the development runtime container" @echo " sh - Open a shell in the development runtime container" @echo " run - Run the application server in the development runtime container" @echo " stop - Stop and remove the development runtime container" @echo " migrate - Run database migrations in the migration container" @echo " composer-install - Install PHP dependencies in the composer runtime container" @echo " composer-require - Require a PHP package in the composer runtime container (usage: make composer-require package=vendor/package)" @echo " composer-require-dev - Require a PHP package as dev in the composer runtime container (usage: make composer-require-dev package=vendor/package)" @echo " composer-update - Update PHP dependencies in the composer runtime container" @echo " enable-debug - Enable Xdebug in the development runtime container" @echo " enable-coverage - Enable PCOV code coverage in the composer runtime container" @echo " protoc - Generate PHP gRPC code from .proto files" build-php-grpc: git clone -b v1.76.0 https://github.com/grpc/grpc cd grpc cd grpc && git submodule update --init grpc_root="$(pwd)" cd src/php/ext/grpc phpize GRPC_LIB_SUBDIR=libs/opt ./configure --enable-grpc="${grpc_root}" make composer-install: docker compose exec composer-runtime sh -c "composer install --no-interaction --prefer-dist --optimize-autoloader --ignore-platform-reqs" composer-require: docker compose exec composer-runtime sh -c "composer require $(package) --ignore-platform-reqs" composer-require-dev: docker compose exec composer-runtime sh -c "composer require --dev $(package) --ignore-platform-reqs" composer-update: docker compose exec composer-runtime sh -c "composer update --no-interaction --prefer-dist --optimize-autoloader --ignore-platform-reqs" migrate: docker compose up migration-container enable-coverage: ${MAKE} start docker compose exec composer-runtime sh -c "bin/pcov.sh" start: docker compose up dev-runtime -d --no-recreate sh: ${MAKE} start docker compose exec dev-runtime sh run: ${MAKE} start docker compose exec dev-runtime sh -c "rr serve" enable-debug: ${MAKE} start docker compose exec dev-runtime sh -c "bin/xdebug.sh" stop: docker compose down protoc: protoc --plugin=protoc-gen-php-grpc \ --php_out=./generated \ --php-grpc_out=./generated \ protos/example.proto .PHONY: help enable-coverage start sh run enable-debug stop protoc