2017-06-12 61 views
2

(從https://groups.google.com/d/msg/bazel-discuss/cIBIP-Oyzzw/caesbhdEAAAJ機解析的錯誤消息

什麼是規則導出有關失敗的信息,使得下游的工具可以將它們包括在用戶界面的推薦方式。

實施例用例: 我跑bazel test //my:target和動作中的一個爲//my:target失敗,因爲有在第7行第10列的未知變量「usrname」在my/target.foo它還要報告,「用戶名」是一個有效變量,這是一個可能的拼寫錯誤。因此想要建議添加一個「e」字符。

我曾經想過這樣做的一種方法是讓我的操作生成//my:target.errors的單獨文件,該文件位於單獨的輸出組中,並且除了可以在stdout上讀取人類可讀數據之外,還可以在其中寫入機器可解析的數據。

然後我可以找到所有這些文件,並在下游工具中解析它們中的數據。

是否有任何此前的工作,或者一切都試圖解析人類可讀的輸出?

回答

1

我建議運行錯誤檢查程序作爲額外的操作。

我不認爲Bazel目前像你描述的自定義錯誤處理程序掛鉤。請考慮打開功能請求:https://github.com/bazelbuild/bazel/issues/new

+0

更新:請參閱繼續討論的[email thread](https://groups.google.com/d/msg/bazel-discuss/cIBIP-Oyzzw/caesbhdEAAAJ)。 –