Как найти исполняемый файл, сгенерированный целью Bazel - PullRequest
2 голосов
/ 10 февраля 2020

Я пытаюсь bazel run //foo без получения всех строк ИНФО, которые выводятся на этапе сборки. эта проблема github отслеживает этот запрос, но он еще не реализован. Чтобы заставить это работать и быть независимым от платформы, я пытался найти команду bazel query/aquery/cquery, которая сообщала бы мне исполняемый файл, сгенерированный целевой базой (в основном независимо от того, что бы bazel run //foo работал бы).

Мой обходной путь имеет был сценарий bash, который вызывает buildout=$(bazel build //$target --color=yes 2>&1), а затем запускает исполняемый файл напрямую, если команда сборки успешно завершена. Я пролил документацию для различных команд запроса, но не смог найти общий способ сделать это. Самое близкое, что я получил, это запуск регулярного выражения для вывода bazel aquery //foo для поиска строки вывода.

Есть ли лучший инструмент для этой работы или указанная команда запроса c, которая сообщит мне это?

Спасибо!

1 Ответ

0 голосов
/ 12 февраля 2020

Это не ответ на ваш вопрос, а исправление вашей первоначальной проблемы:

bazel run --experimental_ui_limit_console_output=1 //:hello

Что касается вашего вопроса, местоположение двоичного файла (если вы не настраиваете цепочку инструментов, будет зависеть от имени цели.

Таким образом, //:hello окажется в bazel-bin/hello, //a/long:hello закончится в bazel-bin/a/long/hello и так далее, и так далее ...

...