动态生成子pom

时间:2012-09-17 08:40:22

标签: xslt maven

我一直想知道是否可以根据一种特征模型(http://en.wikipedia.org/wiki/Feature_model)动态生成子poms(通过XSLT或类似的东西)。

1 个答案:

答案 0 :(得分:0)

如果您希望它们成为反应堆构建的一部分,则不是。

在任何插件开始运行之前,reactor(所有项目的列表和针对它们运行的​​插件)必须是完整且确定的。

这就是为什么(XPath)/project/parent/groupId/project/parent/artifactId/project/parent/version/project/groupId/project/artifactId/project/version中的属性替换不是允许,因为这将导致不确定的构建计划。

但是,如果你想通过XSLT创建一堆项目,然后在随后的反应器中(读取Maven调用)用它们做些什么,那就行了。

您可以使用Mojo's XML Maven Plugin为您执行XSLT,然后使用Maven Invoker Plugin分叉一个新的反应堆,但您将处于一个中途停留的房子,并坚持您的生命周期阶段配置调用者。