bazel - 使用 Bazel,您如何从二进制文件中检索标记信息?
问题描述
该手册详细介绍了如何使用构建信息标记二进制文件 ( https://docs.bazel.build/versions/master/user-manual.html )。
我的问题是“你如何从二进制文件中读取这些信息?”
解决方案
这取决于您在谈论哪种二进制文件。他们中的大多数都没有很好的记录。我主要通过阅读 Bazel 源代码,研究了如何为某些语言做到这一点。
对于 C++,您将 a 的(未记录的)linkstamp
属性设置cc_library
为一个.cc
文件,该文件将具有BUILD_SCM_REVISION
, BUILD_TIMESTAMP
,其余部分在编译时定义为适当的值。bazelbuild/bazel#2893是一个开放的错误,可以更好地记录这一点。
对于 a genrule
,您将stamp
属性设置为1
,然后它可以访问bazel-out/volatile-status.txt
/bazel-out/stable-status.txt
与信息。bazelbuild/bazel#944谈到了这一点。
我见过 Bazel 代码用于.properties
处理 Java 文件,但我从未真正弄清楚如何使用它。
推荐阅读
- r - 箱线图和散点图并排
- angular - Angular 6 - 使用 @Input 运算符获取字符串。价值未知
- javascript - addEventListener 到链接不起作用
- javascript - 在我的模板垂直菜单栏中,我希望它在页面加载时隐藏
- javascript - 将参数传递给控制器 JS(剑道数据源)
- c++ - 如何使用boost属性树使用boost解析json字符串中的数组元素?
- bash - dig linux 脚本显示来自 txt 文件的结果
- java - 如何从 ValueEventListener Firebase 中检索数据
- android - 在 android studio 中使用语音识别器
- java - VM加载接口时调用一些代码