使用maven-release-plugin,如何分支模块及其子代?

时间:2011-06-13 21:04:51

标签: maven maven-release-plugin

假设你有一个名为“parent”的模块,它有2个孩子“childA”和“ChildB”

如果我跑

mvn release:branch -DbranchName=my-branch

在“父”文件夹中,它会将父模块代码分支到SVN / branches / my-branch而不包含2个子模块。

我想发布:branch将父模块及其所有子节点分支到

  • /支链/我的分支/父
  • /支链/我的分支/ childA
  • /支链/我的分支/ childB

我在doc中找不到任何解决方案:

可行吗?

感谢任何帮助,谢谢

佛瑞德

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。

如果模块是分层结构的,那么它可以工作:

/中继/亲 /中继/父/ childA /中继/父/ childB

必须确保SCM参数100%正确。

即:

/trunk/parent/pom.xml

<scm>
    <connection>scm:svn:https://svnserver:18080/svn/trunk</connection>
    <developerConnection>scm:svn:https://svnserver:18080/svn/trunk</developerConnection>
    <url>https://svnserver:18080/viewvc/trunk</url>
</scm>

/trunk/parent/childA/pom.xml

<scm>
    <connection>scm:svn:https://svnserver:18080/svn/trunk/childA</connection>
    <developerConnection>scm:svn:https://svnserver:18080/svn/trunk/childA</developerConnection>
    <url>https://svnserver:18080/viewvc/trunk/childA</url>
</scm>

/trunk/parent/childB/pom.xml

<scm>
    <connection>scm:svn:https://svnserver:18080/svn/trunk/childB</connection>
    <developerConnection>scm:svn:https://svnserver:18080/svn/trunk/childB</developerConnection>
    <url>https://svnserver:18080/viewvc/trunk/childB</url>
</scm>

然后当您运行以下命令时: mvn release:branch -DbranchName = -DupdateBranchVersions = true -DupdateWorkingCopyVersions = true -DreleaseVersion = -DdevelopmentVersion =

所有模块都正确分支到/ branches /所有版本和SCM属性自动更新