如何将两个Maven目标链接到另一个之前?

时间:2012-03-19 11:34:26

标签: maven

我们希望使用mvn release:prepare来发布我们的版本。但是,我们还构建了一个依赖项,两个版本都使用SNAPSHOTs。

Maven-versions-plugin可以帮助我们处理这个问题,因此我们的构建过程将是:

mvn versions:update-properties
mvn versions:update-parent
svn ci
mvn release:prepare

我研究了如何将这些链接在一起,我发现最简单的方法就是编写一个带有自定义生命周期的插件:http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-plugins-lifecycle.html

任何人都可以做得更好吗?在这种复杂程度,我宁愿只记录三行。

POM会非常冗长,希望这会有所帮助:

Parent (has a version)
|- ParentFather
|- ParentMother

Main (parent is Parent, has a version, contains property Child.version)
|- MainBrother (depends on MainSon and ParentFather)
|- MainSister
|- MainDaughter (has version Child.version)
|- MainSon (has version Child.version)

因此,要发布Main,这是我的最终目标,我需要释放Parent,Son和Daughter。完成后,我需要更新Main以使用这些版本。

1 个答案:

答案 0 :(得分:1)

如果您想自动化它,一个简单的脚本也可以提供帮助。您甚至可以添加一些返回值的评估,以确保上一步没有失败。

您是否考虑过使用配置文件按顺序执行步骤?您可以将versions插件步骤绑定到项目的早期阶段,然后执行SVN提交(使用SCM插件)和发布。