如何获取Bazel执行的命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取Bazel执行的命令相关的知识,希望对你有一定的参考价值。

我想知道是否有办法让Bazel列出,输出,显示等所有可以从命令行执行的命令,这些命令在清理后的构建期间运行。我不在乎输出是否在屏幕上,文件中等等。如果需要,我会将其按到可用的形式。

我在Bazel运行期间捕获了屏幕输出,这让我知道正在做什么,但它没有给我一个命令,我可以在命令行上执行。该命令必须包含所有命令选项而不是显示变量。

如果这是不可能的,因为Bazel是开源的,代码中的代码是表示要运行的命令的行,以便我可以修改Bazel以输出可执行命令。

我知道Bazel中的查询命令,并使用它生成依赖关系图。如果这可以作为查询命令完成,那就更好了。

TLDR;

我的目标是在Windows上使用Bazel构建TensorFlow。是的我知道所有问题和原因没有这样做,并且通过虚拟机或Docker在Windows上成功安装了TensorFlow。我开始尝试用Cygwin开始在Windows上构建Bazel,但是当我用于安装包时,Cygwin开始失控,因此我开始尝试用手制作Bazel那变成了一个泥潭。所以我现在试图在Windows上手动构建TensorFlow,复制Bazel在Linux上构建TensorFlow的方法。

答案

你是对的,你可以使用-s--subcommands)选项:

bazel build -s //foo

https://docs.bazel.build/versions/master/user-manual.html#flag--subcommands

对于您的用例,您可能希望将输出重定向到文件,然后将所有库/二进制路径全局替换为Windows等效项。

你可能想跟踪https://github.com/bazelbuild/bazel/issues/276(Windows支持),虽然它可能会有一段时间。

以上是关于如何获取Bazel执行的命令的主要内容,如果未能解决你的问题,请参考以下文章

Bazel编译tensorflow

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

bazel 无法创建临时文件

如何使用 Bazel 构建项目使用 OpenCV [关闭]

Bazel 使用标签运行

Bazel + C++ 项目:如何为“运行”命令指定工作目录