Bazel WORKSPACE文件编写
WORKSPACE文件主要就是命名workspace以及声明外部的依赖,这就包括外部依赖的获取方式及获取方法。 外部依赖 https://docs.bazel.build/versions/master/external.html WORKSPACE文件告诉Bazel如何去得到其他的工程源,然后package中的BUILD文件就可以根据WORKSPACE中的外部target名字写依赖关系。 先举个例子来看下在本地的两个工程如何实现依赖关系: / home/ user/ project1/ WORKSPACE BUILD srcs/ ... project2/ WORKSPACE BUILD my-libs/ project1希望能依赖project2/BUILD下的target :foo,需要指明project2可以在 /home/user/project2 中被找到,而且接下来project1的BUILD就可以写依赖关系: @project2//:foo WORKSPACE文件允许用户的目标依赖其他文件系统的目标或者从网上下载的目标。 WORKSPACE文件的语法和BUILD文件一致,不过会用到一些特定的内置rule,细节参考下一个章节的内容。 一共有三种外部依赖的主要类型: 依赖于其他Bazel工程 根据这个Bazel工程所处的位置不同,调用不同的内置rule来获得: local_repository :本地 git_repository :git仓库 http_archive :网络下载 假如现在有个工程 my-project/ ,需要依赖与另一个工程 coworkers-project/ 。这两个都是Bazel工程,那么需要在 my_project/WORKSPACE 下添加: local_repository ( name = "coworkers_project" , path = "/path/to/coworkers-project" , ) 然后对于coworke...
评论
发表评论