在我们的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发布插件" prepare"项目A上的目标,默认情况下它会将标记创建为" tags / project_a-x.x",这与我上面的标记命名方案不匹配。因此,我依赖于发布者(即一个易犯错误的人)来发现这一点,并将标签更改为" tags / project_a / x.x"。如何告诉发布插件默认使用正确的格式?
"准备"目标有一个" 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>
...然后创建的标签是&#34;标签/ project_a / x.x-SNAPSHOT&#34;,即它使用预发行版本号而不是发行版本号。将标签名称硬编码到POM中似乎也是错误的。
默认情况下,如何确保标签正确无误?
答案 0 :(得分:11)
发布插件现在支持tagNameFormat
configuration option,默认为@{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>
答案 1 :(得分:2)
看起来这是不可能的,直到修复了其中一个错误:
答案 2 :(得分:0)
如果您要传递releaseVersion,则可以执行此操作:
<tag>${project.artifactId}/${releaseVersion}</tag>