Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Maven release plugin, version in custom tag name


Автор: Wissenstein 21.2.2013, 22:23
Имеется проект под управлением Maven. Стоит задача автоматизировать создание релизов, при том, что в репозитарии имена тэгов (tags/ContestServer-3.1-IR16, tags/ContestServer-3.1-IR17, …) не совпадают с artifactId проекта (<artifactId>contest-server-modules</artifactId>). Я в соответствующем месте добавил в POM такой элемент:
Код

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <tagBase>http://svn.blabla.net/svn/contest/ContestServer/tags</tagBase>
                    <branchBase>http://svn.blabla.net/svn/contest/ContestServer/branches</branchBase>
                    <preparationGoals>clean install</preparationGoals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <scmCommentPrefix>BLABLA-1234. </scmCommentPrefix>
                    <tag>ContestServer-${releaseVersion}</tag>
                    <goals>install</goals>
                    <!-- Enable the release profile -->
                    <releaseProfiles>release</releaseProfiles>
                </configuration>
            </plugin>

То есть, чтобы в SVN появлялись тэги с правильными именами, я использую элемент <tag>ContestServer-${releaseVersion}</tag>.
Я не могу записать <tag>ContestServer-${project.version}</tag>, потому что в результате получу tags/ContestServer-3.1-IR18-SNAPSHOT</tag>,
так что сейчас при запуске создания релиза мне приходится вручную указывать значение версии релиза:

mvn release:prepare -DreleaseVersion=3.1-IR18

Вот, прошу помощи в этом вопросе. Есть ли у кого-нибудь из вас, коллеги, идеи о том, как можно автоматизировать этот момент: взять текущую версию проекта, отбросить суффикс -SNAPSHOT и присвоить результат переменной releaseVersion перед вызовом mvn release:prepare?

Автор: mstalker26 24.2.2013, 15:15
используйте <tagNameFormat>

EDIT: http://maven.apache.org/maven-release/maven-release-plugin/examples/prepare-release.html#Overriding_the_default_tag_name_format

Автор: Wissenstein 26.2.2013, 01:16
Спасибо!
Это как раз то, что нужно.
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)