2011-11-21 140 views
1

我们目前使用Maven(v2.2.1)来管理我们的Java项目,包括使用版本:准备和发布:执行版本我们的版本。虽然这非常简单,但我发现自己需要从以前的版本中生成构建工件 - 是否可以让Maven签出给定的(svn)标记并从该版本构建工件?从SVN标签中构建Maven项目

即。我有在SVN项目如下标签:

  • 项目1.0.0
  • 项目1.0.1
  • 项目1.1.0

我想建“项目1.0.1'(或实际上来自该项目的任何标签)。

编辑:

为了澄清什么,我试图做的,考虑release:preparerelease:perform目标。

:prepare:perform Maven的要求做SCM标签应使用此版本,并随后创建标签,检查了这个标签源到一个单独的目录,以产生一种项目的洁净室建造的。

我想要做的是实际执行这最后一部分,因此提供SCM标签(在命令行上,而不是硬在POM编码它,因为那会不会是特别灵活),和Maven愉快地结束代码并执行洁净室构建,导致最终构建工件,与release:perform完全相同。

回答

0

您可能想要使用maven scm plugin来查看bootstrapping a project

通过定义一个包含您的scm配置和指定标签的pom以及所需的maven目标,您可以签出您选择的标签并构建它。

该链接包含一个示例配置。

+0

感谢您的建议,但我们已经在我们的pom中有部分,因为我认为正确使用发布版本时需要这样做:准备和发布:执行。我正在寻找的是一种从其标签重建特定工件的方法(如使用发布过程创建的)。这不是我想要每次都做的事情,所以我真的不想把标签包含在pom中。 – Crollster