我们希望使用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以使用这些版本。
答案 0 :(得分:1)
如果您想自动化它,一个简单的脚本也可以提供帮助。您甚至可以添加一些返回值的评估,以确保上一步没有失败。
您是否考虑过使用配置文件按顺序执行步骤?您可以将versions
插件步骤绑定到项目的早期阶段,然后执行SVN提交(使用SCM插件)和发布。