是否有一种方法可以使用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执行来做到这一点,但我认为脚本方法对你来说是阻力最小的路径。