Etiqueta

Un identificador de destino BUILD.

Miembros

Etiqueta

Label Label(input)

Convierte una cadena de etiqueta en un objeto Label, en el contexto del paquete en el que se encuentra el archivo de origen .bzl que realiza la llamada. Si el valor dado ya es una Label, se muestra sin cambios.

Para las macros, una función relacionada, native.package_relative_label(), convierte la entrada en un Label en el contexto del paquete que se está construyendo en el momento. Usa esa función para imitar la conversión de string a etiqueta que realizan automáticamente los atributos de regla con valor de etiqueta.

Parámetros

Parámetro Descripción
input string; or Label; obligatorio
La string de etiqueta de entrada o el objeto de etiqueta. Si se pasa un objeto Label, se muestra tal como está.

name

string Label.name

El nombre de esta etiqueta dentro del paquete. Por ejemplo:
Label("//pkg/foo:abc").name == "abc"

paquete

string Label.package

Es la parte del paquete de esta etiqueta. Por ejemplo:
Label("//pkg/foo:abc").package == "pkg/foo"

relative

Label Label.relative(relName)

Resuelve una etiqueta que es absoluta (comienza con //) o relativa al paquete actual. Si la etiqueta está en un repositorio remoto, el argumento se resolverá en relación con ese repositorio. Si el argumento contiene un nombre de repositorio, la etiqueta actual se ignora y el argumento se muestra tal como está, con la excepción de que el nombre del repositorio se reescribe si está en la asignación actual del repositorio. Las etiquetas reservadas también se mostrarán tal como están.
Por ejemplo:
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")

Si la asignación del repositorio que se pasa es {'@other' : '@remapped'}, se llevará a cabo la siguiente reasignación:

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

Parámetros

Parámetro Descripción
relName obligatorio
Etiqueta que se resolverá en relación con esta.

workspace_name

string Label.workspace_name

La parte del repositorio de esta etiqueta. Por ejemplo:
Label("@foo//bar:baz").workspace_name == "foo"

workspace_root

string Label.workspace_root

Muestra la raíz de ejecución para el lugar de trabajo de esta etiqueta, en relación con execroot. Por ejemplo:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"