Как настроить формат тегов плагина релиза Maven? - PullRequest
11 голосов
/ 17 декабря 2010

В нашем репозитории SVN мы храним такие теги:

trunk
    project_a
    project_b
branches
    project_a
        branch_x
        branch_y
    project_b
tags
    project_a
        1.0
        1.1
    project_b
        1.0

Когда я запускаю цель плагина Maven Release " prepare " в проекте A, по умолчанию он создает тег как "tags / project_a-x.x", который не соответствует моей схеме именования тегов выше. Таким образом, я в зависимости от того, кто делает релиз (т.е. ошибочный человек), чтобы определить это и изменить тег на «tags / project_a / x.x». Как я могу сказать плагину релиза использовать правильный формат по умолчанию?

Цель "prepare" имеет параметр конфигурации " tag ", который утверждает, что делает это, но если я установлю его следующим образом:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <tag>${project.artifactId}/${project.version}</tag>
    </configuration>
</plugin>

... тогда созданным тегом является "tags / project_a / x.x-SNAPSHOT", т. Е. Он использует номер предварительной версии вместо номера версии выпуска. Жесткое кодирование имени тега в POM тоже кажется неправильным.

Как я могу убедиться в правильности тега по умолчанию?

Ответы [ 3 ]

11 голосов
/ 15 декабря 2012

Плагин релиза теперь поддерживает tagNameFormat параметр конфигурации , который по умолчанию равен @{project.artifactId}-@{project.version}. В вашем случае вы можете сделать что-то вроде:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <tagNameFormat>@{project.artifactId}/@{project.version}</tagNameFormat>
    </configuration>
</plugin>
2 голосов
/ 17 декабря 2010

Похоже, что это невозможно, пока не исправлена ​​одна из следующих ошибок:

  • MRELEASE-150 : Невозможно добавить префикс к тегам, не влияя на версию (не запланировано)
  • MRELEASE-159 : поддержка шаблона для создания тега выпуска (запланировано на 2,2)
  • MRELEASE-259 : укажите параметры конфигурации для метки / метки по умолчанию, которые будут использоваться при выпуске (не запланировано)
0 голосов
/ 01 марта 2011

Если вы передаете releaseVersion, вы можете сделать это:

<tag>${project.artifactId}/${releaseVersion}</tag>
...