如何使用内部版本号插件显示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版本号。如何显示两者?
由于
答案 0 :(得分:3)
正如documentation所说,如果您使用特殊的<item>
buildNumber
,它不会使用SVN修订版,而是创建/读取特殊的属性文件。
如果您确实想使用SVN修订版,则需要遵循usage页面中第一个例子中指定的配置。其他示例旨在说明不使用SVN修订版的用法,而是使用本地版本号(如在持续集成版本的情况下)。
答案 1 :(得分:3)
更新至buildnumber-maven-plugin
的{{3}}并使用scmVersion
。
<items>
<item>timestamp</item>
<item>scmVersion</item>
</items>
受到version 1.2的极大帮助。
答案 2 :(得分: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}
答案 3 :(得分:0)
这有关系吗?
“buildNumber插件将更新您的本地存储库。这样做是因为'svn info'从本地存储库中获取修订版,并且不一定与远程存储库中的修订版相同。您可能应该处理在任何情况下创建构建之前的这些更改。同样,可以使用-Dmaven.buildNumber.doUpdate = false来抑制此行为。“
http://mojo.codehaus.org/buildnumber-maven-plugin/usage.html