# DD Flutter CLI
这是一个用于管理 Flutter 项目的命令行工具,可以帮助你快速扫描、更新和管理多个 Flutter 项目。
## 功能特点
- 扫描并显示所有 Flutter 项目的信息
- 批量更新项目版本号
- 批量更新依赖到最新版本
- 支持忽略特定项目
- 支持更新开发依赖
- 按项目名称长度排序显示
## 安装
使用 Cargo 安装:
```bash
cargo install --path .
```
## 使用方法
### 扫描项目
显示所有 Flutter 项目及其版本号:
```bash
dd_flutter_cli scan
```
指定项目路径:
```bash
dd_flutter_cli scan --path /path/to/projects
```
忽略特定项目:
```bash
dd_flutter_cli --ignore-scan-name project1,project2 scan
```
指定项目路径并忽略特定项目:
```bash
dd_flutter_cli --ignore-scan-name project1,project2 scan --path /path/to/projects
```
### 更新项目版本号
将所有项目的版本号更新为指定版本:
```bash
dd_flutter_cli update-version --version 1.0.0
```
指定项目路径并更新版本号:
```bash
dd_flutter_cli update-version --version 1.0.0 --path /path/to/projects
```
更新版本号时忽略特定项目:
```bash
dd_flutter_cli --ignore-scan-name project1,project2 update-version --version 2.0.0
```
### 更新依赖版本
更新所有项目的依赖到最新版本:
```bash
dd_flutter_cli update-deps
```
指定项目路径并更新依赖:
```bash
dd_flutter_cli update-deps --path /path/to/projects
```
更新包括开发依赖在内的所有依赖:
```bash
dd_flutter_cli update-deps --include-dev
```
更新依赖时忽略特定项目:
```bash
dd_flutter_cli --ignore-scan-name project1,project2 update-deps
```
指定项目路径并更新包括开发依赖在内的所有依赖:
```bash
dd_flutter_cli update-deps --include-dev --path /path/to/projects
```
## 输出示例
### 扫描项目
```
ui: 1.0.0
app: 2.0.0
core: 1.5.0
utils: 0.1.0
mobile: 3.0.0
```
### 更新依赖
```
正在检查依赖更新...
处理项目: my_flutter_app
已更新的依赖:
flutter_lints 2.0.1 -> 2.0.3
http 0.13.0 -> 0.13.5
处理项目: another_app
所有依赖已是最新版本
```
## 注意事项
1. 该工具会递归扫描当前目录下的所有 Flutter 项目
2. 项目的识别是通过查找 `pubspec.yaml` 文件实现的
3. 更新依赖版本时,只会更新已经指定了版本号的依赖
4. 所有操作都支持通过 `--ignore-scan-name` 参数忽略特定项目
5. 依赖版本更新功能使用 pub.dev 中国镜像源
## 错误处理
工具会显示详细的错误信息:
- 文件读写错误
- YAML 解析错误
- 依赖版本查询错误
## 贡献
欢迎提交 Issue 和 Pull Request!
## 许可证
[MIT License](LICENSE)