Miembros
Etiqueta
Label Label(label_string)Crea una etiqueta que hace referencia a un objetivo de COMPILACIÓN. Usa esta función cuando quieras asignar un valor predeterminado para los atributos de etiqueta de una regla o cuando hagas referencia a un objetivo mediante una etiqueta absoluta de una macro. El argumento debe referirse a una etiqueta absoluta. La parte del repositorio de la etiqueta (o su ausencia) se interpreta en el contexto del repositorio donde aparece esta llamada a Label(). Ejemplo:
Label("//tools:default")
Parámetros
Parámetro | Descripción |
---|---|
label_string
|
required la string de la etiqueta. |
name
string Label.nameEl 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"
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_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"