Bazel 在干净编译 (java) 期间显示所有编译警告。
但是 - 当我们重新运行 bazel build - 我们会丢失所有警告。
是否有任何标志可以使其显示缓存目标的原始警告?
示例代码库: https://github.com/or-shachar/bazel-sample-repo/tree/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
如您所见 - 我们正在丢失缓存运行的警告。如果某些标志不可用 - 它可能值得作为功能添加。
最佳答案
这是不可能的,因为错误来自作为操作执行一部分的工具。如果操作未更改,则不会重新运行(这就是您的增量构建更快的原因),因此不会重新调用该工具,您也不会看到错误。
https://stackoverflow.com/questions/44872490/