commiztizen可以更新pom.xml文件吗?



我正在一个Java项目上工作,当我运行命令cz bumpcz changelog更新.cz时,我正在使用commit来强制CI中的语义版本。使用新版本的Yaml和changelog文件,但不更新pom.xml中的版本。是否有一个功能来更新这个文件?

另外:应用程序目前正在由Maven构建

正如我在上面的评论中提到的,有一种方法可以解决这个问题,经过一些测试,我现在想为您提供一个简单的解决方案。

我假设你已经有了.cz.toml文件,并且已经配置好了,并且使用maven作为Java项目的构建系统。

首先,您应该在maven根目录中添加一个scripts文件夹。然后放两个shell脚本进去。第一个是prepare_java_version.sh,内容是:

#!/bin/bash
mvn versions:set -DnewVersion=$CZ_PRE_NEW_VERSION

第二个文件是commit_java_version.sh,在该文件中你放入内容:

#!/bin/bash
mvn versions:commit

现在你必须编辑.cz.toml文件并添加这两个部分:

pre_bump_hooks = [
"scripts/prepare_java_version.sh"
]
post_bump_hooks = [
"scripts/commit_java_version.sh"
]

现在,你可以出发了。

解释:在创建标记之前,commit调用pre_bump_hooks, shell脚本将pom.xml修改为给定的版本。shell脚本中使用的Version是一个由commiten提供的环境变量。

在创建提交和标记之后,调用post_bump_hooks,这个shell脚本再次清理maven repo。版本备份文件被删除,例如。

提示:如果出现问题,并且需要恢复pom.xml中的版本更改,只需调用mvn versions:revert,就可以获得旧版本。但是这只在commit被调用之前起作用。

最新更新