【发布时间】:2015-06-20 15:51:12
【问题描述】:
我有两个 maven 项目:
- 构建几个 OSGi 包并创建一个包含它们的本地 p2 存储库
- 另一个使用这些包构建了一个带有 tycho 的 Eclipse 插件
当我单独执行它们时,一切正常:第一次执行创建存储库,第二次可以使用它。
但我想创建一个执行两者的 pom。简单的方法:
<modules>
<module>p2-repository-generator</module>
<module>tycho-project</module>
</modules>
不起作用,因为 tycho 甚至在它存在之前就尝试使用第一个 pom 生成的存储库as described here。
我可以使用 maven 顺序执行两个 maven 任务,而无需外部工具吗?或者我可以将 tycho 的依赖挂钩延迟到构建中的稍后时间点吗?
澄清一下:
-
tycho-project依赖于p2-repository-generator,所以在它之后执行。 - 但 Tycho 使用自定义的 lifecycle participant,它尝试通过
afterProjectsRead回调解决 p2 依赖关系 - 这为时过早,因为 p2 存储库只有在p2-repository-generator构建后才会存在。 - 这个聚合器在我手动执行一次
p2-repository-generator后工作,因为那时tycho-project能够找到它生成的 p2 存储库
【问题讨论】:
-
供参考:有plans to make Tycho not already resolve dependencies in afterProjectsRead,但实现起来还需要一段时间。