#!/bin/bash # 测试示例项目脚本 # 用于快速验证 dev_dependencies 功能是否正常工作 set -e echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "🧪 测试 Swagger Generator 示例项目" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" # 检查当前目录 if [ ! -f "pubspec.yaml" ]; then echo "❌ 错误:请在示例项目目录中运行此脚本" echo " cd example/as_dev_dependency" exit 1 fi echo "📂 当前目录: $(pwd)" echo "" # 步骤 1: 清理 echo "🧹 步骤 1/5: 清理旧文件..." rm -rf lib/generated .dart_tool build echo "✅ 清理完成" echo "" # 步骤 2: 安装依赖 echo "📦 步骤 2/5: 安装依赖..." flutter pub get if [ $? -ne 0 ]; then echo "❌ 依赖安装失败" exit 1 fi echo "✅ 依赖安装成功" echo "" # 步骤 3: 生成 API 代码 echo "🚀 步骤 3/5: 生成 API 代码..." dart run swagger_generator_flutter generate --all if [ $? -ne 0 ]; then echo "❌ API 代码生成失败" exit 1 fi echo "✅ API 代码生成成功" echo "" # 步骤 4: 检查生成的文件 echo "🔍 步骤 4/5: 检查生成的文件..." if [ ! -d "lib/generated" ]; then echo "❌ 生成目录不存在" exit 1 fi if [ ! -d "lib/generated/api" ]; then echo "❌ API 目录不存在" exit 1 fi if [ ! -d "lib/generated/api_models" ]; then echo "❌ Models 目录不存在" exit 1 fi # 统计生成的文件 api_files=$(find lib/generated/api -name "*.dart" | wc -l | tr -d ' ') model_files=$(find lib/generated/api_models -name "*.dart" | wc -l | tr -d ' ') echo " 📄 生成的 API 文件: $api_files 个" echo " 📄 生成的 Model 文件: $model_files 个" echo "✅ 文件检查通过" echo "" # 步骤 5: 分析代码 echo "🔬 步骤 5/5: 分析生成的代码..." dart analyze lib/generated 2>&1 | head -20 echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "✨ 测试完成!" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "📊 统计信息:" echo " ✅ API 文件: $api_files 个" echo " ✅ Model 文件: $model_files 个" echo "" echo "📁 生成的文件位置:" echo " lib/generated/api/" echo " lib/generated/api_models/" echo "" echo "🎯 下一步:" echo " 1. 运行 build_runner:" echo " dart run build_runner build --delete-conflicting-outputs" echo "" echo " 2. 运行应用:" echo " flutter run" echo "" echo " 3. 查看生成的代码:" echo " ls -la lib/generated/" echo ""