Публикация POM через Maven и вставка информации о версии сборки - PullRequest
8 голосов
/ 02 февраля 2010

Я строю проекты Maven через TeamCity / Git и пытаюсь вставить номера сборки TeamCity в файл pom.xml, который публикуется в моем хранилище после успешной сборки. К сожалению, я не могу определить, как опубликовать pom.xml со вставленными заменами.

Мой pom.xml содержит информацию вроде:

<version>${build.number}</version>

где build.number предоставлен TeamCity. Что все builds ок, и если (скажем) build.number = 0.1, то развертывание будет pom.xml для каталога с 0.1. Все хорошо.

Однако развернутый файл pom.xml - это pom.xml без выполненных замен. то есть Maven работает с pom.xml с соответствующими заменами, но развертывает начальную версию, и поэтому я получаю

<version>${build.number}</version>

в финале pom.xml. Как я могу получить номер версии сборки в pom.xml?

Ответы [ 2 ]

3 голосов
/ 02 февраля 2010

Я бы не использовал этот подход, потому что он делает невозможным создание проекта из SCM без предоставления свойства build.number. Я не думаю, что это хорошо. Может быть, я чего-то не хватает, хотя.

На самом деле, я не понимаю, чего именно вы пытаетесь достичь (почему бы вам не написать номер сборки в манифесте, например). Но, согласно Maven Features на сайте Teamcity:

По умолчанию он также синхронизирует номер сборки TeamCity с номером версии Maven (...).

Разве это не может быть полезным? Существует еще одна тема об этом здесь .

1 голос
/ 03 февраля 2010

Попробуйте использовать generateReleasePoms свойство maven-realease-plugin, возможно, это немного поможет.

...