我写了一个例子:
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
?
亲切的问候,
瑞安
答案 0 :(得分:1)
从文档中:
Bazel仅读取WORKSPACE文件中列出的依赖项。如果你的 项目(A)依赖于另一个项目(B),该项目列出了对 在其WORKSPACE文件中的第三个项目(C)中,您必须同时添加B 和C到您项目的WORKSPACE文件。这个要求会迅速增加 WORKSPACE文件大小,但希望限制 一个库包含1.0版的C,另一个库包含2.0版的C。
https://docs.bazel.build/versions/master/external.html#transitive-dependencies