23

クリーン後のビルド中に実行されるコマンドラインから実行できるすべてのコマンドを、Bazel にリスト、出力、表示などさせる方法があるかどうか疑問に思っていました。出力が画面に出力されるか、ファイルに出力されるかなどは気にしません。必要に応じて、使用可能な形式に変換します。

Bazel の実行中に画面出力をキャプチャしました。これにより、何が行われているかがわかりますが、コマンド ラインで実行できるコマンドは表示されません。コマンドには、すべてのコマンド オプションを含め、変数を表示しないようにする必要があります。

Bazel はオープン ソースであるため、これが不可能な場合は、実行するコマンドを表す行がコード内にあるため、実行可能なコマンドを出力するように Bazel を変更できます。

Bazel 内のクエリ コマンドを認識しており、それを使用して依存関係図を生成しました。これがクエリ コマンドとして実行できれば、さらに優れたものになります。

TLDR;

私の目標は、Windows で Bazel を使用して TensorFlow を構築することです。はい、私はすべての問題とそうしない理由を知っており、仮想マシンまたは Docker を介して Windows に TensorFlow を正常にインストールしました。Cygwin から始めて Windows で Bazel をビルドすることに挑戦しましたが、パッケージを使用してインストールすることに慣れており、Cygwin はパッケージでうまく動作しないため、手に負えなくなり始めたので、手動で Bazel をビルドしようとし始めました。そしてそれは泥沼に変わりつつありました。そのため、Bazel が Linux で TensorFlow を構築するために行うことを複製して、Windows で TensorFlow を手動で構築しようとしています。

4

2 に答える 2

25

あなたは正しいです、あなたは-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 サポート)を追跡することをお勧めします。

于 2015-11-30T17:41:55.053 に答える