BUILD hedef tanımlayıcısı.
Her Label
örneği l
için str(l)
dize temsili, Label()
çağrısının nereden yapıldığına bakılmaksızın Label(str(l)) == l
özelliğine sahiptir.
Üyeler
Şirket
Label Label(input)
.bzl
kaynak dosyasının bulunduğu paket bağlamında Label
nesnesine dönüştürür. Belirtilen değer zaten Label
ise değişmeden döndürülür.Makrolarda, ilgili bir işlev (native.package_relative_label()
), girişi şu anda oluşturulmakta olan paket bağlamında bir Label
değerine dönüştürür. Etiket değerine sahip kural özellikleri tarafından otomatik olarak yapılan dize-etiket dönüşümünü taklit etmek için bu işlevi kullanın.
Parametreler
Parametre | Açıklama |
---|---|
input
|
dize veya Etiket;
zorunlu Giriş etiketi dizesi veya Etiket nesnesi. Bir Label nesnesi iletilirse olduğu gibi döndürülür. |
ad
string Label.name
Label("//pkg/foo:abc").name == "abc"
paket
string Label.package
Label("//pkg/foo:abc").package == "pkg/foo"
ilgili
Label Label.relative(relName)
//
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")
İletilen 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
|
required Bu etikete göre çözülecek etiket. |
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"