Para cada instancia Label
l
, la representación de cadena str(l)
tiene la propiedad de que Label(str(l)) == l
, independientemente de dónde se produzca la llamada Label()
.
Miembros
Etiqueta
Label Label(input)
Label
, en el contexto del paquete en el que se encuentra el archivo fuente .bzl
que realiza la llamada. Si el valor proporcionado ya es un Label
, se devuelve sin cambios.En el caso de 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. Usa esa función para imitar la conversión de cadena a etiqueta que realizan automáticamente los atributos de regla con valores de etiqueta.
Parámetros
Parámetro | Descripción |
---|---|
input
|
cadena o Label;
obligatorio Es la cadena de la etiqueta de entrada o el objeto Label. Si se pasa un objeto Label, se devuelve tal cual. |
nombre
string Label.name
Label("//pkg/foo:abc").name == "abc"
paquete
string Label.package
Label("//pkg/foo:abc").package == "pkg/foo"
pariente
Label Label.relative(relName)
//
) o relativa al paquete actual. Si esta etiqueta se encuentra 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 se devuelve el argumento tal como está, excepto que se vuelve a escribir el nombre del repositorio si se encuentra en la asignación del 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 del repositorio que se pasó 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
Label("@foo//bar:baz").workspace_name == "foo"
workspace_root
string Label.workspace_root
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"