在Maven获取最新发布的版本

时间:2016-12-08 10:40:18

标签: maven

我使用japicmp API遇到此问题,但每个插件都可能存在比较API的问题。

我们说我已经通过以下方式定义了japicmp Maven插件:

<plugin>
    <groupId>com.github.siom79.japicmp</groupId>
    <artifactId>japicmp-maven-plugin</artifactId>
    <version>0.9.3</version>
    <configuration>
        <oldVersion>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>${project.artifactId}</artifactId>
                <version>${lastBaseVersion}</version>
                <type>jar</type>
            </dependency>
        </oldVersion>
        <newVersion>
            <!-- snip -->
        </newVersion>
    </configuration>
</plugin>

这里的问题是lastBaseVersion属性。因为我当然不想在 pom.xml 中维护另一个版本字段。但是,我无法找到如何配置插件以使用最新版本,即使对我来说这是默认用例。

This postxwiki.compatibility.previous.version API使用revapi,但我无法确定该值的来源。 Found it ,它是一个人工维护的财产,所以它对我的情况没有帮助。

如何将我的项目的API与最新版本进行比较?

2 个答案:

答案 0 :(得分:0)

您可以查看具有build-helper-maven-plugin目标的released-version,该目标看起来就像您需要的那样。

答案 1 :(得分:0)

没有默认的maven属性自动包含上次发布的版本。 maven插件必须查找所有版本并过滤掉最后一个版本。关键是你也可能会释放像1.0.0-RC1应由用户决定0.0.9或1.0.0-RC1是否是最后一次发布&#34;版本

但是japicmp可以自动从存储库中获取最新版本。您只需在配置中省略<oldVersion/>块。然后它采用没有SNAPSHOT的最新版本。您可以选择提供正则表达式,以帮助确定要采用的版本:oldVersionPattern