在我们的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
当我在项目A上运行Maven发布插件的“prepare“目标时,默认情况下它创建的标记为“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条答案
按热度按时间qzwqbdag1#
发布插件现在支持
tagNameFormat
配置选项,默认为@{project.artifactId}-@{project.version}
。在你的情况下,你可以做一些类似的事情:请注意,为了确保在发布期间进行插值,必须使用
@{...}
而不是${...}
来引用属性。qlckcl4x2#
看起来这是不可能的,直到其中一个bug被修复:
6jjcrrmo3#
如果你正在传入releaseVersion,你可以这样做: