我们想用mvn release:prepare
来发布我们的版本。但是,我们也构建了一个依赖项,并且都构建了使用SNAPSHOTs。如何将两个Maven目标链接到另一个之前执行?
Maven的版本,插件可以帮助我们解决这个问题,所以我们的构建过程是:
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
请任何人都可以做得更好?在这样复杂的层面上,我宁愿只记录三条线。
的多金属氧酸盐是很漫长的,希望这有助于:
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以使用这些版本。
可以给出您正在使用该项目的pom的摘录吗? mvn版本:update-parent对我来说似乎有点奇怪...通常在多模块中构建一个mvn版本:prepare release:perform就够了... – khmarbaise 2012-03-19 17:55:48
@khmarbaise,你可能是对的,m-release -p会为我们做更新父项,但我不认为它会设法更新Child.version属性。如果确实如此,那将解决问题! – lxs 2012-03-20 12:00:58
是否与家长处于同一水平?如果是,那么您需要首先释放父结构,并且可以通过使用mvn发布周期(可能需要在Main中更新父项)才能释放主结构。但是根据你的描述,听起来像Main必须是Parent下的一个子级别正确吗? – khmarbaise 2012-03-20 15:13:11