Ведение подробного журнала команд компилятора Bazel build

Как я могу увеличить подробность процесса сборки? Bazel, кажется, печатает команды компилятора только в том случае, если во время сборки что-то пойдет не так.

Я хотел бы увидеть, какой компилятор запускает правило cc_library, даже если кажется, что все в порядке, для отладки проблем связывания. Я уже пробовал различные параметры командной строки bazel, но ничего не дает мне команд компилятора :(


person Jan    schedule 28.09.2015    source источник


Ответы (3)


Вероятно, это то, что вы ищете

bazel build -s // моя: цель

Переключатель -s заставляет Bazel распечатать все вызванные команды.

person Damien Martin-Guillerez    schedule 29.09.2015
comment
Вы также должны изменить что-то в базе кода, чтобы заставить его перестроить - даже если это просто означает удаление скобок где-то, чтобы прервать сборку. - person Gabriel Staples; 28.02.2020
comment
Где официальная документация по опции -s? Есть ли длинная форма этого короткого варианта, более удобная для Google? - person Gabriel Staples; 25.06.2020
comment
docs.bazel.build/versions/master/ bazel help build распечатывает: --[no]subcommands [-s] (true, pretty_print or false; default: "false") - person hnakamur; 26.11.2020
comment
+1 к комментарию Хнакамура. Я думаю, что люди обычно должны использовать подробную версию флагов в ответах на stackoverflow, потому что они более понятны. bazel build --subcommands //my:target понятен и его легко искать по сравнению с -s. - person gonzojive; 27.07.2021

Полезная информация взята из файла readme Envoy bazel (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/...
person mancini0    schedule 11.05.2018

Возможно, вам удастся создать файл compile_commands.json. Я создал сценарии оболочки (под Linux), чтобы автоматизировать это: https://github.com/vincent-picaud/Bazel_and_CompileCommands.

person Picaud Vincent    schedule 29.06.2017