Как мне переместить цель построения базеля?
Все правила Bazel помещают цели сборки в определенное место.
Я могу найти цели через bazel-bin/
, но все они рекурсивно разбросаны по другим нецелевым файлам, которые меня не волнуют.
Как мне написать правило сборки, которое помещает все мои программы в один bin/
каталог?
Должен ли я написать свою собственную программу, которая проходит bazel-bin/
и rsyncs все программы к чему-то вроде usr/local/bin
или есть запрос, который я могу сделать? Я бы хотел, чтобы это было частью правила сборки, но не похоже, что правила по умолчанию поддерживают что-то подобное. И мне не нравится идея запустить сборку, а затем выполнить второй шаг, который синхронизирует все мои двоичные файлы в одну и ту же папку.
Каков рекомендуемый способ сделать это? Очень часто хочется, чтобы все ваши программы и все ваши тесты были в одних и тех же конкретных каталогах.
1 ответ
Изучите использование pkg_tar, вы можете использовать это для объявления файлов / выходных файлов, которые вы действительно хотите распространять, и package_dir
атрибут для помещения файлов в usr/local/bin
или где вы хотите в тарболе.