机器可解析的错误消息

时间:2017-06-12 08:06:29

标签: bazel

(来自https://groups.google.com/d/msg/bazel-discuss/cIBIP-Oyzzw/caesbhdEAAAJ

规则导出失败信息的建议方式是什么,以便下游工具可以将其包含在UI中。

示例用例: 我运行bazel test //my:target//my:target的其中一个操作失败,因为有一个未知变量" usrname"在my/target.foo第7行第10列。它还要报告"用户名"是一个有效的变量,这可能是拼写错误。因此想要建议增加一个" e"字符。

我认为这样做的一种方法是拥有一个单独的文件,我的动作生成//my:target.errors,它位于一个单独的输出组中,并且除了stdout上的人类可读数据外,还可以在其中编写机器可解析数据。

然后,我可以找到所有这些文件,并在下游工具中解析其中的数据。

是否有任何先前的工作,或者只是尝试解析人类可读的输出?

1 个答案:

答案 0 :(得分:0)

我建议将错误检查器作为额外操作运行。

我不认为Bazel目前有像你描述的自定义错误处理程序的钩子。请考虑打开功能请求:https://github.com/bazelbuild/bazel/issues/new