ninja - 确定哪些目标在忍者中一次全部失败
问题描述
有时我想一次构建多个目标:
$ ninja A B C D -j10
这些目标中的一些可能无法构建。有什么我可以做到的:
- 将成功构建所有可以成功构建的东西,并且
- 会向我报告未能构建的目标列表吗?
以下将起作用,但我觉得应该有一种更有效的方法:
for target in A B C D; do
if ! ninja ${target} -j10 >/dev/null 2>/dev/null; then
echo "${target} failed"
fi
done
解决方案
偶然发现这个,因为我有同样的问题。
有什么我可以成功构建所有可以成功构建的东西 [...]
是的,就像make
您可以提供-k
选项一样。
-k N keep going until N jobs fail [default=1]
继续构建,直到所有任务完成或失败:
ninja -k 0
结合这与知道失败的目标将FAILED: <target_name>
在标准输出上列出:
ninja -k0 | grep FAILED > failed_targets.log
推荐阅读
- reactjs - REACT 如何使用 google-map-react 绘制路线?
- google-cloud-platform - 用户无法记住谷歌控制台登录详细信息
- highcharts - 从公共数据(json)中获取Highchart(/Highstock)
- android - 启动隐形活动以获取服务权限
- ios - ios:我需要填充一半的 UIImage
- javascript - React props 无法编译为属性值
- swift - 自定义 UITableView 内的 UITextField 在 Swift 中为零
- java - Spring 无法发送 smtp:mail com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 必须先发出 STARTTLS 命令
- python - 为什么 Python 网站上的下载按钮不起作用
- azure-deployment-slots - 使用 Azure 部署槽处理数据库更改