[英]Derive Bazel label from source file path
給定工作空間中源文件的路徑,如何導出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
等)中引用,則它將沒有標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.