Etiqueta

Es un identificador de destino de compilación.

Miembros

Etiqueta

Label Label(label_string)

Crea una etiqueta que hace referencia a un destino de compilación. Usa esta función cuando quieras asignar un valor predeterminado a los atributos de etiqueta de una regla o cuando te refieras a un objetivo a través de una etiqueta absoluta de una macro. El argumento debe hacer referencia a una etiqueta absoluta. La parte del repositorio de la etiqueta (o su ausencia) se interpreta en el contexto del repositorio en el que aparece esta llamada a Label(). Ejemplo:
Label("//tools:default")

Parámetros

Parámetro Descripción
label_string obligatorio
la cadena de la etiqueta.

nombre

string Label.name

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

relativo

Label Label.relative(relName)

Resuelve una etiqueta que es absoluta (comienza con //) o relativa al paquete actual. Si esta etiqueta está en un repositorio remoto, el argumento se resolverá en relación con ese repositorio. Si el argumento contiene un nombre de repositorio, se ignora la etiqueta actual y el argumento se muestra tal como está, excepto que el nombre del repositorio se vuelve a escribir si está en la asignación de repositorio actual. 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 de repositorio que se pasa es {'@other' : '@remapped'}, se realizará 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
Es la etiqueta que se resolverá en relación con esta.

workspace_name

string Label.workspace_name

Es 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 espacio de trabajo de esta etiqueta, en relación con el execroot. Por ejemplo:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"