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