我正在尝试自动构建系统,其中一项任务是在编译器中抛出警告时使构建失败。
我们正在使用sh rake命令进行编译。
如何在警告上失败,有什么方法可以将编译器的输出捕获到缓冲区并进行模式搜索?
谢谢, 帕布
答案 0 :(得分:0)
对于那些偶然发现这个问题的人,并想知道同样的事情,你想要研究像ruby模块Open3这样的东西。
这“允许您访问stdin,stdout,stderr”,因此可以检测构建失败的时间......例如:
def runcommand(cmdLine)
stdout, stderr, status = Open3.capture3(cmdLine)
fail "Build Failed\n#{stderr}" unless status.success?
end