Anggota
Label
Label Label(label_string)Membuat Label yang merujuk ke target BUILD. Gunakan fungsi ini jika Anda ingin memberikan nilai default untuk atribut label aturan atau saat merujuk ke target melalui label absolut dari makro. Argumen harus merujuk ke label absolut. Bagian repo dari label (atau tidak adanya) ditafsirkan dalam konteks repo tempat panggilan Label() ini muncul. Contoh:
Label("//tools:default")
Parameter
Parameter | Deskripsi |
---|---|
label_string
|
required string label. |
nama
string Label.nameNama label ini dalam paket. Misalnya:
Label("//pkg/foo:abc").name == "abc"
paket
string Label.packageBagian paket dari label ini. Misalnya:
Label("//pkg/foo:abc").package == "pkg/foo"
relatif
Label Label.relative(relName)Me-resolve label yang bersifat absolut (dimulai dengan
//
) atau relatif terhadap paket saat ini. Jika label ini berada di repositori jarak jauh, argumen akan di-resolve secara relatif terhadap repositori tersebut. Jika argumen berisi nama repositori, label saat ini akan diabaikan dan argumen akan ditampilkan apa adanya, kecuali nama repositori akan ditulis ulang jika ada 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 dilakukan:
Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@remapped//wiz:quux")
Parameter
Parameter | Deskripsi |
---|---|
relName
|
required Label yang akan di-resolve relatif terhadap label ini. |
workspace_name
string Label.workspace_nameBagian repositori dari label ini. Misalnya,
Label("@foo//bar:baz").workspace_name == "foo"
workspace_root
string Label.workspace_rootMenampilkan root eksekusi untuk ruang kerja label ini, relatif terhadap execroot. Misalnya:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"