簡體   English   中英

從源文件路徑派生Bazel標簽

[英]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文件中的任何規則( filegroupexports_files等)中引用,則它將沒有標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM