Üyeler
Şirket
Label Label(input)Bir etiket dizesini, çağıran
.bzl
kaynak dosyasının bulunduğu paket bağlamında 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. Bu işlevi, etiket değerine sahip kural özellikleri tarafından otomatik olarak yapılan dize-etiket dönüşümünü taklit etmek için kullanın.
Parametreler
Parametre | Açıklama |
---|---|
input
|
string; or Label ;
requiredGiriş etiketi dizesi veya Etiket nesnesi. Bir Label nesnesi iletilirse olduğu gibi döndürülür. |
ad
string Label.namePaket içindeki bu etiketin adı. Örneğin:
Label("//pkg/foo:abc").name == "abc"
paket
string Label.packageBu etiketin paket bölümü. Örneğin:
Label("//pkg/foo:abc").package == "pkg/foo"
ilgili
Label Label.relative(relName)Mutlak (
//
ile başlar) veya geçerli pakete göre göreli bir etiketi çözer. Bu etiket uzak bir depodaysa bağımsız değişken, ilgili depoya göre çözülür. Bağımsız değişken bir depo adı içeriyorsa mevcut etiket göz ardı edilir ve bağımsız değişken olduğu gibi döndürülür. Bununla birlikte, mevcut depo eşlemedeyse depo adı 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
|
gerekli 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'a göre yürütme kökünü döndürür. Örneğin:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"