Thành viên
Nhãn
Label Label(input)Chuyển đổi chuỗi nhãn thành đối tượng
Label
trong ngữ cảnh của gói đang tồn tại tệp nguồn .bzl
gọi. Nếu giá trị đã cho là một Label
, thì kết quả trả về sẽ không thay đổi.Đối với macro, hàm liên quan (native.package_relative_label()
) sẽ chuyển đổi dữ liệu đầu vào thành Label
trong bối cảnh gói hiện đang được tạo. Hãy dùng hàm đó để bắt chước lượt chuyển đổi chuỗi thành nhãn do các thuộc tính quy tắc gắn nhãn thực hiện.
Các tham số
Thông số | Nội dung mô tả |
---|---|
input
|
string; or Label ;
bắt buộcChuỗi nhãn đầu vào hoặc đối tượng Nhãn. Nếu một đối tượng Nhãn được truyền, hàm sẽ được trả về nguyên trạng. |
name
string Label.nameTên của nhãn này trong gói. Ví dụ:
Label("//pkg/foo:abc").name == "abc"
gói hàng
string Label.packagePhần gói của nhãn này. Ví dụ:
Label("//pkg/foo:abc").package == "pkg/foo"
có liên quan
Label Label.relative(relName)Phân giải nhãn là tuyệt đối (bắt đầu bằng
//
) hoặc liên quan đến gói hiện tại. Nếu nhãn này nằm trong một kho lưu trữ từ xa, đối số sẽ được phân giải tương ứng với kho lưu trữ đó. Nếu đối số chứa tên kho lưu trữ, nhãn hiện tại sẽ bị bỏ qua và đối số được trả về nguyên trạng, ngoại trừ tên kho lưu trữ được ghi lại nếu tên đó nằm trong quá trình liên kết kho lưu trữ hiện tại. Các nhãn dành riêng cũng sẽ được trả về nguyên trạng.Ví dụ:
Label("//foo/bar:baz").relative(":quux") == Label("//foo/bar:quux") Label("//foo/bar:baz").relative("//wiz:quux") == Label("//wiz:quux") Label("@repo//foo/bar:baz").relative("//wiz:quux") == Label("@repo//wiz:quux") Label("@repo//foo/bar:baz").relative("//visibility:public") == Label("//visibility:public") Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@other//wiz:quux")
Nếu ánh xạ kho lưu trữ được truyền vào là {'@other' : '@remapped'}
, thì quá trình ánh xạ lại sau đây sẽ diễn ra:
Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@remapped//wiz:quux")
Các tham số
Thông số | Nội dung mô tả |
---|---|
relName
|
bắt buộc Nhãn sẽ được phân giải theo nhãn này. |
tên_không gian làm việc
string Label.workspace_namePhần kho lưu trữ của nhãn này. Ví dụ:
Label("@foo//bar:baz").workspace_name == "foo"
Không gian làm việc gốc
string Label.workspace_rootTrả về gốc thực thi cho không gian làm việc của nhãn này, liên quan đến tệp thực thi. Ví dụ:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"