我想做一个mvn版本:prepare,它将从版本中删除“-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>
但这些并不像我想要的那样。相反,它会从/标签中获取所有内容,并在/标签下重新标记它。
再次,我想要的,从HEAD拿出,放下“-SNAPSHOT”并将其标记在/ tags
答案 0 :(得分:6)
<scm>
标记表示只读连接配置(“连接”元素),读写连接(“developerConnection”)和公开可见的URL。它与标记没有任何关系。在一个小型本地网络中,这三个参数通常是相同的。
对于标记库,您需要配置发布插件:
<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>
答案 1 :(得分:3)
只是想说tagBase参数只与SVN有关! (CVS不使用它,例如。)
答案 2 :(得分:1)
我成功使用maven-release-plugin,developerConnection
指向trunk。
准备发布时,标记是在/tags
目录下创建的(该插件还会更新标记的pom.xml中的connection
和developerConnection
。