必须在root WORKSPACE中声明依赖项的依赖项吗?

时间:2019-04-12 09:35:07

标签: bazel

我写了一个例子:

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

亲切的问候,

瑞安

1 个答案:

答案 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