【问题标题】:bazel logging inside of a BUILD filebazel 记录在 BUILD 文件中
【发布时间】:2021-09-24 13:31:28
【问题描述】:

您好,我想看看传递给rules.bzl 文件中定义的规则的内容。所以我想在BUILD 文件或rules.bzl 文件中添加一个日志语句,以查看传递了什么参数。我意识到有一个完整的--execution_log_binary_file 并且有很多东西需要阅读,但我绝对希望只做一次快速而肮脏的事情。我要导入logging 模块吗?是别的吗?谢谢

【问题讨论】:

    标签: python python-3.x bazel bazel-rules bazel-python


    【解决方案1】:

    使用 BUILD.bzl 文件中的内置 Starlark print() function 转储值 Bazel 的控制台。

    【讨论】:

    • 但这会立即打印出来,而不是在执行期间
    • 执行什么?几乎所有 Starlark 都在 Bazel 开始运行之前运行。
    • 我明白了。但是在这个 print() 输出中有一些看起来像环境变量的东西,我只是假设它们会被进一步插值在某个地方。但也许我真的没有意义,也许这些不是环境变量
    • 如果不知道具体在看什么,很难说。
    【解决方案2】:

    bazel query --output=build //my/package:all 将打印出由任何.bzl 文件从my/package/BUILD 调用的宏创建的所有targets 的定义。这包括传递给各种rules 以创建这些目标的所有属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      相关资源
      最近更新 更多