Nhãn

Giá trị nhận dạng mục tiêu XÂY DỰNG.

Hội viên

Nhãn

Label Label(label_string)

Tạo Nhãn tham chiếu đến mục tiêu XÂY DỰNG. Hãy sử dụng hàm này khi bạn muốn cung cấp giá trị mặc định cho các thuộc tính nhãn của quy tắc hoặc khi tham chiếu đến mục tiêu thông qua nhãn tuyệt đối từ macro. Đối số phải tham chiếu đến một nhãn tuyệt đối. Phần kho lưu trữ của nhãn (hoặc sự vắng mặt của nhãn) được diễn giải trong ngữ cảnh của kho lưu trữ nơi lệnh gọi Label() này xuất hiện. Ví dụ:
Label("//tools:default")

Các tham số

Thông số Nội dung mô tả
label_string bắt buộc
chuỗi nhãn.

tên

string Label.name

Tên của nhãn này trong gói. Ví dụ:
Label("//pkg/foo:abc").name == "abc"

gói hàng

string Label.package

Phần gói của nhãn này. Ví dụ:
Label("//pkg/foo:abc").package == "pkg/foo"

relative

Label Label.relative(relName)

Giải quyết một nhãn là 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, đố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ữ được viết lại nếu nằm trong mục ánh xạ kho lưu trữ hiện tại. Các nhãn đặ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ục ánh xạ kho lưu trữ được truyền vào là {'@other' : '@remapped'}, thì hoạt động á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 liên quan đến nhãn này.

workspace_name

string Label.workspace_name

Phầ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_root

Trả về gốc thực thi cho không gian làm việc của nhãn này, so với executor. Ví dụ:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"