我正在使用 maven-release-plugin 2.3.2 并且能够prepare and perform release
.问题是这个。
SVN 回购:http://svnserver:8080/myrepo/test/projectA
Project A
|
branches/
tags/
trunk/
当我第一次做mvn release:perform
时,它会在标签/文件夹中创建这个结构
branches/
tags/
|
ProjectA_1.0.0
|
branches/ <structure from the parent branches/ folder>
tags/
trunk/
当我第二次做mvn release:perform
时,这是输出
branches/
tags/
|
ProjectA_1.0.0
|
branches/<structure from the parent branches/ folder>
tags/
trunk/
ProjectA_1.0.1
|
branches/<structure from the parent branches/ folder>
tags/ProjectA_1.0.0/branches/<structure from the parent branches/ folder>
tags/ProjectA_1.0.0/tags/
tags/ProjectA_1.0.0/trunk
trunk/
等等...整个 1.0.1 将被复制到 1.0.2 中,直到我有一个递归的噩梦:)
虽然如果我转到 Nexus 中的<releases>
存储库,一切都很好,我看到干净的目录,例如
1.0.0
1.0.1
1.0.2
里面有正确的文物。
我已经直接在命令行上使用插件和 Jenkins 使用 M2 发布插件对此进行了测试。相同的结果。这为我指明了某处错误配置的方向,而不是我如何或从哪里调用它。
我对插件或scm
标签做错了什么?
您必须定义要发布的项目的主干,并将其配置到pom的scm区域中.xml:
这意味着定义:
<scm>
<connection>scm:svn:http://svnserver:8080/myrepo/test/projectA/trunk</connection>
<developerConnection>scm:svn:http://svnserver:8080/myrepo/test/projectA/trunk</developerConnection>
</scm>
如果你有一个多模块构建,你必须只在父级而不是子级中定义它。