.PHONY: help install generate build clean run test

# 默认目标
help:
	@echo "可用命令："
	@echo "  make install    - 安装依赖"
	@echo "  make generate   - 生成 API 代码"
	@echo "  make build      - 运行 build_runner"
	@echo "  make clean      - 清理生成的文件"
	@echo "  make run        - 运行应用"
	@echo "  make test       - 运行测试"

# 安装依赖
install:
	@echo "📦 安装依赖..."
	@flutter pub get
	@echo "✅ 依赖安装完成"

# 生成 API 代码
generate:
	@echo "🚀 生成 API 代码..."
	@dart run swagger_generator_flutter generate --all
	@echo "✅ API 代码生成完成"

# 运行 build_runner
build: generate
	@echo "🔧 运行 build_runner..."
	@dart run build_runner build --delete-conflicting-outputs
	@dart format lib/generated
	@echo "✅ 构建完成"

# 监听模式
watch:
	@echo "👀 启动监听模式..."
	@dart run build_runner watch --delete-conflicting-outputs

# 清理生成的文件
clean:
	@echo "🧹 清理生成的文件..."
	@rm -rf lib/generated
	@flutter clean
	@echo "✅ 清理完成"

# 重新生成
regenerate: clean build

# 运行应用
run:
	@echo "🚀 运行应用..."
	@flutter run

# 运行测试
test:
	@echo "🧪 运行测试..."
	@flutter test

# 分析代码
analyze:
	@echo "🔍 分析代码..."
	@dart analyze

# 格式化代码
format:
	@echo "📐 格式化代码..."
	@dart format lib/

# 检查代码质量
check: analyze test
	@echo "✅ 代码质量检查完成"

