| API_IMAGE=$(DOCKER_REGISTRY)/dify-api | API_IMAGE=$(DOCKER_REGISTRY)/dify-api | ||||
| VERSION=latest | VERSION=latest | ||||
| # Default target - show help | |||||
| .DEFAULT_GOAL := help | |||||
| # Backend Development Environment Setup | # Backend Development Environment Setup | ||||
| .PHONY: dev-setup prepare-docker prepare-web prepare-api | .PHONY: dev-setup prepare-docker prepare-web prepare-api | ||||
| # Default dev setup target | |||||
| # Dev setup target | |||||
| dev-setup: prepare-docker prepare-web prepare-api | dev-setup: prepare-docker prepare-web prepare-api | ||||
| @echo "✅ Backend development environment setup complete!" | @echo "✅ Backend development environment setup complete!" | ||||
| @rm -rf api/storage | @rm -rf api/storage | ||||
| @echo "✅ Cleanup complete" | @echo "✅ Cleanup complete" | ||||
| # Backend Code Quality Commands | |||||
| format: | |||||
| @echo "🎨 Running ruff format..." | |||||
| @uv run --project api --dev ruff format ./api | |||||
| @echo "✅ Code formatting complete" | |||||
| check: | |||||
| @echo "🔍 Running ruff check..." | |||||
| @uv run --project api --dev ruff check ./api | |||||
| @echo "✅ Code check complete" | |||||
| lint: | |||||
| @echo "🔧 Running ruff format and check with fixes..." | |||||
| @uv run --directory api --dev sh -c 'ruff format ./api && ruff check --fix ./api' | |||||
| @echo "✅ Linting complete" | |||||
| type-check: | |||||
| @echo "📝 Running type check with basedpyright..." | |||||
| @uv run --directory api --dev basedpyright | |||||
| @echo "✅ Type check complete" | |||||
| # Build Docker images | # Build Docker images | ||||
| build-web: | build-web: | ||||
| @echo "Building web Docker image: $(WEB_IMAGE):$(VERSION)..." | @echo "Building web Docker image: $(WEB_IMAGE):$(VERSION)..." | ||||
| @echo " make prepare-api - Set up API environment" | @echo " make prepare-api - Set up API environment" | ||||
| @echo " make dev-clean - Stop Docker middleware containers" | @echo " make dev-clean - Stop Docker middleware containers" | ||||
| @echo "" | @echo "" | ||||
| @echo "Backend Code Quality:" | |||||
| @echo " make format - Format code with ruff" | |||||
| @echo " make check - Check code with ruff" | |||||
| @echo " make lint - Format and fix code with ruff" | |||||
| @echo " make type-check - Run type checking with basedpyright" | |||||
| @echo "" | |||||
| @echo "Docker Build Targets:" | @echo "Docker Build Targets:" | ||||
| @echo " make build-web - Build web Docker image" | @echo " make build-web - Build web Docker image" | ||||
| @echo " make build-api - Build API Docker image" | @echo " make build-api - Build API Docker image" | ||||
| @echo " make build-push-all - Build and push all Docker images" | @echo " make build-push-all - Build and push all Docker images" | ||||
| # Phony targets | # Phony targets | ||||
| .PHONY: build-web build-api push-web push-api build-all push-all build-push-all dev-setup prepare-docker prepare-web prepare-api dev-clean help | |||||
| .PHONY: build-web build-api push-web push-api build-all push-all build-push-all dev-setup prepare-docker prepare-web prepare-api dev-clean help format check lint type-check |