В этом разделе определяются различные термины и концепции, общие для многих функций или правил сборки.
Содержание
- Токенизация оболочки Bourne
- Расширение меток
- Типичные атрибуты, определяемые большинством правил сборки
- Атрибуты, общие для всех правил сборки
- Атрибуты, общие для всех правил тестирования (*_test)
- Атрибуты, общие для всех правил бинарных файлов (*_binary)
- Настраиваемые атрибуты
- Неявные выходные цели
Токенизация оболочки Bourne
Некоторые строковые атрибуты некоторых правил разделяются на несколько слов в соответствии с правилами токенизации оболочки Bourne: необработанные пробелы разделяют отдельные слова, а символы одинарных и двойных кавычек и обратные слэши используются для предотвращения токенизации.
Атрибуты, которые подлежат этой токенизации, явно указываются в их определениях в этом документе.
Атрибуты, подлежащие расширению переменных «Make» и токенизации оболочки Bourne, обычно используются для передачи произвольных параметров компиляторам и другим инструментам. Примеры таких атрибутов — cc_library.copts и java_library.javacopts. Вместе эти подстановки позволяют одной строковой переменной расширяться в список параметров, специфичных для конфигурации.
Расширение меток
Некоторые строковые атрибуты очень немногих правил подлежат расширению меток: если эти строки содержат действительную метку в качестве подстроки, например, //mypkg:target, и эта метка является объявленной предпосылкой текущего правила, она расширяется в путь к файлу, представленному целью //mypkg:target.
Примерные атрибуты включают genrule.cmd и cc_binary.linkopts. Подробности могут значительно отличаться в каждом случае, например, обрабатываются ли относительные метки; как обрабатываются метки, расширяющиеся до нескольких файлов и т. д. Для получения подробностей обратитесь к документации атрибута правила.
Типичные атрибуты, определяемые большинством правил сборки
В этом разделе описываются атрибуты, определяемые многими правилами сборки, но не всеми.
| Атрибут | Описание |
|---|---|
data |
Список меток; значение по умолчанию — Файлы, необходимые этому правилу во время выполнения. Может перечислять файлы или цели правил. В общем, разрешает любые цели. Выходные данные и файлы выполнения целей в атрибуте Новые правила должны определять атрибут |
deps |
Список меток; значение по умолчанию — Зависимости для этой цели. В целом следует перечислять только цели правил. (Хотя некоторые правила позволяют перечислять файлы непосредственно в Правила, специфичные для языка, обычно ограничивают перечисленные цели теми, которые имеют определенные провайдеры. Точное значение того, что значит для цели зависеть от другой с помощью Чаще всего зависимость |
licenses |
Список строк; не настраиваемый; значение по умолчанию — Список лицензионных строк, которые нужно использовать для этой конкретной цели. Это часть устаревшего API лицензирования, который Bazel больше не использует. Не используйте это. |
srcs |
Список меток; значение по умолчанию — Файлы, обрабатываемые или включаемые этим правилом. Обычно перечисляет файлы напрямую, но может перечислять цели правил (например, Правила, специфичные для языка, часто требуют, чтобы перечисленные файлы имели определенные расширения файлов. |
Атрибуты, общие для всех правил сборки
В этом разделе описываются атрибуты, которые неявно добавляются ко всем правилам сборки.
| Атрибут | Описание |
|---|