如何确保每个提交新分支的人都将更改反映在pom.xml中



是否有一种方法可以使用git提交钩子自动更新git提交上的pom.xml文件?

我想做的是,我想用基于分支名称的新版本替换旧版本的所有实例。

例如

如果我检查master,我可能会在pom。xml中找到

<dependancy>
  <groupId>com.mycompany</groupId>
  <artifactId>my_component</artifactId>
  <version>master-SNAPSHOT</version>
</dependancy>

<groupId>com.mycompany.project</groupId>
    <artifactId>mainProject</artifactId>
    <version>master-SNAPSHOT</version>
    <name>mainProject</name>

我想做的是确保每个提交新分支的人都在pom.xml中反映了这个新分支。因此,如果我基于master创建一个名为"myNewBranch"的新分支,我希望pom.xml自动更新为以下内容:

<dependancy>
  <groupId>com.mycompany</groupId>
  <artifactId>my_component</artifactId>
  <version>myNewBranch-SNAPSHOT</version>
</dependancy>

<groupId>com.mycompany.project</groupId>
    <artifactId>mainProject</artifactId>
    <version>myNewBranch-SNAPSHOT</version>
    <name>mainProject</name>

您希望做的事情不是由核心Maven或Maven SCM插件提供的"开箱即用"。

你必须编写一个shell脚本,在提交后运行,以编程方式获取(或创建)分支名称,按照如何以编程方式确定当前签出的Git分支,然后调用mvn versions:set

你也可以做一些事情,比如做一个定制的Maven插件或Maven -ant-run执行来做到这一点,但我认为脚本方法对你来说是阻力最小的路径。

最新更新