我想用Bazel(基于Bazel的构建)实现编译器警告的获取。我知道有些文件已经可以用于此了。这些文件位于:
$ PROJECT_ROOT /巴泽勒输出/ _TMP / action_outs /
并命名为stderr-XY。
Bazel能够将所有构建事件保存在指定文件中。请注意,目前(Bazel 0.14)该指定文件有3种支持的格式,它们是:文本文件,JSON文件和二进制文件。此问题与 only to binary file 相关。
如果我已正确理解Google's protocol buffers,那么它们的实施和工作的工作流程是:
结束这个问题:
如上所述here: “让Bazel通过指定选项--build_event_binary_file = / path / to / file将协议缓冲区消息序列化为文件。该文件将包含序列化协议缓冲区消息,每条消息都以长度分隔。”
我没有看到避免开发人员想要使用Bazel的功能在二进制文件中编写构建事件这一事实的方法,需要知道“格式”或更简洁地说类架构来读取二进制文件文件。我在这里错过了什么吗?所有这些都可以完成吗?
另外,我尝试使用protoc --decode_raw < bazelbepbinary.bin
并说:
无法解析输入。
所有这些都是在Ubuntu 16.04上完成的,目前我不确定什么是GCC版本,但是当我必须访问该信息时,我会在问题中添加GCC版本。
我的问题是:是否有可能只捕获那些反映构建警告的构建事件(不使用某种过滤器,例如grep
生成的文件?)我已阅读文档并使用:
bazel help build --long | grep "relevant_build_event_protocol_keywords"
并且无法在API中找到类似的内容。