swagger_generator_flutter/bin/main.dart

80 lines
2.3 KiB
Dart

#!/usr/bin/env dart
import 'dart:io';
import 'package:logging/logging.dart';
import 'package:swagger_generator_flutter/swagger_cli_new.dart';
import 'package:swagger_generator_flutter/utils/logger.dart';
/// Swagger CLI 工具主入口
///
/// 这是一个强大的 Swagger API 代码生成工具,可以:
/// - 解析 Swagger/OpenAPI 文档
/// - 生成 Dart 模型类
/// - 生成 API 端点常量
/// - 生成完整的 API 文档
/// - 提供类型安全的代码生成
///
/// 使用方法:
/// `dart run swagger_cli <command> [options]`
///
/// 可用命令:
/// - generate: 生成代码文件
/// - help: 显示帮助信息
/// - version: 显示版本信息
Future<void> main(List<String> arguments) async {
setupLogging(level: Level.ALL);
// 检查是否有参数
var resolvedArgs = arguments;
if (resolvedArgs.isEmpty) {
_showWelcome();
resolvedArgs = ['help'];
}
// 检查特殊命令
if (resolvedArgs.contains('--version') || resolvedArgs.contains('-v')) {
_showVersion();
return;
}
// 使用新版本CLI
final cli = SwaggerCLI();
final exitCode = await cli.run(resolvedArgs);
// 设置退出代码
exit(exitCode);
}
/// 显示欢迎信息
void _showWelcome() {
appLogger
..info('🚀 欢迎使用 Swagger CLI 工具!')
..info('这是一个强大的 Swagger API 代码生成工具,可以帮助您:')
..info(' 📋 解析 Swagger/OpenAPI 文档')
..info(' 🛠️ 生成 Dart 模型类')
..info(' 📡 生成 API 端点常量')
..info(' 📚 生成完整的 API 文档')
..info(' 🔒 提供类型安全的代码生成')
..info('使用 --help 查看详细帮助信息');
}
/// 显示版本信息
void _showVersion() {
appLogger
..info('🚀 Swagger CLI 工具 v2.0.0')
..info('构建信息:')
..info(' - Dart SDK: ${Platform.version}')
..info(' - 平台: ${Platform.operatingSystem}')
..info(' - 架构: ${Platform.version}')
..info('特性:')
..info(' ✨ 现代化的命令行界面')
..info(' 🏗️ 模块化架构设计')
..info(' 🚀 高性能代码生成')
..info(' 🔍 智能类型验证')
..info(' 📊 性能监控和分析')
..info(' 💾 智能缓存机制')
..info(' 📝 丰富的文档生成')
..info('更多信息请访问: https://github.com/yourorg/swagger_cli');
}