Как отобразить версию SVN в Maven с помощью плагина номера сборки
Как отобразить версию 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 ответа
Как сказано в документации, если вы используете специальный <item>
buildNumber
, он не использует SVN Revision, но вместо этого создает / читает специальный файл свойств.
Если вы хотите использовать SVN-ревизию, вам нужно следовать конфигурации, указанной в первом примере на странице использования. Другие примеры предназначены для иллюстрации использования, которое использует не ревизию SVN, а локальный номер сборки (как в случае сборок с непрерывной интеграцией).
Обновление до версии 1.2 buildnumber-maven-plugin
и использовать scmVersion
,
<items>
<item>timestamp</item>
<item>scmVersion</item>
</items>
Очень помог этот ответ SO.
Я в конечном итоге с помощью 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}
Имеет ли это значение?
"Плагин buildNumber обновит ваш локальный репозиторий. Это сделано потому, что 'svn info' извлекает ревизию из вашего локального репозитория и не обязательно совпадает с ревизией в удаленном репозитории. Вероятно, вы должны иметь дело с этими изменениями до того, как создание сборки в любом случае. Опять же, это поведение может быть подавлено с -Dmaven.buildNumber.doUpdate = false. "
http://mojo.codehaus.org/buildnumber-maven-plugin/usage.html