Flutter版本管理插件magical_version_bump的使用

Flutter版本管理插件magical_version_bump的使用

概述

magical_version_bump 是一个简单的命令行工具。使用它来自动化更新你的yaml/json文件。

GitHub工作流和各种使用此包的动作可以在 magical_workflows 中找到。查看仓库✨

获取开始

# 🎯 在您的机器上激活它

dart pub global activate magical_version_bump

可执行名称

通过 Dart 激活的全局可执行名称是 mag

基本用法

CLI的使用简单直接。

# 检查包版本
$ mag -v

# 打印帮助菜单
$ mag -h

# 打印命令帮助菜单
$ mag <command> -h

更多详情请参阅示例文件夹。

可用命令

修改命令

该命令可以操作现有yaml/json文件的内容。

可用子命令包括:

  • set - 覆盖/追加到yaml/json文件中的节点。了解更多
  • bump - 更新yaml/json文件中的版本。了解更多

默认设置

  • 工具将始终检查当前文件夹中的pubspec.yaml文件。添加 --request-path 标志可以让CLI交互式地请求路径。使用 directory 来指定文件路径。
mag modify bump --targets "major" --request-path
# 将会交互式地请求路径

mag modify bump --targets "major" --directory="my-path/pubspec.yaml"
# 自动检查指定目录
  • 工具将始终采用相对版本策略。集体版本将根据传递的版本位置进行增减。这是由 DartSemVer 推荐的默认版本策略。
mag modify bump --targets "major" # 将版本1.1.1更改为2.0.0

mag modify bump --targets 'minor' # 将版本1.1.1更改为1.2.0

mag modify bump --targets 'patch' # 将版本1.1.1更改为1.1.2
  • 工具允许同时修改多个版本。如果传递了多个版本目标,则权重最高的版本将用于相对增加集体版本。
    • major - 20
    • minor - 10
    • patch - 5
    • build-number - 0
mag modify bump --targets "major,minor,patch"
# 将版本1.1.1更改为2.0.0
# major版本权重最高
  • 如果需要独立地增加每个版本,只需添加 --absolute 标志。
mag modify bump --targets "major,minor,patch" --strategy "absolute"
# 将版本1.1.1更改为2.2.2

已知问题

该工具不能自动增加自定义预发布或构建号。考虑使用 set-prereleaseset-build 作为替代方案。但是,如果您希望实现这一点,请在仓库中创建一个功能请求👍🏼。

如果您发现任何其他问题,请随时提出。希望您喜欢这个包!

所有代码贡献和审查都欢迎❤️。


示例代码

基本语法

mag <command> [<subcommand>]? [<flag> | <option> | <multiOption>]+

更多关于Flutter版本管理插件magical_version_bump的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter版本管理插件magical_version_bump的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何使用Flutter版本管理插件magical_version_bump的代码示例。这个插件可以帮助你自动化地管理和增加Flutter应用的版本号。

安装插件

首先,你需要在你的Flutter项目的pubspec.yaml文件中添加magical_version_bump依赖:

dependencies:
  flutter:
    sdk: flutter
  magical_version_bump: ^最新版本号  # 请替换为最新的版本号

然后运行flutter pub get来安装依赖。

配置脚本

magical_version_bump通常与命令行工具一起使用,所以你可以在项目的根目录下创建一个脚本文件,例如bump_version.dart,来管理版本号的增加。

import 'package:magical_version_bump/magical_version_bump.dart';

void main(List<String> arguments) async {
  // 读取当前的pubspec.yaml文件
  final pubspec = Pubspec.loadSync('.');

  // 打印当前版本号
  print('当前版本号: ${pubspec.version}');

  // 增加版本号(例如:增加patch版本号)
  final newVersion = bumpVersion(pubspec.version, BumpType.patch);

  // 更新pubspec.yaml文件中的版本号
  pubspec.version = newVersion;
  pubspec.saveSync('.');

  // 打印新版本号
  print('新版本号: $newVersion');
}

运行脚本

你可以使用dart命令来运行这个脚本:

dart bump_version.dart

运行后,脚本会读取当前的pubspec.yaml文件,增加版本号(在这个例子中是patch版本号),并保存更新后的文件。

自动化(可选)

你可以将这个脚本集成到你的CI/CD管道中,以便在每次构建时自动更新版本号。以下是一个简单的GitHub Actions工作流示例,它会在每次推送代码到主分支时运行这个脚本:

name: Bump Version

on:
  push:
    branches:
      - main

jobs:
  bump-version:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set up Dart
        uses: dart-lang/setup-dart@v1

      - name: Run version bump script
        run: dart bump_version.dart

      - name: Commit and push changes
        run: |
          git config --global user.name 'github-actions'
          git config --global user.email 'github-actions@github.com'
          git add pubspec.yaml
          git commit -m "Bump version to $(grep -E '^version:' pubspec.yaml | awk '{print $2}')"
          git push

这个工作流会在每次代码推送到主分支时自动运行bump_version.dart脚本,提交并推送更新后的pubspec.yaml文件。

请注意,这只是一个基本的示例,根据你的项目需求,你可能需要调整脚本和工作流配置。

回到顶部