Использование maven-buildnumer-plugin для остановки сборок, если изменения не зафиксированы - PullRequest
2 голосов
/ 20 января 2011

Я использую maven-buildnumer-plugin, чтобы добавить свой номер редакции SVN и дату сборки в нижний колонтитул веб-страниц в проекте Spring MVC. Все хорошо ... подумал я.

У меня нет ошибок, но:

  • Моя конфигурация плагина неверна. Это действительно не возвращает абсолютно последний номер редакции для моего проекта. Я проверил с помощью двух разных IDE, проверяя и проверяя файлы
  • Я бы не согласился с неудачей моего развертывания tomcat в PROD (контролируемом профилями), если у меня есть какие-либо локальные изменения, которые не зафиксированы в SVN и / или если есть изменения в SVN, которые я не впервые извлек и включил. Таким образом, чтобы быть уверенным, PROD всегда является абсолютно последней версией, и редакция может быть воспроизведена.

Мой конфиг выглядит как

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
 <execution>
  <phase>validate</phase>
  <goals>
   <goal>create</goal>
  </goals>
 </execution>
</executions>
<configuration>
 <!-- Username/password stored in personal settings.xml -->
 <username>${plott.scm.username}</username>
 <password>${plott.scm.password}</password>
 <revisionOnScmFailure>0</revisionOnScmFailure>
 <buildNumberPropertyName>buildRevision</buildNumberPropertyName>
 <timestampPropertyName>buildDateTime</timestampPropertyName>
 <timestampFormat>{0,date,yyyy-MM-dd HH:mm:ss}</timestampFormat>
 <doCheck>true</doCheck>
 <doUpdate>false</doUpdate>
 <getRevisionOnlyOnce>false</getRevisionOnlyOnce>
 <useLastCommittedRevision>false</useLastCommittedRevision>
</configuration>

Это генерирует консольный вывод как:

    macbookpro:com.platt.myproject john$ mvn clean tomcat:redeploy
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Mereko
[INFO]    task-segment: [clean, tomcat:redeploy]    
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory /Users/john/Documents/Workspace/Eclipse/3.6_Helios/com.platt.myproject/target
[INFO] Preparing tomcat:redeploy
[INFO] [buildnumber:create {execution: default}]
[INFO] Verifying there are no local modifications ...
[INFO] Executing: /bin/sh -c cd /Users/john/Documents/Workspace/Eclipse/3.6_Helios/com.platt.myproject && svn --username doe.john --password '*****' --non-interactive status
[INFO] Working directory: /Users/john/Documents/Workspace/Eclipse/3.6_Helios/com.platt.myproject
[INFO] Updating project files from SCM: skipped.
[INFO] Executing: /bin/sh -c cd /Users/john/Documents/Workspace/Eclipse/3.6_Helios/com.platt.myproject && svn --username doe.john --password '*****' --non-interactive info
[INFO] Working directory: /Users/john/Documents/Workspace/Eclipse/3.6_Helios/com.platt.myproject
[INFO] Storing buildNumber: 56 at timestamp: 2011-01-20 11:35:48
[INFO] Executing: /bin/sh -c cd /Users/john/Documents/Workspace/Eclipse/3.6_Helios/com.platt.myproject && svn --username doe.john --password '*****' --non-interactive info
[INFO] Working directory: /Users/john/Documents/Workspace/Eclipse/3.6_Helios/com.platt.myproject
[INFO] Storing buildScmBranch: trunk
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 6 resources

(...Continueing and finishing build and deployment)

Любые идеи о том, как я могу

  • Получить действительно последний номер ревизии, зарегистрированный в SVN
  • Убедитесь, что локальные изменения остановят сборку PROD

СПАСИБО

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...