Может ли Bazel использовать несколько файлов WORKSPACE? - PullRequest
0 голосов
/ 25 мая 2018

Скажем, я использую определенный CROSSTOOL + набор инструментов, такой как этот , и я хочу скомпилировать стороннюю библиотеку, такую ​​как abseil , используя этот набор инструментов.Можно ли это сделать без изменения сторонней библиотеки WORKSPACE?

Если мне нужно изменить рабочую область, добавление правила local_repository() для репозитория цепочек инструментов кажется достаточно разумным.Но в этом случае я не смогу заставить его работать, пока я также не скопирую new_http_archive() запись (которая извлекает фактические двоичные файлы набора инструментов) из рабочей области набора инструментов.Необходимость добавления зависимостей local_repository мне кажется странной - разве они не должны быть втянуты?

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

1 Ответ

0 голосов
/ 25 мая 2018

Необходимость добавления зависимостей local_repository мне кажется странной - разве они не должны быть извлечены?

К сожалению, файлы WORKSPACE не являются рекурсивными, поэтому транзитивные зависимости не извлекаются автоматически,Это общий шаблон для извлечения зависимостей ваших зависимостей с помощью макроса, например go_rules_dependencies() in rules_go .Подзадача Bazel, управляющая внешними репозиториями, имеет дорожную карту, адресованную этому здесь .

...