swagger_generator_flutter/example/as_dev_dependency/test_example.sh

108 lines
2.8 KiB
Bash
Executable File

#!/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 ""