【问题标题】:see compilation warnings on cached bazel targets查看缓存的 bazel 目标上的编译警告
【发布时间】:2017-12-05 22:48:27
【问题描述】:

Bazel 在干净编译 (java) 期间显示所有编译警告。

但是 - 当我们重新运行 bazel build - 我们会丢失所有警告。

是否有任何标志可以使其显示缓存目标的原始警告?

示例回购:https://github.com/or-shachar/bazel-sample-repo/tree/warning(分支warning

首次运行输出:

✗ bazel build //...
INFO: Found 1 target...
INFO: From Building src/main/java/com/example/libmy_warning_lib.jar (1 source file):
src/main/java/com/example/MyLib.java:12: warning: [static] static variable should be qualified by type name, MyLib, instead of by an expression
      this.x = this.x + 2.1;
          ^
src/main/java/com/example/MyLib.java:12: warning: [static] static variable should be qualified by type name, MyLib, instead of by an expression
      this.x = this.x + 2.1;
                   ^
Target //src/main/java/com/example:my_warning_lib up-to-date:
  bazel-bin/src/main/java/com/example/libmy_warning_lib.jar
INFO: Elapsed time: 3.286s, Critical Path: 1.03s

下一次运行:

✗ bazel build //...
INFO: Found 1 target...
Target //src/main/java/com/example:my_warning_lib up-to-date:
  bazel-bin/src/main/java/com/example/libmy_warning_lib.jar
INFO: Elapsed time: 0.244s, Critical Path: 0.01s

如您所见 - 我们正在丢失缓存运行的警告。如果某些标志不可用 - 它可能值得作为功能添加。

【问题讨论】:

  • 您好,如果我没记错的话,除非您使用远程缓存,否则这还不可能 AFAIK。我们希望在未来改变这一点。

标签: java build compilation bazel


【解决方案1】:

这是不可能的,因为错误来自作为操作执行一部分的工具。如果操作未更改,则不会重新运行(这就是您的增量构建更快的原因),因此不会重新调用该工具,您也不会看到错误。

【讨论】:

    猜你喜欢
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多