Etiket

Sorun bildirin Kaynağı göster

DERLEME hedef tanımlayıcısı.

Üyeler

Etiket

Label Label(input)

Bir çağrıyı, .bzl kaynak dosyasının bulunduğu paket bağlamında Label nesnesine dönüştürür. Belirtilen değer zaten bir Label ise değişmeden döndürülür.

Makrolar için ilgili bir işlev olan native.package_relative_label(), girdiyi oluşturulmakta olan paketin bağlamına göre Label haline 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; or Label; gereklidir
Giriş etiketi dizesi veya Etiket nesnesi. Bir Etiket nesnesi iletilirse nesne olduğu gibi döndürülür.

ad

string Label.name

Bu etiketin paket içindeki adı. Örneğin:
Label("//pkg/foo:abc").name == "abc"

paket

string Label.package

Bu 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 bulunan bir etiketi çözümler. Bu etiket uzak bir depoda yer alıyorsa bağımsız değişken söz konusu depoya göre çözümlenir. Bağımsız değişken bir depo adı içeriyorsa mevcut etiket yoksayılır ve bağımsız değişken, mevcut kod deposu eşlemesindeyse yeniden yazılması dışında olduğu gibi döndürülür. Ayrılmış etiketler de olduğu gibi döndürülecek.
Ö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")

Depoya girilen depo eşlemesi {'@other' : '@remapped'} ise aşağıdaki yeniden eşleme gerçekleşir:

Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@remapped//wiz:quux")

Parametreler

Parametre Açıklama
relName gerekli
Bu etikete göre çözüme ulaştırılacak etiket.

workspace_name

string Label.workspace_name

Bu etiketin depo bölümü. Örneğin:
Label("@foo//bar:baz").workspace_name == "foo"

workspace_kök

string Label.workspace_root

Bu etiketin çalışma alanının yürütmeye göre göre yürütme kökünü döndürür. Örneğin:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"