foundation/Makefile
2025-06-13 18:29:55 +02:00

104 lines
No EOL
2.4 KiB
Makefile

# Makefile for PHP Base Framework
# Wraps composer commands to run via Docker
.PHONY: help \
install \
dump-autoload \
up \
down \
shell \
test \
test-coverage \
test-unit \
test-integration \
phpstan \
phpstan-baseline \
deptrac \
deptrac-baseline \
rector \
rector-fix \
static-analysis
# Default target
help:
@echo "Available commands:"
@echo " Docker Management:"
@echo " up - Start Docker environment"
@echo " down - Stop Docker environment"
@echo " shell - Access container shell"
@echo ""
@echo " Composer Commands:"
@echo " install - Install dependencies"
@echo " dump-autoload - Refresh autoload files"
@echo ""
@echo " Testing:"
@echo " test - Run all tests"
@echo " test-coverage - Run tests with coverage report"
@echo " test-unit - Run unit tests only"
@echo " test-integration - Run integration tests only"
@echo ""
@echo " Static Analysis:"
@echo " phpstan - Run PHPStan analysis"
@echo " phpstan-baseline - Generate PHPStan baseline"
@echo " deptrac - Run Deptrac layer analysis"
@echo " deptrac-baseline - Generate Deptrac baseline"
@echo " static-analysis - Run both PHPStan and Deptrac"
@echo ""
@echo " Code Quality:"
@echo " rector - Preview Rector changes (dry-run)"
@echo " rector-fix - Apply Rector changes"
# Docker Management
up:
export USER_ID=$$(id -u) && export GROUP_ID=$$(id -g) && docker-compose up -d --build
down:
docker-compose down
shell:
docker-compose exec app bash
# Composer Commands
install:
docker-compose exec app composer install
dump-autoload:
docker-compose exec app composer dump-autoload
# Testing Commands
test:
docker-compose exec app composer test
test-coverage:
docker-compose exec app composer test-coverage
test-unit:
docker-compose exec app composer test-unit
test-integration:
docker-compose exec app composer test-integration
# Static Analysis Commands
phpstan:
docker-compose exec app composer phpstan
phpstan-baseline:
docker-compose exec app composer phpstan-baseline
deptrac:
docker-compose exec app composer deptrac
deptrac-baseline:
docker-compose exec app composer deptrac-baseline
static-analysis: phpstan deptrac
# Code Quality Commands
rector:
docker-compose exec app composer rector
rector-fix:
docker-compose exec app composer rector-fix