From 46d8c86e0c576aeb07183205fcf260b9efe48fb1 Mon Sep 17 00:00:00 2001 From: barisgit Date: Tue, 9 Sep 2025 20:57:58 +0200 Subject: [PATCH] Improved makefile --- Makefile | 68 +++++++++++++++++++++++++------------------------------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/Makefile b/Makefile index 10dd60af..bc4d0bf3 100644 --- a/Makefile +++ b/Makefile @@ -1,66 +1,54 @@ # PartDB Makefile for Test Environment Management -.PHONY: help test-setup test-clean test-db-create test-db-migrate test-cache-clear test-fixtures test-run dev-setup dev-clean dev-db-create dev-db-migrate dev-cache-clear dev-warmup dev-reset +.PHONY: help deps-install lint format format-check test coverage pre-commit all test-typecheck \ +test-setup test-clean test-db-create test-db-migrate test-cache-clear test-fixtures test-run test-reset \ +section-dev dev-setup dev-clean dev-db-create dev-db-migrate dev-cache-clear dev-warmup dev-reset # Default target -help: - @echo "PartDB Test Environment Management" - @echo "==================================" - @echo "" - @echo "Available targets:" - @echo " test-setup - Complete test environment setup (clean, create DB, migrate, load fixtures)" - @echo " test-clean - Clean test cache and database files" - @echo " test-db-create - Create test database (if not exists)" - @echo " test-db-migrate - Run database migrations for test environment" - @echo " test-cache-clear- Clear test cache" - @echo " test-fixtures - Load test fixtures" - @echo " test-run - Run PHPUnit tests" - @echo "" - @echo "Development Environment:" - @echo " dev-setup - Complete development environment setup (clean, create DB, migrate, warmup)" - @echo " dev-clean - Clean development cache and database files" - @echo " dev-db-create - Create development database (if not exists)" - @echo " dev-db-migrate - Run database migrations for development environment" - @echo " dev-cache-clear - Clear development cache" - @echo " dev-warmup - Warm up development cache" - @echo " dev-reset - Quick development reset (clean + migrate)" - @echo "" - @echo " help - Show this help message" +help: ## Show this help + @awk 'BEGIN {FS = ":.*##"}; /^[a-zA-Z0-9][a-zA-Z0-9_-]+:.*##/ {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) + +# Dependencies +deps-install: ## Install PHP dependencies with unlimited memory + @echo "๐Ÿ“ฆ Installing PHP dependencies..." + COMPOSER_MEMORY_LIMIT=-1 composer install + yarn install + @echo "โœ… Dependencies installed" # Complete test environment setup -test-setup: test-clean test-db-create test-db-migrate test-fixtures +test-setup: test-clean test-db-create test-db-migrate test-fixtures ## Complete test setup (clean, create DB, migrate, fixtures) @echo "โœ… Test environment setup complete!" # Clean test environment -test-clean: +test-clean: ## Clean test cache and database files @echo "๐Ÿงน Cleaning test environment..." rm -rf var/cache/test rm -f var/app_test.db @echo "โœ… Test environment cleaned" # Create test database -test-db-create: +test-db-create: ## Create test database (if not exists) @echo "๐Ÿ—„๏ธ Creating test database..." -php bin/console doctrine:database:create --if-not-exists --env test || echo "โš ๏ธ Database creation failed (expected for SQLite) - continuing..." # Run database migrations for test environment -test-db-migrate: +test-db-migrate: ## Run database migrations for test environment @echo "๐Ÿ”„ Running database migrations..." COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env test # Clear test cache -test-cache-clear: +test-cache-clear: ## Clear test cache @echo "๐Ÿ—‘๏ธ Clearing test cache..." rm -rf var/cache/test @echo "โœ… Test cache cleared" # Load test fixtures -test-fixtures: +test-fixtures: ## Load test fixtures @echo "๐Ÿ“ฆ Loading test fixtures..." php bin/console partdb:fixtures:load -n --env test # Run PHPUnit tests -test-run: +test-run: ## Run PHPUnit tests @echo "๐Ÿงช Running tests..." php bin/phpunit @@ -68,32 +56,36 @@ test-run: test-reset: test-cache-clear test-db-migrate test-fixtures @echo "โœ… Test environment reset complete!" +test-typecheck: ## Run static analysis (PHPStan) + @echo "๐Ÿงช Running type checks..." + COMPOSER_MEMORY_LIMIT=-1 composer phpstan + # Development helpers -dev-setup: dev-clean dev-db-create dev-db-migrate dev-warmup +dev-setup: dev-clean dev-db-create dev-db-migrate dev-warmup ## Complete development setup (clean, create DB, migrate, warmup) @echo "โœ… Development environment setup complete!" -dev-clean: +dev-clean: ## Clean development cache and database files @echo "๐Ÿงน Cleaning development environment..." rm -rf var/cache/dev rm -f var/app_dev.db @echo "โœ… Development environment cleaned" -dev-db-create: +dev-db-create: ## Create development database (if not exists) @echo "๐Ÿ—„๏ธ Creating development database..." -php bin/console doctrine:database:create --if-not-exists --env dev || echo "โš ๏ธ Database creation failed (expected for SQLite) - continuing..." -dev-db-migrate: +dev-db-migrate: ## Run database migrations for development environment @echo "๐Ÿ”„ Running database migrations..." COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env dev -dev-cache-clear: +dev-cache-clear: ## Clear development cache @echo "๐Ÿ—‘๏ธ Clearing development cache..." rm -rf var/cache/dev @echo "โœ… Development cache cleared" -dev-warmup: +dev-warmup: ## Warm up development cache @echo "๐Ÿ”ฅ Warming up development cache..." COMPOSER_MEMORY_LIMIT=-1 php -d memory_limit=1G bin/console cache:warmup --env dev -n -dev-reset: dev-cache-clear dev-db-migrate +dev-reset: dev-cache-clear dev-db-migrate ## Quick development reset (cache clear + migrate) @echo "โœ… Development environment reset complete!" \ No newline at end of file