目前,每次我构建 APK 时,我都需要在 2 个位置手动更新我的构建版本 - 这看起来非常不自动化且违反直觉(我将其与 Jenkins BUILD_ID 进行比较)。
我知道我必须(并且更喜欢这样)手动更新(semver)版本 - 0.2.0。
但肯定有某种进程/设置/插件可以在每次构建时自动更新+3?我读过很多帖子和解决方案,但没有一个真正做到了我期望的效果(除非必须,否则我真的不想要预构建钩子和 perl 正则表达式脚本)。
注意:我还没有推送到 PlayStore - 只是将 APK 分发给核心团队。
pubspec.yaml
version: 0.2.0+3
and
本地属性
flutter.versionName=0.2.0
flutter.versionCode=3
我在用 :
我所做的是使用 shell 脚本来设置内部版本号pubspec.yaml
基于git commit
计数和偏移量。当我需要在不更改提交的情况下增加构建时,例如将相同版本发布到 Beta 和 Prod 时,将使用偏移量。
在我的 Mac 上使用 VSCode,我还设置了启动和任务来在每次构建之前执行脚本,但它也可以手动运行或转换为 Windows BAT 文件(使用适当的 Linux 工具)awk
sed
grep
wc
xargs
安装。
请注意,您需要停止并重新运行(重建)iOS 和 Android 项目,然后它们才能识别更新的构建器编号。
我在 Flutter 项目上方的文件夹中运行它:
#!/bin/bash
path_to_pubspec="flutter_project/pubspec.yaml"
current_version=$(awk '/^version:/ {print $2}' $path_to_pubspec)
current_version_without_build=$(echo "$current_version" | sed 's/\+.*//')
revisionoffset=0
gitcount=`git log | grep "^commit" | wc -l | xargs`
new_version="$current_version_without_build+$gitcount"
echo "Setting pubspec.yaml version $current_version to $new_version"
sed -i "" "s/version: $current_version/version: $new_version/g" $path_to_pubspec
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)