Etiket

BUILD hedef tanımlayıcısı.

Üyeler

Şirket

Label Label(label_string)

Bir BUILD hedefine atıfta bulunan bir etiket oluşturur. Bir kuralın etiket özellikleri için varsayılan değer vermek istediğinizde veya bir makrodan mutlak etiket aracılığıyla bir hedefe atıfta bulunduğunuzda bu işlevi kullanın. Bağımsız değişken, mutlak bir etikete işaret etmelidir. Etiketin repo kısmı (veya yokluğu), bu Label() çağrısının göründüğü repo bağlamında yorumlanır. Örnek:
Label("//tools:default")

Parametreler

Parametre Açıklama
label_string required
etiket dizesi.

ad

string Label.name

Paket içindeki bu etiketin 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 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

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

workspace_root

string Label.workspace_root

Bu 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"