在Ivy makepom Ant目标中使用多个文件

时间:2012-11-20 14:07:31

标签: ant ivy

我的项目有多个独立的模块,每个模块都有自己的常春藤文件。一些模块是“顶级”的,因为它们不依赖于它们,它们只依赖于其他模块。

我想为这些模块生成一个pom,用于发布我的用户要使用的依赖项。

makepom任务仅通过ivyfile属性接受单个文件。我创建了一个主模块,它声明它依赖于顶级模块并将其提供给makepom,但它不会传递包含顶级模块的依赖关系,它只列出顶级模块本身。

我意识到我可以提供几个pom文件,但为了我的理智,我宁愿只保留一个。

所以我想知道你是否可以以某种方式将多个常春藤文件传递给make pom任务,或者当我使用主Ivy文件时是否有办法让它列出所有依赖项?或者在最坏的情况下,有没有一种简单的方法来合并pom文件而不用手工完成?

2 个答案:

答案 0 :(得分:1)

如果这是一个文档问题,请配置每个模块以生成其传递依赖关系的报告,请参阅常春藤report任务。

makepom任务只接受一个参数,因为就像Maven项目模块只有一个声明其依赖项的文件一样。

也许您可以做的是创建一个父常春藤文件,它依赖于每个子模块?

答案 1 :(得分:0)

正如Mark O'Connor指出的那样,<ivy:report>任务在记录所有传递罐方面做得非常出色。运行时,编译等需要哪些

另一种可能性是使用<ivy:retrieve>将Master模块使用的所有jar检索到空目录中。即使您的项目本身不需要这样做。必需的jar列表将是一个简单的目录列表。