Untuk setiap Label instance l, representasi string str(l) memiliki properti bahwa Label(str(l)) == l, terlepas dari tempat panggilan Label() terjadi.
Anggota
Label
Label Label(input)
Label, dalam konteks paket tempat file sumber .bzl panggilan berada. Jika nilai yang diberikan sudah berupa Label, nilai tersebut akan ditampilkan tanpa perubahan.Untuk makro, fungsi terkait, native.package_relative_label(), mengonversi input menjadi Label dalam konteks paket yang saat ini sedang dibuat. Gunakan fungsi tersebut untuk meniru konversi string ke label yang dilakukan secara otomatis oleh atribut aturan bernilai label.
Parameter
| Parameter | Deskripsi |
|---|---|
input
|
string; atau Label;
wajib String label input atau objek Label. Jika objek Label diteruskan, objek tersebut akan ditampilkan sebagaimana adanya. |
name
string Label.name
Label("//pkg/foo:abc").name == "abc"package
string Label.package
Label("//pkg/foo:abc").package == "pkg/foo"relative
Label Label.relative(relName)
//) atau relatif terhadap paket saat ini. Jika label ini berada di repositori jarak jauh, argumen akan diselesaikan relatif terhadap repositori tersebut. Jika argumen berisi nama repositori, label saat ini akan diabaikan dan argumen akan ditampilkan sebagaimana adanya, kecuali jika nama repositori ditulis ulang jika berada dalam pemetaan repositori saat ini. Label yang dicadangkan juga akan ditampilkan sebagaimana adanya.Misalnya:
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")
Jika pemetaan repositori yang diteruskan adalah {'@other' : '@remapped'}, pemetaan ulang berikut akan terjadi:
Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@remapped//wiz:quux")
Parameter
| Parameter | Deskripsi |
|---|---|
relName
|
wajib Label yang akan diselesaikan relatif terhadap label ini. |
workspace_name
string Label.workspace_name
Label("@foo//bar:baz").workspace_name == "foo"workspace_root
string Label.workspace_root
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"