在Versions Maven Plugin中排除候选版本

时间:2017-10-24 13:47:15

标签: maven maven-3 versioning versions-maven-plugin release-candidate

如何配置Versions Maven插件以排除某些依赖项的候选发布版? 有问题的依赖项版本具有以下格式:

\d+\.\d+\.\d+\.\d+(-rc\d+)? OR <major>.<minor>.<sub>.<incremental>(-rc<number>)

E.g。 4.6.5.24.6.7.0-rc10。因此,发布候选者仅通过其附加后缀来区分。没有单独的maven存储库等。

我在版本2.5中使用的是org.codehaus.mojo:versions-maven-plugin。

1 个答案:

答案 0 :(得分:1)

使用

更新pom.xml
<build>
   <plugins>
      <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>versions-maven-plugin</artifactId>
         <version>2.5</version>
         <configuration>
            <rulesUri>file://${session.executionRootDirectory}/version-rules.xml</rulesUri>
         </configuration>
      </plugin>
   </plugins>
</build>

并在version-rules.xml

中定义以下规则集
<ruleset xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" comparisonMethod="maven"
    xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0 https://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
    <rules>
        <rule groupId="com.example">
            <ignoreVersions>
                <ignoreVersion type="regex">(\d+\.\d+\.\d+\.\d+)-(rc\d+)
                </ignoreVersion>
            </ignoreVersions>
        </rule>
    </rules>
</ruleset>

如上所示,可以按groupId定义规则,如果放入

,则可以全局定义规则
<ignoreVersions>
   <ignoreVersion type="regex">(\d+\.\d+\.\d+\.\d+)-(rc\d+)</ignoreVersion>
</ignoreVersions>

在规则集元素下。