Flutter版本管理辅助插件version_assist的使用
Flutter版本管理辅助插件version_assist的使用
安装 🚀
如果CLI应用在pub
上可用,可以通过以下命令全局激活:
dart pub global activate version_assist
本地开发 🛠️
1. 克隆仓库
git clone git@github.com:kuyazee/Version-Assist.git
cd version_assist
2. 安装依赖
dart pub get
3. 在开发期间本地运行
# 直接用Dart运行
dart run bin/version_assist.dart bump
# 如果有make命令,可以使用
dart run bin/version_assist.dart bump --path=/path/to/pubspec.yaml
4. 本地激活以进行测试
# 从version_assist目录运行
dart pub global activate --source path .
# 现在可以像全局命令一样运行它
version_assist bump
使用
版本升级
该工具支持几种版本控制选项:
语义化版本控制(major.minor.patch)
- 主版本(x.0.0):不兼容变更
- 次版本(0.x.0):新增功能,向下兼容
- 补丁版本(0.0.x):修复bug,向下兼容
版本格式
- 不带构建号:
1.0.0
(默认) - 带构建号:
1.0.0+1
(可选)
构建号选项
- 简单递增:增加构建号1
- 基于日期的格式:使用格式
yymmddbn
,其中:yy
:年(例如,24代表2024年)mm
:月(01-12)dd
:日(01-31)bn
:当日的构建号(00-99)
基本使用示例:
# 语义化版本升级(保持格式不变)
$ version_assist bump --major # 1.0.0 -> 2.0.0
$ version_assist bump --minor # 1.0.0 -> 1.1.0
$ version_assist bump --patch # 1.0.0 -> 1.0.1
# 构建号管理
$ version_assist bump --add-build-number # 1.0.0 -> 1.0.0+1
$ version_assist bump --date-based-build-number # 1.0.0 -> 1.0.0+24020800
$ version_assist bump --no-build-number # 1.0.0+1 -> 1.0.0
# 组合操作
$ version_assist bump --major --add-build-number # 1.0.0 -> 2.0.0+1
$ version_assist bump --minor --no-build-number # 1.0.0+1 -> 1.1.0
# 预览更改而不实际执行
$ version_assist bump --dry-run
设置版本
手动设置特定版本号:
# 设置不带构建号的版本
$ version_assist set --version 2.0.0 # 设置版本为2.0.0
# 设置带构建号的版本
$ version_assist set --version 2.0.0+1 # 设置版本为2.0.0+1
# 预览更改而不实际执行
$ version_assist set --version 2.0.0 --dry-run
# 设置版本并创建提交/标签
$ version_assist set --version 2.0.0 --auto-commit
选项:
--version, -v
:要设置的版本(必需,格式为x.y.z或x.y.z+build)--path, -p
:pubspec.yaml路径(默认:pubspec.yaml)--dry-run, -d
:显示将发生的情况而不做更改--auto-commit
:自动提交和标记版本更改
版本控制
该工具提供了两种方式来创建版本提交和标签:
使用commit
命令(推荐):
# 首先升级版本
$ version_assist bump --major
# 然后创建提交和标签
$ version_assist commit
使用--auto-commit
标志与bump
命令(遗留):
$ version_assist bump --major --auto-commit
这两种方法都会:
- 使用
git add
添加pubspec.yaml文件 - 创建一个提交消息为
build(version): Bump version to {version}
的提交 - 创建一个git标签
单独的commit
命令提供了更多的灵活性,可以独立使用:
# 创建版本提交和标签
$ version_assist commit
# 预览提交而不实际执行
$ version_assist commit --dry-run
# 使用自定义pubspec路径
$ version_assist commit --path=/path/to/pubspec.yaml
更新版本徽章
更新README.md中的版本徽章,使其与pubspec.yaml中的当前版本匹配。这对于保持文档与包版本同步非常有用。
# 更新版本徽章
$ version_assist badge
# 预览更改而不实际执行
$ version_assist badge --dry-run
# 使用自定义文件路径
$ version_assist badge --pubspec-path=/path/to/pubspec.yaml --readme-path=/path/to/README.md
选项:
--pubspec-path, -p
:pubspec.yaml路径(默认:pubspec.yaml)--readme-path, -r
:README.md路径(默认:README.md)--dry-run, -d
:显示将发生的情况而不做更改
更新CLI
更新CLI工具到最新版本。
$ version_assist update
通用命令
# 显示CLI版本
$ version_assist --version
# 显示帮助信息
$ version_assist --help
运行测试并查看覆盖率 🧪
要运行所有单元测试,请使用以下命令:
$ dart pub global activate coverage 1.2.0
$ dart test --coverage=coverage
$ dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info
要查看生成的覆盖率报告,可以使用lcov。
# 生成覆盖率报告
$ genhtml coverage/lcov.info -o coverage/
# 打开覆盖率报告
$ open coverage/index.html
更多关于Flutter版本管理辅助插件version_assist的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter版本管理辅助插件version_assist的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用version_assist
插件来管理版本的一个示例。version_assist
是一个用于简化Flutter项目版本管理的插件,尽管它不是Flutter官方提供的插件,但假设它提供了类似功能,我们可以编写一个示例来展示如何使用它。
首先,你需要在pubspec.yaml
文件中添加version_assist
依赖:
dependencies:
flutter:
sdk: flutter
version_assist: ^x.y.z # 请替换为实际的版本号
然后,运行flutter pub get
来安装依赖。
接下来,在你的Flutter项目中,你可以使用version_assist
来读取和修改pubspec.yaml
文件中的版本号。以下是一个示例代码,展示了如何使用该插件来读取和更新版本:
import 'package:version_assist/version_assist.dart'; // 假设这是插件的导入路径
import 'package:yaml/yaml.dart'; // 这个库通常用于解析YAML文件
void main() async {
// 读取pubspec.yaml文件
File pubspecFile = File('pubspec.yaml');
String yamlContent = await pubspecFile.readAsString();
// 解析YAML内容
YamlMap yamlMap = loadYaml(yamlContent) as YamlMap;
String currentVersion = yamlMap['version'] as String;
print('Current version: $currentVersion');
// 使用version_assist插件来更新版本(假设插件提供了这样的API)
// 注意:这里的API是假设的,具体API请参考version_assist的文档
VersionAssist versionAssist = VersionAssist(pubspecFilePath: 'pubspec.yaml');
// 更新版本号(例如,增加补丁版本号)
String newVersion = versionAssist.incrementPatch();
// 将新版本号写回pubspec.yaml文件
yamlMap['version'] = newVersion;
String newYamlContent = Yaml().dump(yamlMap);
await pubspecFile.writeAsString(newYamlContent);
print('Updated version: $newVersion');
}
注意:
- 上面的代码示例是基于假设
version_assist
提供了incrementPatch()
等方法的。实际使用时,你需要参考version_assist
的文档来确定其提供的API。 - 通常情况下,版本管理工具可能会有自己的命令行接口(CLI)或者更高级的功能,如自动化提交和标签创建等。在实际项目中,你可能需要更复杂的脚本来处理这些任务。
- 由于
version_assist
并不是Flutter官方插件,所以具体的API和实现可能会有所不同。如果你找不到这个插件,或者它不支持你需要的功能,你可以考虑使用其他工具或手动管理版本。
希望这个示例能帮助你理解如何在Flutter项目中使用版本管理辅助插件。如果你有任何其他问题,欢迎继续提问!