Maven pom.xml, SCM и релиз - PullRequest
       6

Maven pom.xml, SCM и релиз

6 голосов
/ 01 марта 2012

Я хочу сделать mvn-релиз: подготовить, который удалит «-SNAPSHOT» из версии и пометит его в SVN.

У меня есть эти настройки в pom.xml:

<scm>
  <connection>scm:svn:http://subversion.local:3690/svn/projects/x/trunk</connection>
  <developerConnection>scm:svn:http://subversion.local:3690/svn/projects/x/tags</developerConnection>
  <url>scm:svn:http://subversion.loi.local:3690/svn/projects/x/tags</url>
 </scm>

Но они не ведут себя так, как я хотел.Вместо этого он получает все из тегов /, повторно тегирует его в /tags.

Итак, еще раз, что я хочу, возьмите из HEAD, бросьте "-SNAPSHOT" и отметьте его в / tags

Ответы [ 3 ]

6 голосов
/ 01 марта 2012

Тег <scm> обозначает конфигурацию соединения только для чтения (элемент «соединение»), соединение чтения-записи («developerConnection») и общедоступный URL-адрес. Это не имеет ничего общего с тегами. В небольшой локальной сети обычно эти 3 параметра одинаковы.

Для базы тегов необходимо настроить плагин релиза:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <configuration>
        <tagBase>scm:svn:http://subversion.local:3690/svn/projects/x/tags</tagBase>
        <autoVersionSubmodules>true</autoVersionSubmodules>
    </configuration>
</plugin>
3 голосов
/ 18 октября 2012

просто хотел сказать, что параметр tagBase актуален только для SVN! (CVS не использует его, например.)

1 голос
/ 01 марта 2012

Я успешно использую maven-release-plugin с developerConnection, указывающим на транк.

При подготовке релиза тег создается в каталоге /tags (плагин также обновляет connection и developerConnection в pom.xml тега.

...