зависимость зависимость должна быть объявлена ​​в корне WORKSPACE? - PullRequest
0 голосов
/ 12 апреля 2019

Я написал пример:

git clone git@github.com:rynz/test-app.git
bazel test //...

Будет ошибка, сообщающая, что com_google_absl не может быть решена.

Отредактируйте WORKSPACE и удалите комментарий com_google_absl, теперь он будет успешно собран и протестирован.

rynz_app зависит только от rynz_protocol, однако rynz_protocol также зависит от com_google_absl. Почему я должен повторно объявить com_google_absl в rynz_app WORKSPACE, когда он уже объявлен в rynz_protocol WORKSPACE?

С уважением,

Ryan

1 Ответ

1 голос
/ 12 апреля 2019

Из документации:

Bazel только читает зависимости, перечисленные в вашем файле WORKSPACE.Если ваш проект (A) зависит от другого проекта (B), который перечисляет зависимость от третьего проекта (C) в своем файле WORKSPACE, вам придется добавить B и C в файл WORKSPACE вашего проекта.Это требование может ограничить размер файла WORKSPACE, но, надеюсь, ограничит шансы того, что одна библиотека будет включать C в версии 1.0, а другая - C в 2.0.

https://docs.bazel.build/versions/master/external.html#transitive-dependencies

...