我的理解是,Bazel 期望项目位于 monorepo 下,顶层有 WORKSPACE 文件,每个项目中都有 BUILD 文件:
Repo
├── ProjectA
│ └── BUILD
├── ProjectB
│ └── BUILD
└── WORKSPACE
但是,通过Bazel NodeJS 规则文档,似乎建议每个项目都应该有它自己的WORKSPACE
文件来定义其依赖项。IE ...
Repo
├── ProjectA
│ ├── BUILD
│ └── WORKSPACE
└── ProjectB
├── BUILD
└── WORKSPACE
这看起来类似于一个多存储库,每个项目都将其他项目作为外部依赖项引用,这对我来说似乎没问题,直到我意识到对于外部依赖项,Bazel 需要在每个包的 WORKSPACE 文件中指定所有传递依赖项,这绝对不理想。
将 Bazel 与 NodeJS 项目一起使用的最简单方法是什么,有些项目可能是用其他语言编写的?此外,是否有在多回购设置中使用 Bazel 的示例?
谢谢!