web-dev-qa-db-ja.com

Bazelビルドの詳細なコンパイラコマンドロギング

ビルドプロセスの冗長性を高めるにはどうすればよいですか? Bazelは、ビルド中に問題が発生した場合にのみコンパイラコマンドを出力するようです。

リンクの問題をデバッグするために、どのコンパイラーがcc_libraryルールを起動するかを確認したいと思います。私はすでにさまざまなbazelコマンドラインパラメータを試しましたが、コンパイラコマンドを提供するものはありません:(

25
Jan

これはおそらくあなたが探しているものです

bazel build -s // my:target

-sスイッチは、Bazelに、呼び出されたすべてのコマンドを出力します。

Envoyのbazel readmeから取得した有用な情報( https://github.com/envoyproxy/envoy/blob/master/bazel/README.md

Bazelが何をしているかを理解しようとする場合、-sおよび--explainオプションが役立ちます。 Bazelが実行しているコマンドに関する詳細な出力を提供するには:

bazel build -s //source/...

Bazelがターゲットを再構築する理由をテキストファイルに出力するには:

bazel build --explain=file.txt //source/...

より詳細な説明を取得するには:

bazel build --explain=file.txt --verbose_explanations //source/...
6
mancini0

たぶん、compile_commands.jsonファイルを生成できます。それを自動化するシェルスクリプト(Linux)を作成しました: https://github.com/vincent-picaud/Bazel_and_CompileCommands

1
Picaud Vincent