3

如何使用内部版本号插件显示 svn 版本和时间戳。

目前我有以下

<plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <configuration>
                <format>At {0,time} on {0,date} : SVN Revision {1,number}</format>
                <items>
                    <item>timestamp</item>
                    <item>buildNumber</item>
                </items>
                <doCheck>false</doCheck>
                <doUpdate>false</doUpdate>
            </configuration>
        </plugin>
    </plugins>

显示如下:At 8:02:51 AM on Feb 2, 2011 : SVN Revision 1

但是我的 svn 版本是 1123。如果我注释掉<format><items>我会得到正确的 svn 内部版本号。如何同时显示两者?

谢谢

4

4 回答 4

3

正如文档所说,如果您使用 special <item> buildNumber,它不会使用 SVN 修订版,而是创建/读取一个特殊的属性文件。

如果您确实想使用 SVN 修订版,则需要遵循使用页面中第一个示例中指定的配置。其他示例旨在说明不使用 SVN 版本,而是使用本地构建号的用法(如持续集成构建的情况)。

于 2011-02-03T11:47:58.823 回答
3

更新到1.2 版buildnumber-maven-plugin使用scmVersion.

<items>
    <item>timestamp</item>
    <item>scmVersion</item>
</items>

这个SO 响应帮助很大。

于 2012-12-06T23:45:33.897 回答
1

我最终使用buildnumber-maven-plugin不带格式参数来获取 svn 修订版,并使用日期:

<properties>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
    <build.date>${maven.build.timestamp}</build.date>
</properties>

然后,在过滤的资源中:

r${buildNumber}, ${build.date}
于 2012-11-20T14:19:57.003 回答
0

这有关系吗?

“buildNumber 插件将更新你的本地存储库。这样做是因为 'svn info' 从本地存储库中获取修订版,并且不一定与远程存储库中的修订版相同。你可能应该在之前处理这些更改在任何情况下都创建一个构建。同样,可以使用 -Dmaven.buildNumber.doUpdate=false 来抑制这种行为。”

http://mojo.codehaus.org/buildnumber-maven-plugin/usage.html

于 2011-02-02T19:24:20.620 回答