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

时间:2013-06-18 14:50:47

标签: git maven githooks

有没有办法可以使用git commit hook自动更新git提交中的pom.xml文件?

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

例如。

如果我从主人那里退房,我可以在我的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中。因此,如果我基于名为“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>

1 个答案:

答案 0 :(得分:3)

您正在寻找核心Maven或Maven SCM plugin未提供的“开箱即用”的内容。

您必须编写一个在提交后运行的shell脚本,该脚本按照How to programmatically determine the current checked out Git branch以编程方式获取(或创建)分支名称,然后调用mvn versions:set

你也可以做一些像制作自定义Maven插件或maven-ant-run执行这样做的事情,但我认为脚本方法将是你阻力最小的路径。