gtr*_*rak 9 java build-automation maven-2 buildnumber-maven-plugin
在使用maven-buildnumber-plugin 1.0 beta 4时,似乎我可以获得svn修订版,除非我<format>
在配置中使用标记.一旦我使用<format>
和<item>buildnumber</item>
标记,我得到一个自动递增的数字,但它不再对应于svn修订版,我不知道如何取回它.有没有办法在s内使用svn修订号<format>
?文档不是很清楚.
jgi*_*d25 10
buildnumber-maven-plugin非常古怪,这可能就是它仍然是测试版的原因.格式是仅适用于那些希望将Java消息格式适用于在大多数情况下,它只能与时间戳和文字字符串有用的物品.如果您不需要时间戳,请在获取Subversion修订号时不要使用format选项.如果您使用该格式,那么就像您指示的那样,它将为您提供一个始终以1而不是SCM版本号递增的内部版本号.
如果你确实需要的时间戳或有其他物品从buildnumber插件的推导,以及Subversion的修订,做好每一个作为单独执行.下面是如何使用插件的两个单独执行来获取Subverison修订版号和构建时间戳的示例:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
<execution>
<id>generate-buildnumber</id>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
<configuration>
<useLastCommittedRevision>true</useLastCommittedRevision>
<buildNumberPropertyName>buildRevision</buildNumberPropertyName>
</configuration>
</execution>
<execution>
<id>generate-timestamp</id>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
<configuration>
<format>{0,date,yyyy-MM-dd HH:mm:ss}</format>
<items>
<item>timestamp</item>
</items>
<buildNumberPropertyName>buildDateTime</buildNumberPropertyName>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
使这项工作的关键是使用buildNumberPropertyName元素.查看插件的Usage页面,了解有关Java消息格式有用性的更多信息.