我必须重用当前在 Eclipse 中开发的主要 C++ 项目,使用 CDT、mingw 和 cdt 托管构建功能(没有外部 makefile 或构建环境)。项目本身由许多子项目组成。
我想将该构建集成到持续集成服务器(即詹金斯)中,因此必须能够自动化无头构建。
到目前为止,我设法签出项目(从 jenkins 很容易)并使用 eclipse 以无头模式构建它,使用以下命令:
C:\prog\EclipseCdt\eclipse -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import %WORKSPACE%\project1 -import %WORKSPACE%\project2 -import %WORKSPACE%\project3 -build all
然而这还不够:
- build 是异步的:先前的命令返回(实际上是分叉),而我希望它保持上下文直到我得到结果(就像
make
在 linux 或devenv
windows 上一样) - 我无法提取构建日志(最好将它们放在一个文件中):要集成到我的连续信息中,我需要能够解析我的构建日志以显示有趣的信息(想想损坏的文件)
- 理想情况下,我想从 Eclipse 获得指示通过或失败的直接状态(返回代码)。
知道如何有这种行为吗?
注意:
- 使用备用(外部)构建系统目前不是一种选择(我必须保留 cdt 托管构建,它有很多复杂的历史)
- 尽管我的需求显然很简单,但我已经查看了堆栈溢出和谷歌并没有设法找到一种方法
- 我目前在 windows 7 / mingw 4.5.2 / Eclipse IDE for C/C++ Developers Version: Indigo Release Build id: 20110615-0604 但我认为问题是 x-platform