. BUILD hedef tanımlayıcısı.
Her Label
örneği l
için dize gösterimi str(l)
, Label()
çağrısının nerede gerçekleştiğine bakılmaksızın Label(str(l)) == l
özelliğine sahiptir.
Üyeler
Şirket
Label Label(input)
.bzl
çağrısı yapan kaynak dosyanın bulunduğu paketin bağlamında, bir etiket dizesini Label
nesnesine dönüştürür. Verilen değer zaten Label
ise değiştirilerek döndürülür.İlgili bir işlev olan native.package_relative_label()
, makrolarda ise girişi şu anda oluşturulmakta olan paketin bağlamında Label
biçimine dönüştürür. Etiket değerli kural özellikleri tarafından otomatik olarak yapılan dizeden etikete dönüşümü taklit etmek için bu işlevi kullanın.
Parametreler
Parametre | Açıklama |
---|---|
input
|
string; veya Etiket;
gerekli Giriş etiketi dizesi veya Etiket nesnesi. Bir Etiket nesnesi geçilirse olduğu gibi döndürülür. |
ad
string Label.nameBu etiketin paketteki adı. Örneğin:
Label("//pkg/foo:abc").name == "abc"
paket
string Label.packageBu etiketin paket bölümüdür. Örneğin:
Label("//pkg/foo:abc").package == "pkg/foo"
ilgili
Label Label.relative(relName)Mutlak (
//
ile başlayan) veya mevcut paketle göreli bir etiketi çözümler. Bu etiket uzak bir depodaysa bağımsız değişken, o depoya göre çözümlenir. Bağımsız değişken bir depo adı içeriyorsa geçerli etiket yok sayılır ve bağımsız değişken olduğu gibi döndürülür. Tek fark, depo adı, geçerli depo eşlemesindeyse yeniden yazılır. Ayrılmış etiketler de olduğu gibi döndürülür.Örneğin:
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")
{'@other' : '@remapped'}
kod deposu eşlemesi iletildiyse aşağıdaki yeniden eşleme işlemi gerçekleşir:
Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@remapped//wiz:quux")
Parametreler
Parametre | Açıklama |
---|---|
relName
|
zorunlu Buna göre çözümlenecek etiket. |
workspace_name
string Label.workspace_nameBu etiketin depo bölümü. Örneğin,
Label("@foo//bar:baz").workspace_name == "foo"
workspace_root
string Label.workspace_rootBu etiketin çalışma alanının execroot ile göreli olarak yürütme kökünü döndürür. Örneğin:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"