gpt4 book ai didi

java - 如何在 Maven 发布准备更改 pom.xml 之前运行 Maven 执行器规则?

转载 作者:行者123 更新时间:2023-12-02 05:36:53 25 4
gpt4 key购买 nike

我创建了a custom Maven enforcer rule 。该规则将检查 <scm><connection> 的内容值以确保它指向 trunkbranches/* (即不是标签)。此强制执行器在 pom.xml 中配置。像这样:

        <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<dependencies>
<dependency>
<groupId>my.company</groupId>
<artifactId>maven-release-enforcer</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>enforce-release-check</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
<configuration>
<rules>
<releaseCheck implementation="my.company.maven.release.enforcer.MavenReleaseEnforcer"/>
</rules>
</configuration>
</execution>
</executions>
</plugin>

不幸的是,当我们将它与Maven Release插件一起使用时,后一个插件会更改<scm><connection>的内容其期间的值[在此处输入链接描述]prepare 2目标,因此在有效调用执行者之前。这会导致我的自定义规则失败,如 <scm><connection>此时指向一个标签。

所以我的问题:有没有办法在 Maven Release 插件开始修改 pom.xml 之前强制调用执行器?

ps:Jenkins的工作分为2步:mvn clean release:preparemvn release:perform .

最佳答案

当你打电话

mvn clean release:prepare

仅执行clean阶段和prepare目标。

你可以使用

mvn clean validate release:prepare

包含验证阶段或

mvn clean maven-enforcer-plugin:enforce release:prepare

仅触发执行器插件

关于java - 如何在 Maven 发布准备更改 pom.xml 之前运行 Maven 执行器规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24885894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com