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 Label
, se muestra sin cambios.En el caso de las macros, una función relacionada, native.package_relative_label()
, convierte la entrada en Label
en el contexto del paquete que se está construyendo. Usa esa función para imitar la conversión de cadena a etiqueta que se realiza automáticamente mediante los atributos de reglas con valor de etiqueta.
Parámetros
Parámetro | Descripción |
---|---|
input
|
string; or Label ;
obligatorioEs la cadena de etiqueta de entrada o el objeto Label. Si se pasa un objeto Label, se muestra tal como está. |
nombre
string Label.nameEs el nombre de esta etiqueta dentro del paquete. Por ejemplo:
Label("//pkg/foo:abc").name == "abc"
paquete
string Label.packageEs la parte del paquete de esta etiqueta. Por ejemplo:
Label("//pkg/foo:abc").package == "pkg/foo"
familiar
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, se ignora la etiqueta actual y el argumento se muestra tal como está, excepto que el nombre del repositorio se reescribe si está en la asignación actual del repositorio. Las etiquetas reservadas también se mostrarán sin modificaciones.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 pasó es {'@other' : '@remapped'}
, se producirá 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 La etiqueta que se resolverá en relación con esta. |
workspace_name
string Label.workspace_nameLa parte del repositorio de esta etiqueta. Por ejemplo,
Label("@foo//bar:baz").workspace_name == "foo"
workspace_root
string Label.workspace_rootMuestra 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"