给定工作空间内源文件的路径,我如何得出Bazel用来引用该文件的标签。这似乎取决于存在哪些软件包。例如,如果我具有以下结构:
.
├── BUILD
├── WORKSPACE
└── src
└── bar
└── foo.go
然后的标签src/bar/foo.go
是//src/bar/foo.go
。但是,如果我有这种结构:
.
├── BUILD
├── WORKSPACE
└── src
├── BUILD
└── bar
├── BUILD
└── foo.go
然后,同一文件的标签为//src/bar:foo.go
。
有没有办法让Bazel告诉我标识文件的标签是什么,或者我是否必须根据BUILD
工作空间树各个级别上文件的存在/不存在来派生它?
如果存在有效的标签path/to/file.txt
,则运行bazel query path/to/file.txt
将返回绝对标签。
例如第一个例子:
$ bazel query src/bar/foo.go
//:src/bar/foo.go
对于第二个示例:
$ bazel query src/bar/foo.go
//src/bar:foo.go
如果在任何BUILD文件中的任何规则(filegroup
,exports_files
等)中均未引用该文件,则该文件将没有标签。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句