Несколько версий внешнего репо в рабочей области

Поддерживает ли Bazel объединение нескольких версий внешней зависимости в одной рабочей области?

Я бы предположил, что нет (аналогично cmake, 1 версия на проект/рабочее пространство), но все же стоит спросить?

вариант использования, если в большом репо один двоичный файл может иметь зависимость от версии A, а другой двоичный файл - от версии B...

1 ответ

В общем, Bazel не имеет понятия о встроенных версиях, почти все является просто целью. Например, у вас может быть два правила репозитория в WORKSPACE, которые указывают на одно и то же в разных версиях, и Bazel просто рассматривает их как любые другие репозитории. Однако разработчик должен использовать правильную версию с правильными целями в файлах BUILD и решать проблемы с зависимостями алмазов. По ссылке в вашем комментарии (https://bazel.build/docs/external#shadowing-dependencies) показаны некоторые механизмы работы с таргетами и репозиториями, которые представляют одно и то же в разных версиях.

Появится новая система управления зависимостями под названием Bzlmod, в которую встроено управление версиями: https://bazel.build/build/bzlmod .

Другие вопросы по тегам