ID target BUILD.
Untuk setiap instance Label
l
, representasi string str(l)
memiliki properti yang Label(str(l)) == l
, di mana pun panggilan Label()
terjadi.
Anggota
Label
Label Label(input)
Label
, dalam konteks paket tempat file sumber .bzl
pemanggil berada. Jika sudah berupa Label
, nilai yang diberikan 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 diteruskan, objek Label akan ditampilkan sebagaimana adanya. |
nama
string Label.name
Label("//pkg/foo:abc").name == "abc"
paket
string Label.package
Label("//pkg/foo:abc").package == "pkg/foo"
relatif
Label Label.relative(relName)
//
) atau relatif terhadap paket saat ini. Jika label ini berada di repositori jarak jauh, argumen akan diselesaikan secara relatif terhadap repositori tersebut. Jika argumen berisi nama repositori, label saat ini akan diabaikan dan argumen akan ditampilkan apa adanya, kecuali bahwa nama repositori akan ditulis ulang jika berada dalam pemetaan repositori saat ini. Label yang dicadangkan juga akan ditampilkan apa 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 terkait dengan 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"