Есть ли способ добавить нативные правила в Bazel? - PullRequest
1 голос
/ 12 апреля 2020

Я бы хотел, чтобы набор правил из my_package.bzl был доступен для всех BUILD файлов рабочей области без необходимости load my_package.bzl в BUILD файлах. По сути, я хочу, чтобы правила в пакете выглядели как собственные правила. Как мне этого добиться?

Я думал, может быть, есть строка, которую я мог бы добавить к одному из .bazelrc s или к WORKSPACE файлу проекта.

1 Ответ

2 голосов
/ 12 апреля 2020

Этого можно достичь, добавив файл prelude_bazel в //tools/build_rules:prelude_bazel (это должен быть пакет, поэтому tools/build_rules должен содержать файл BUILD). Это будет загружено и добавлено ко всем BUILD файлам, загруженным Bazel.

Однако есть несколько вещей, которые следует учитывать, прежде чем идти по этому пути. В настоящее время он не документирован, и при выполнении поиска для поиска какой-либо информации об этой функции неясно, останется ли она частью Bazel.

Также могут возникнуть проблемы с производительностью / масштабированием. Если prelude изменить (или любую из его зависимостей), каждый файл BUILD должен быть перезагружен, и это может занять некоторое время в зависимости от размера графа построения.

...