【发布时间】:2012-07-03 15:50:15
【问题描述】:
我的 SCM 连接信息:
<scm>
<connection>scm:svn:https://repo/project/trunk</connection>
<developerConnection>scm:svn:https://repo/project/trunk</developerConnection>
</scm>
我的发布插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<tag>RC</tag>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
现在当我运行mvn release:prepare 时,它不会在tags/RC 下提交我的标记版本,而是在tags/RC/trunk 下提交。如何阻止它在RC 下添加trunk?
【问题讨论】:
-
你配置了标签吗?如果您在 SVN 中使用默认布局,则无需配置。
-
如果不配置标签,则由开发者在准备发布时指定标签。我们不希望那样。我们只是想要标记当前版本,这意味着它已准备好生产。
-
那是完全错误的。该标签默认由 artifactId 加上版本创建。发布插件会询问您,但您可以接受默认值,但如果您在命令行上给出 -B,它将自动执行操作,无需任何用户交互,而是使用默认值(版本增量等)。
-
这仍然给开发人员留下了错误的余地。如果 POM 中有标签名称,那么它不会询问您要标记什么。除了仍然没有回答我的问题的事实,实际上与我想要的相反。我不希望它默认为 artifactId 加上版本。我每次都想要相同的标签。
-
每次都使用相同的标签是没有意义的,因为如果你通过 Maven 发布这将创建一个新版本并且与之相关是没有意义的。如果你有一个已发布的工件,pom 中只有一个标签名称,通常你有一个 SNAPSHOT 版本,这意味着将使用 scm 区域中的主干。
标签: maven pom.xml maven-release-plugin