如何获取Bazel执行的命令

问题描述 投票:15回答:1

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

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

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

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

TLDR;

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

command bazel
1个回答
18
投票

你是对的,你可以使用-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支持),虽然它可能会有一段时间。

© www.soinside.com 2019 - 2024. All rights reserved.