Miembros
- todo
- analysis_test_transition
- cualquiera
- archive_override
- aspecto
- bazel_dep
- bind
- bool
- configuration_field
- depset
- dict
- dir
- enumerar
- exec_group
- reprobación
- float
- obtención
- git_override
- hasattr
- hash
- int
- len
- list
- local_path_override
- max
- min
- module
- module_extension
- multiple_version_override
- proveedor
- range
- register_execution_platforms()
- register_execution_platforms()
- register_toolchains()
- register_toolchains()
- repositorio_rule(implementación, attrs, local, Environ, configurar, de forma remota, doc)
- repositorio_rule(implementación, attrs, local, Environ, configurar, de forma remota, doc)
- repetición
- invertido
- regla
- seleccionar
- single_version_override
- ordenado
- str
- tag_class
- tuple
- tipo
- use_extension
- use_repo
- visibilidad
- lugar de trabajo
- zip
todos
bool all(elements)El resultado es verdadero si todos los elementos se evalúan como verdaderos o si la colección está vacía. Los elementos se convierten en booleanos con la función bool.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
Parámetros
Parámetro | Descripción |
---|---|
elements
|
obligatorio Es una string o una colección de elementos. |
analysis_test_transition
transition analysis_test_transition(settings)
Crea una transición de configuración para aplicar en las dependencias de una regla de análisis-prueba. Esta transición solo se puede aplicar en atributos de reglas con analysis_test = True
. Estas reglas tienen capacidades restringidas (por ejemplo, el tamaño de su árbol de dependencias es limitado), por lo que las transiciones creadas con esta función tienen un alcance potencial limitado en comparación con las transiciones creadas con transition.
Esta función está diseñada principalmente para facilitar la biblioteca principal del framework de prueba de análisis. Consulta la documentación (o implementación) para conocer las prácticas recomendadas.
Parámetros
Parámetro | Descripción |
---|---|
settings
|
obligatorio Es un diccionario que contiene información sobre los parámetros de configuración que deben establecerse en esta transición de configuración. Las claves son etiquetas de configuración de compilación y los valores son sus nuevos valores posteriores a la transición. El resto de los parámetros de configuración no cambiaron. Úsalo para declarar los parámetros de configuración específicos que se deben establecer para que se apruebe una prueba de análisis. |
cualquiera
bool any(elements)El resultado es verdadero si al menos un elemento se evalúa como verdadero. Los elementos se convierten en booleanos con la función bool.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
Parámetros
Parámetro | Descripción |
---|---|
elements
|
obligatorio Es una string o una colección de elementos. |
archive_override
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)Especifica que esta dependencia debe provenir de un archivo (zip, gzip, etc.) en una ubicación determinada, en lugar de un registro. Solo el módulo raíz puede usar esta directiva; en otras palabras, si un módulo especifica alguna anulación, otros no podrá usarla como dependencia.
Parámetros
Parámetro | Descripción |
---|---|
module_name
|
required Es el nombre de la dependencia del módulo de Bazel a la que se aplicará esta anulación. |
urls
|
string; or Iterable of strings
obligatorioLas URLs del archivo pueden ser http(s):// o file:// URLs. |
integrity
|
default = '' La suma de verificación esperada del archivo de almacenamiento, en formato de integridad de subrecursos. |
strip_prefix
|
default = '' Es un prefijo de directorio que se puede quitar de los archivos extraídos. |
patches
|
Iterable of strings ;
default = []Una lista de etiquetas que apunta a los archivos de parche para aplicar en este módulo. Los archivos de parche deben existir en el árbol de fuentes del proyecto de nivel superior. Se aplican en el orden de la lista. |
patch_cmds
|
Iterable of strings ; default = []Secuencia de comandos Bash que se aplicarán en Linux/Macos después de la aplicación de los parches. |
patch_strip
|
default = 0 Igual que el argumento --strip del parche Unix. |
aspecto
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)Crea un aspecto nuevo. El resultado de esta función debe almacenarse en un valor global. Consulta la introducción a Aspectos para obtener más detalles.
Parámetros
Parámetro | Descripción |
---|---|
implementation
|
obligatorio Una función de Starlark que implementa este aspecto con exactamente dos parámetros: Target (el destino al que se aplica el aspecto) y ctx (el contexto de la regla en el que se crea el destino). Los atributos del destino están disponibles a través del campo ctx.rule . Esta función se evalúa durante la fase de análisis para cada aplicación de un aspecto a un objetivo.
|
attr_aspects
|
sequence of strings ;
default = []Lista de nombres de atributos. El aspecto se propaga a lo largo de las dependencias especificadas en los atributos de un destino con estos nombres. Los valores comunes aquí incluyen deps y exports . La lista también puede contener una sola string "*" para propagarse a lo largo de todas las dependencias de un destino.
|
attrs
|
dict; or None ;
predeterminado = NingunoEs un diccionario que declara todos los atributos del aspecto. Se asigna desde un nombre de atributo a un objeto de atributo, como "attr.label" o "attr.string" (consulta el módulo attr). Los atributos de aspecto están disponibles para la implementación de la función como campos del parámetro ctx . Los atributos implícitos que comienzan con Los atributos explícitos deben tener el tipo |
required_providers
|
default = [] Este atributo permite que el aspecto limite su propagación a solo los objetivos cuyas reglas anuncian sus proveedores obligatorios. El valor debe ser una lista que contenga proveedores individuales o listas de proveedores, pero no ambos. Por ejemplo, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] es un valor válido, mientras que [FooInfo, BarInfo, [BazInfo, QuxInfo]] no lo es.Una lista de proveedores no anidada se convertirá automáticamente en una lista que contiene una sola lista de proveedores. Es decir, Para que algunos objetivos de reglas (p.ej., |
required_aspect_providers
|
default = [] Este atributo permite que este aspecto inspeccione otros. El valor debe ser una lista que contenga proveedores individuales o listas de proveedores, pero no ambos. Por ejemplo, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] es un valor válido, mientras que [FooInfo, BarInfo, [BazInfo, QuxInfo]] no lo es.Una lista de proveedores no anidada se convertirá automáticamente en una lista que contiene una sola lista de proveedores. Es decir, Para que otro aspecto (p.ej., |
provides
|
default = [] Es una lista de proveedores que la función de implementación debe mostrar. Se generará un error si la función de implementación omite del valor que se muestra alguno de los tipos de proveedores que se enumeran aquí. Sin embargo, la función de implementación puede mostrar proveedores adicionales que no se mencionan aquí. Cada elemento de la lista es un objeto |
requires
|
sequence of Aspects ;
predeterminado = []Lista de aspectos que se deben propagar antes de este aspecto. |
fragments
|
sequence of strings ;
default = []Lista de nombres de fragmentos de configuración que el aspecto requiere en la configuración de destino. |
host_fragments
|
sequence of strings ;
default = []Lista de nombres de fragmentos de configuración que el aspecto requiere en la configuración del host. |
toolchains
|
sequence ;
default = []Si se establece, es el conjunto de cadenas de herramientas que requiere esta regla. La lista puede contener objetos String, Label o StarlarkToolchainTypeApi, en cualquier combinación. Para encontrar las cadenas de herramientas, verifica la plataforma actual y se proporcionan a la implementación de la regla a través de ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Este objeto ya no está en uso y se debe quitar. |
doc
|
default = '' Es una descripción del aspecto que se puede extraer mediante herramientas de generación de documentación. |
apply_to_generating_rules
|
default = False Si el aspecto es verdadero, cuando se aplique a un archivo de salida, el aspecto se aplicará a la regla de generación del archivo de salida. Por ejemplo, supongamos que un aspecto se propaga transitivamente a través del atributo "deps" y que se aplica al destino "alpha". Supongamos que "alpha" tiene "deps = [':beta_output']", donde "beta_output" es un resultado declarado de una "beta" de destino. "beta" tiene un "charlie" objetivo como uno de sus "deps", y "alphachar" se propagará a través de True. Es falso de forma predeterminada. |
exec_compatible_with
|
sequence of strings ;
default = []Una lista de restricciones en la plataforma de ejecución que se aplican a todas las instancias de este aspecto. |
exec_groups
|
dict; or None ;
predeterminado = NingunoDictado del nombre del grupo de ejecución (string) en exec_group s. Si se configura, permite que los aspectos ejecuten acciones en varias plataformas de ejecución dentro de una sola instancia. Consulta la documentación sobre grupos de ejecución para obtener más información.
|
bazel_dep
None bazel_dep(name, version='', repo_name='', dev_dependency=False)Declara una dependencia directa de otro módulo de Bazel.
Parámetros
Parámetro | Descripción |
---|---|
name
|
required Es el nombre del módulo que se agregará como dependencia directa. |
version
|
default = '' Versión del módulo que se agregará como dependencia directa. |
repo_name
|
default = '' Es el nombre del repositorio externo que representa esta dependencia. Este es el nombre predeterminado del módulo. |
dev_dependency
|
default = False Si es verdadero, esta dependencia se ignorará si el módulo actual no es el módulo raíz o si se habilita `--ignore_dev_dependency`. |
bind
None bind(name, actual=None)
Advertencia: No se recomienda el uso de bind()
. Consulta Considera quitar la vinculación para ver un debate largo de sus problemas y alternativas.
Otorga a un objetivo un alias en el paquete //external
.
Parámetros
Parámetro | Descripción |
---|---|
name
|
obligatorio La etiqueta de “//external” para que funcione como el nombre del alias |
actual
|
string; or None ;
default = NoneLa etiqueta real a la que se le asignará un alias |
bool
bool bool(x=False)Constructor del tipo bool. Muestra
False
si el objeto es None
, False
, una string vacía (""
), el número 0
o una colección vacía (p.ej., ()
, []
). De lo contrario, muestra True
.
Parámetros
Parámetro | Descripción |
---|---|
x
|
default = False La variable que se convertirá. |
configuration_field
LateBoundDefault configuration_field(fragment, name)Hace referencia a un valor predeterminado de límite tardío para un atributo del tipo label. Un valor es de "límite tardío" si requiere que se compile la configuración antes de determinarlo. Todo atributo que lo use como valor debe ser privado.
Ejemplo de uso:
Definición de un atributo de regla:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
Acceso en la implementación de reglas:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
Parámetros
Parámetro | Descripción |
---|---|
fragment
|
required Es el nombre de un fragmento de configuración que contiene el valor de vínculo tardío. |
name
|
required El nombre del valor que se obtiene del fragmento de configuración. |
depset
depset depset(direct=None, order="default", *, transitive=None)Crea un depset. El parámetro
direct
es una lista de elementos directos de la dependencia, y el parámetro transitive
, una lista de dependencias, cuyos elementos se convierten en elementos indirectos de la depset creada. El parámetro order
especifica el orden en el que se muestran los elementos cuando la función se convierte en una lista. Consulta la Descripción general de dependencias para obtener más información.
Todos los elementos (directos o indirectos) de un depset deben ser del mismo tipo, como lo obtiene la expresión type(x)
.
Debido a que se usa un conjunto basado en hash para eliminar duplicados durante la iteración, todos los elementos de un depset deben poder generar un hash. Sin embargo, esta invariante actualmente no se verifica de manera coherente en todos los constructores. Usa la marca --incompatible_always_check_depset_elements para habilitar la verificación coherente. Este será el comportamiento predeterminado en versiones futuras. Consulta el error 10313.
Además, los elementos deben ser inmutables, aunque esta restricción se relajará en el futuro.
El orden de la dependencia creada debe ser compatible con el orden de las dependencias de transitive
. El pedido de "default"
es compatible con cualquier otro pedido; los demás pedidos solo son compatibles con ellos mismos.
Nota sobre compatibilidad con versiones anteriores y posteriores. Actualmente, esta función acepta un parámetro posicional items
. Es obsoleto y se quitará en el futuro. Después de su eliminación, direct
se convertirá en un único parámetro posicional de la función depset
. Por lo tanto, las siguientes llamadas son equivalentes y preparadas para el futuro:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
Parámetros
Parámetro | Descripción |
---|---|
direct
|
sequence; or None ;
default = NoneEs una lista de elementos directos de un depset. |
order
|
default = "default" Es la estrategia de recorrido para la instalación nueva. Consulta aquí los valores posibles. |
transitive
|
sequence of depsets; or None ;
default = NoneEs una lista de dependencias cuyos elementos se convertirán en elementos indirectos de ella. |
dict
dict dict(pairs=[], **kwargs)Crea un diccionario a partir de un argumento posicional opcional y un conjunto opcional de argumentos de palabras clave. Si se proporciona la misma clave varias veces, se usará el último valor. Se considera que las entradas proporcionadas a través de los argumentos de palabra clave provienen de las entradas proporcionadas a través del argumento posicional.
Parámetros
Parámetro | Descripción |
---|---|
pairs
|
default = [] Es un dict o un iterable cuyos elementos son cada uno de longitud 2 (clave, valor). |
kwargs
|
obligatorio Diccionario de entradas adicionales. |
dir
list dir(x)Muestra una lista de cadenas: los nombres de los atributos y los métodos del objeto de parámetro.
Parámetros
Parámetro | Descripción |
---|---|
x
|
required El objeto que se verificará. |
enumerar
list enumerate(list, start=0)Muestra una lista de pares (tuplas de dos elementos), con el índice (int) y el elemento de la secuencia de entrada.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
Parámetros
Parámetro | Descripción |
---|---|
list
|
secuencia de entrada requerida. |
start
|
default = 0 índice de inicio. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)Crea un grupo de ejecución que se puede usar para crear acciones para una plataforma de ejecución específica durante la implementación de reglas.
Parámetros
Parámetro | Descripción |
---|---|
toolchains
|
sequence ;
default = []Es el conjunto de cadenas de herramientas que requiere este grupo de ejecución. La lista puede contener objetos String, Label o StarlarkToolchainTypeApi, en cualquier combinación. |
exec_compatible_with
|
sequence of strings ;
default = []Una lista de restricciones en la plataforma de ejecución. |
copy_from_rule
|
default = False Si se establece como verdadero, este grupo de ejecución hereda las cadenas de herramientas y las restricciones de la regla a la que se adjunta este grupo. Si se establece en cualquier otra cadena, se arrojará un error. |
desaprobado
None fail(msg=None, attr=None, *args)Hace que la ejecución falle con un error.
Parámetros
Parámetro | Descripción |
---|---|
msg
|
default = None Obsoleto: usa argumentos posicionales. Este argumento actúa como un argumento posicional inicial implícito. |
attr
|
string; or None ;
default = NoneObsoleto. Hace que un prefijo opcional que contiene esta cadena se agregue al mensaje de error. |
args
|
obligatorio Una lista de valores, con formato str y unidos con espacios, que aparecen en el mensaje de error. |
float
float float(x=unbound)Muestra x como un valor de número de punto flotante.
- Si
x
ya es un número de punto flotante,float
no lo muestra sin cambios. - Si
x
es un bool,float
muestra 1.0 para verdadero y 0.0 para Falso. - Si
x
es un número entero,float
muestra el valor de punto flotante finito más cercano a x, o bien un error si la magnitud es demasiado grande. - Si
x
es una string, debe ser un literal de punto flotante válido o ser igual (sin distinguir entre mayúsculas y minúsculas) aNaN
,Inf
oInfinity
, precedido opcionalmente por un signo+
o-
.
float()
muestra 0.0.
Parámetros
Parámetro | Descripción |
---|---|
x
|
default = unbound Es el valor que se convertirá. |
getattr
unknown getattr(x, name, default=unbound)Muestra el campo de la estructura del nombre dado, si existe. De lo contrario, muestra
default
(si se especifica) o genera un error. getattr(x, "foobar")
equivale a x.foobar
.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
Parámetros
Parámetro | Descripción |
---|---|
x
|
required La estructura a cuyo atributo se accede. |
name
|
obligatorio Es el nombre del atributo struct. |
default
|
default = unbound Es el valor predeterminado que se mostrará en caso de que la estructura no tenga un atributo con el nombre dado. |
git_override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)Especifica que una dependencia debe provenir de una confirmación determinada de un repositorio de Git. Solo el módulo raíz puede usar esta directiva; en otras palabras, si un módulo especifica alguna anulación, otros no podrá usarla como dependencia.
Parámetros
Parámetro | Descripción |
---|---|
module_name
|
required Es el nombre de la dependencia del módulo de Bazel a la que se aplicará esta anulación. |
remote
|
required La URL del repositorio de Git remoto. |
commit
|
default = '' La confirmación que se debe verificar. |
patches
|
Iterable of strings ;
default = []Una lista de etiquetas que apunta a los archivos de parche para aplicar en este módulo. Los archivos de parche deben existir en el árbol de fuentes del proyecto de nivel superior. Se aplican en el orden de la lista. |
patch_cmds
|
Iterable of strings ; default = []Secuencia de comandos Bash que se aplicarán en Linux/Macos después de la aplicación de los parches. |
patch_strip
|
default = 0 Igual que el argumento --strip del parche Unix. |
Hasattr
bool hasattr(x, name)Muestra el valor True si el objeto
x
tiene un atributo o método del name
determinado; de lo contrario, muestra el valor False. Ejemplo:hasattr(ctx.attr, "myattr")
Parámetros
Parámetro | Descripción |
---|---|
x
|
required El objeto que se verificará. |
name
|
obligatorio Es el nombre del atributo. |
hash
int hash(value)Muestra un valor de hash para una string. Esto se calcula de forma determinista con el mismo algoritmo que
String.hashCode()
de Java, es decir: s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]Actualmente, no se admite el hash de valores que no sean strings.
Parámetros
Parámetro | Descripción |
---|---|
value
|
obligatorio El valor de la string para el hash. |
int
int int(x, base=unbound)Muestra x como un valor int.
- Si
x
ya es un número entero,int
lo muestra sin cambios. - Si
x
es un bool,int
muestra 1 para verdadero y 0 para Falso. - Si
x
es una string, debe tener el formato<sign><prefix><digits>
.<sign>
es"+"
,"-"
o está vacío (se interpreta como positivo).<digits>
es una secuencia de dígitos del 0 albase
-1, en la que las letras a-z (o equivalentes, A-Z) se usan como dígitos del 10 al 35. Cuandobase
sea 2/8/16,<prefix>
es opcional y puede ser 0b/0o/0x (o equivalente, 0B/0O/0X) respectivamente. Sibase
es cualquier otro valor además de estas bases o el valor especial 0, el prefijo debe estar vacío. Cuandobase
es 0, la string se interpreta como un literal de número entero, en el sentido de que se elige una de las bases 2/8/10/16 según el prefijo que se use. Sibase
es 0, no se usa ningún prefijo y si hay más de un dígito, el primer dígito no puede ser 0; esto es para evitar confusiones entre el octal y el decimal. La magnitud del número que representa la cadena debe estar dentro del rango permitido para el tipo int. - Si
x
es un número de punto flotante,int
muestra el valor entero del número de punto flotante, que se redondea hacia cero. Es un error si x no es finito (NaN o infinito).
x
es de otro tipo o si el valor es una string que no cumple con el formato anterior. A diferencia de la función int
de Python, esta no permite cero argumentos ni espacios en blanco irrelevantes para los argumentos de string.Ejemplos:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
Parámetros
Parámetro | Descripción |
---|---|
x
|
obligatorio Cadena que se convertirá. |
base
|
default = unbound La base que se usa para interpretar un valor de string; el valor predeterminado es 10. Debe estar entre 2 y 36 (inclusive), o 0 para detectar la base como si x fuera un literal de número entero. No se debe proporcionar este parámetro si el valor no es una cadena.
|
len
int len(x)Muestra la longitud de una string, una secuencia (como una lista o una tupla), un dict o algún otro iterable.
Parámetros
Parámetro | Descripción |
---|---|
x
|
obligatorio Es el valor cuya longitud se va a informar. |
list
list list(x=[])Muestra una lista nueva con los mismos elementos que el valor iterable especificado.
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
Parámetros
Parámetro | Descripción |
---|---|
x
|
default = [] Es el objeto que se convertirá. |
local_path_override
None local_path_override(module_name, path)Especifica que una dependencia debe provenir de un directorio determinado en el disco local. Solo el módulo raíz puede usar esta directiva; en otras palabras, si un módulo especifica alguna anulación, otros no podrá usarla como dependencia.
Parámetros
Parámetro | Descripción |
---|---|
module_name
|
required Es el nombre de la dependencia del módulo de Bazel a la que se aplicará esta anulación. |
path
|
required La ruta de acceso al directorio en el que se encuentra este módulo. |
max
unknown max(*args)Muestra el mayor de todos los argumentos especificados. Si solo se proporciona un argumento, debe ser un iterable que no esté vacío.Es un error si los elementos no son comparables (por ejemplo, int con string) o si no se proporcionan argumentos.
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
Parámetros
Parámetro | Descripción |
---|---|
args
|
obligatorio Los elementos que se deben comprobar. |
min
unknown min(*args)Muestra el más pequeño de todos los argumentos especificados. Si solo se proporciona un argumento, debe ser un iterable que no esté vacío. Es un error si los elementos no son comparables (por ejemplo, int con string) o si no se proporcionan argumentos.
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
Parámetros
Parámetro | Descripción |
---|---|
args
|
obligatorio Los elementos que se deben comprobar. |
módulo
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])Declara ciertas propiedades del módulo de Bazel representadas por el repositorio actual de Bazel. Estas propiedades son metadatos esenciales del módulo (como el nombre y la versión) o afectan el comportamiento del módulo actual y sus dependientes.
Debe llamarse una vez como máximo. Solo se puede omitir si este módulo es el módulo raíz (como en el caso de que otro módulo no dependa de él).
Parámetros
Parámetro | Descripción |
---|---|
name
|
default = '' Es el nombre del módulo. Solo se puede omitir si este módulo es el módulo raíz (como en el caso de que otro módulo no dependa de él). Un nombre de módulo válido debe: 1) contener solo letras minúsculas (a-z), dígitos (0-9), puntos (.), guiones (-) y guiones bajos (_); 2) comenzar con una letra minúscula; 3) terminar con una letra minúscula o un número. |
version
|
default = '' Es la versión del módulo. Solo se puede omitir si este módulo es el módulo raíz (como en el caso de que otro módulo no dependa de él). |
compatibility_level
|
default = 0 El nivel de compatibilidad del módulo. Esto debe cambiarse cada vez que se introduce un cambio incompatible importante. En esencia, esta es la "versión principal" del módulo en términos de SemVer, excepto que no está incorporada en la string de la versión en sí, sino que existe como un campo independiente. Los módulos con diferentes niveles de compatibilidad participan en la resolución de versión como si fueran módulos con nombres diferentes, pero el gráfico de dependencia final no puede contener varios módulos con el mismo nombre, pero con niveles de compatibilidad diferentes (a menos que multiple_version_override esté vigente; consulta allí para obtener más detalles).
|
repo_name
|
default = '' Es el nombre del repositorio que representa a este módulo, tal como lo ve el módulo en sí. Según la configuración predeterminada, el nombre del repositorio es el nombre del módulo. Esto se puede especificar a fin de facilitar la migración de proyectos que usaron un nombre de repositorio para sí mismo que difiere de su nombre de módulo. |
bazel_compatibility
|
Iterable of strings ;
default = []Una lista de versiones de Bazel que permite a los usuarios declarar qué versiones de Bazel son compatibles con este módulo. NO afecta la resolución de dependencias, pero bzlmod usará esta información para verificar si tu versión actual de Bazel es compatible. El formato de este valor es una string de algunos valores de restricción separados por comas. Se admiten tres restricciones: <=X.X.X: la versión de Bazel debe ser igual o anterior a X.X.X. Se usa cuando hay un cambio incompatible conocido en una versión más reciente. >=X.X.X: La versión de Bazel debe ser igual o posterior a X.X.X.Se usa cuando dependes de algunas funciones que solo están disponibles a partir de X.X.X. -X.X.X: La versión X.X.X de Bazel no es compatible. Se usa cuando hay un error en X.X.X que te impide, pero que se corrigió en versiones posteriores. |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='')Crea una nueva extensión de módulo. Guárdalo en un valor global para que se pueda exportar y usar en un archivo MÓDULE.bazel.
Parámetros
Parámetro | Descripción |
---|---|
implementation
|
required Es la función que implementa la extensión de este módulo. Debes tomar un solo parámetro, module_ctx . La función se llama una vez al comienzo de una compilación para determinar el conjunto de repositorios disponibles.
|
tag_classes
|
default = {} Es un diccionario para declarar todas las clases de etiquetas que usa la extensión. Asigna desde el nombre de la clase de etiqueta a un objeto tag_class .
|
doc
|
default = '' Es una descripción de la extensión del módulo que se puede extraer con las herramientas de generación de documentación. |
multiple_version_override
None multiple_version_override(module_name, versions, registry='')Especifica que una dependencia aún debe provenir de un registro, pero se debe permitir que varias versiones coexistan. Solo el módulo raíz puede usar esta directiva; en otras palabras, si un módulo especifica alguna anulación, otros no podrá usarla como dependencia.
Parámetros
Parámetro | Descripción |
---|---|
module_name
|
required Es el nombre de la dependencia del módulo de Bazel a la que se aplicará esta anulación. |
versions
|
Iterable of strings ; obligatorioEspecifica explícitamente las versiones que pueden coexistir. Estas versiones ya deben estar presentes en la selección previa del gráfico de dependencia. Las dependencias de este módulo se "actualizarán" a la versión superior permitida más cercana en el mismo nivel de compatibilidad, mientras que las dependencias que tengan una versión superior a la de cualquier versión permitida con el mismo nivel de compatibilidad causarán un error. |
registry
|
default = '' Anula el registro de este módulo. En lugar de encontrar este módulo en la lista predeterminada de registros, se debe usar el registro determinado. |
imprimir
None print(sep=" ", *args)Imprime
args
como resultado de depuración. Tendrá el prefijo de la cadena "DEBUG"
y la ubicación (archivo y número de línea) de esta llamada. No se especifica la forma exacta en que los argumentos se convierten en cadenas, y puede cambiar en cualquier momento. En particular, puede ser diferente del formato que usan str()
y repr()
, además de ser más detallado.No se recomienda el uso de print
en el código de producción debido al spam que crea para los usuarios. Para las bajas, te recomendamos que uses fail()
ante un error grave siempre que sea posible.
Parámetros
Parámetro | Descripción |
---|---|
sep
|
default = " " Es la cadena de separador entre los objetos. El valor predeterminado es el espacio (" "). |
args
|
required Son los objetos que se imprimirán. |
provider
unknown provider(doc='', *, fields=None, init=None)Define un símbolo de proveedor. Se puede crear una instancia del proveedor llamándolo o se puede usar directamente como clave para recuperar una instancia de ese proveedor desde un destino. Ejemplo:
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
Consulta Reglas (proveedores) para obtener una guía completa sobre cómo usar los proveedores.
Muestra un valor Provider
que admite llamadas si no se especifica init
.
Si se especifica init
, muestra una tupla de 2 elementos: un valor que admite llamadas de Provider
y un valor de constructor sin procesar que admite llamadas. Consulta Reglas (inicialización personalizada de proveedores personalizados) y el análisis del parámetro init
a continuación para obtener más detalles.
Parámetros
Parámetro | Descripción |
---|---|
doc
|
default = '' Es una descripción del proveedor que se puede extraer mediante herramientas de generación de documentación. |
fields
|
sequence of strings; or dict; or None ;
predeterminado = NingunoSi se especifica, restringe el conjunto de campos permitidos. Los valores posibles son:
|
init
|
callable; or None ;
default = NoneUna devolución de llamada opcional para el procesamiento previo y la validación de los valores de campo del proveedor durante la creación de instancias. Si se especifica init , provider() muestra una tupla de 2 elementos: el símbolo del proveedor normal y un constructor sin procesar.A continuación, encontrarás una descripción precisa. Consulta Reglas (Inicialización personalizada de proveedores) para obtener un debate intuitivo y casos de uso. Deja que
init , una llamada al símbolo P en sí funciona como una llamada a la función del constructor predeterminada c . En otras palabras, P(*args, **kwargs) muestra c(*args, **kwargs) . Por ejemplo,MyInfo = provider() m = MyInfo(foo = 1)hará que m sea una instancia MyInfo con m.foo == 1 de forma directa.Sin embargo, en el caso en que se especifique
Nota: Los pasos anteriores implican que se produce un error si De esta manera, la devolución de llamada Cuando se especifica MyInfo, _new_myinfo = provider(init = ...) |
rango
sequence range(start_or_stop, stop_or_none=None, step=1)Crea una lista en la que los elementos pasan de
start
a stop
con un incremento de step
. Si se proporciona un solo argumento, los elementos variarán de 0 a ese elemento.range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
Parámetros
Parámetro | Descripción |
---|---|
start_or_stop
|
obligatorio Valor del elemento de inicio si se proporciona una parada; de lo contrario, el valor de la parada y el inicio real son 0. |
stop_or_none
|
int; or None ;
default = NoneÍndice opcional del primer elemento que no se incluirá en la lista resultante; la generación de la lista se detiene antes de alcanzar el stop .
|
step
|
default = 1 El incremento (el valor predeterminado es 1). Es posible que sea negativo. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Registra una plataforma ya definida para que Bazel pueda usarla como plataforma de ejecución durante la resolución de la cadena de herramientas.
Parámetros
Parámetro | Descripción |
---|---|
platform_labels
|
sequence of strings (obligatorio)Las etiquetas de las plataformas que se registrarán. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Especifica las plataformas de ejecución ya definidas que se registrarán cuando se seleccione este módulo. Deben ser patrones objetivo absolutos (es decir, deben comenzar con
@
o //
). Consulta la resolución de la cadena de herramientas para obtener más información.
Parámetros
Parámetro | Descripción |
---|---|
platform_labels
|
sequence of strings (obligatorio)Las etiquetas de las plataformas que se registrarán. |
register_toolchains()
None register_toolchains(*toolchain_labels)Registra una cadena de herramientas ya definida para que Bazel pueda usarla durante la resolución de la cadena de herramientas. Consulta ejemplos para definir y registrar cadenas de herramientas.
Parámetros
Parámetro | Descripción |
---|---|
toolchain_labels
|
sequence of strings ;
obligatorioLas etiquetas de las cadenas de herramientas que se registrarán. |
register_toolchains()
None register_toolchains(*toolchain_labels)Especifica cadenas de herramientas ya definidas que se registrarán cuando se seleccione este módulo. Deben ser patrones objetivo absolutos (es decir, deben comenzar con
@
o //
). Consulta la resolución de la cadena de herramientas para obtener más información.
Parámetros
Parámetro | Descripción |
---|---|
toolchain_labels
|
sequence of strings ;
obligatorioLas etiquetas de las cadenas de herramientas que se registrarán. |
repositorio_rule(implementación, attrs, local, Environ, configurar, de forma remota, doc)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Crea una nueva regla de repositorio. Guárdalo en un valor global para que se pueda cargar y llamar desde el archivo WORKSPACE.
Parámetros
Parámetro | Descripción |
---|---|
implementation
|
required es la función que implementa esta regla. Debe tener un solo parámetro, repository_ctx . Se llama a la función durante la fase de carga para cada instancia de la regla.
|
attrs
|
dict; or None ; predeterminado = Ningunopara declarar todos los atributos de la regla. Se asigna desde un nombre de atributo a un objeto de atributo (consulta el módulo attr). Los atributos que comienzan con _ son privados y se pueden usar para agregar a un archivo una dependencia implícita de una etiqueta (una regla de repositorio no puede depender de un artefacto generado). El atributo name se agrega de forma implícita y no se debe especificar.
|
local
|
default = False Indica que esta regla recupera todo del sistema local y que se debe volver a evaluar en cada recuperación. |
environ
|
sequence of strings ;
default = []Proporciona una lista de variables de entorno de las que depende esta regla de repositorio. Si una variable de entorno de esa lista cambia, el repositorio se volverá a recuperar. |
configure
|
default = False Indica que el repositorio inspecciona el sistema con fines de configuración |
remotable
|
default = False Experimental. Este parámetro es experimental y puede cambiar en cualquier momento. No dependas de ello. Se puede habilitar de manera experimental estableciendo ---experimental_repo_remote_exec Compatible con la ejecución remota |
doc
|
default = '' Es una descripción de la regla del repositorio que se puede extraer mediante las herramientas de generación de documentación. |
repositorio_rule(implementación, attrs, local, Environ, configurar, de forma remota, doc)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')Crea una nueva regla de repositorio. Guárdalo en un valor global para que se pueda cargar y llamar desde el archivo WORKSPACE.
Parámetros
Parámetro | Descripción |
---|---|
implementation
|
required es la función que implementa esta regla. Debe tener un solo parámetro, repository_ctx . Se llama a la función durante la fase de carga para cada instancia de la regla.
|
attrs
|
dict; or None ; predeterminado = Ningunopara declarar todos los atributos de la regla. Se asigna desde un nombre de atributo a un objeto de atributo (consulta el módulo attr). Los atributos que comienzan con _ son privados y se pueden usar para agregar a un archivo una dependencia implícita de una etiqueta (una regla de repositorio no puede depender de un artefacto generado). El atributo name se agrega de forma implícita y no se debe especificar.
|
local
|
default = False Indica que esta regla recupera todo del sistema local y que se debe volver a evaluar en cada recuperación. |
environ
|
sequence of strings ;
default = []Proporciona una lista de variables de entorno de las que depende esta regla de repositorio. Si una variable de entorno de esa lista cambia, el repositorio se volverá a recuperar. |
configure
|
default = False Indica que el repositorio inspecciona el sistema con fines de configuración |
remotable
|
default = False Experimental. Este parámetro es experimental y puede cambiar en cualquier momento. No dependas de ello. Se puede habilitar de manera experimental estableciendo ---experimental_repo_remote_exec Compatible con la ejecución remota |
doc
|
default = '' Es una descripción de la regla del repositorio que se puede extraer mediante las herramientas de generación de documentación. |
repr
string repr(x)Convierte cualquier objeto en una representación de string. Esto es útil para la depuración.
repr("ab") == '"ab"'
Parámetros
Parámetro | Descripción |
---|---|
x
|
required El objeto que se convertirá. |
Revertida
list reversed(sequence)Muestra una lista nueva, no congelada que contiene los elementos de la secuencia iterable original en orden inverso.
reversed([3, 5, 4]) == [4, 5, 3]
Parámetros
Parámetro | Descripción |
---|---|
sequence
|
required La secuencia iterable (p.ej., lista) que se revertirá. |
regla
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)Crea una regla nueva, a la que se puede llamar desde un archivo BUILD o una macro para crear objetivos.
Las reglas deben asignarse a variables globales en un archivo .bzl. El nombre de la variable global es el nombre de la regla.
Las reglas de prueba deben tener un nombre que termine en _test
, mientras que las demás reglas no deben tener este sufijo. (Esta restricción solo se aplica a las reglas, no a sus objetivos).
Parámetros
Parámetro | Descripción |
---|---|
implementation
|
obligatorio La función de Starlark que implementa esta regla debe tener exactamente un parámetro: ctx. Se llama a la función durante la fase de análisis para cada instancia de la regla. Puede acceder a los atributos que proporciona el usuario. Debe crear acciones para generar todos los resultados declarados. |
test
|
default = False Indica si esta regla es de prueba, es decir, si puede estar sujeta a un comando blaze test . Todas las reglas de prueba se consideran ejecutables automáticamente. No es necesario (y no se recomienda) configurar explícitamente executable = True para una regla de prueba. Consulta la página de reglas para obtener más información.
|
attrs
|
dict; or None ; predeterminado = Ningunopara declarar todos los atributos de la regla. Se asigna desde un nombre de atributo a un objeto de atributo (consulta el módulo attr). Los atributos que comienzan con _ son privados y se pueden usar para agregar una dependencia implícita en una etiqueta. El atributo name se agrega de forma implícita y no se debe especificar. Los atributos visibility , deprecation , tags , testonly y features se agregan de forma implícita y no se pueden anular. La mayoría de las reglas solo necesitan algunos atributos. Para limitar el uso de memoria, la función de regla impone un límite en el tamaño de las atributos.
|
outputs
|
dict; or None; or function ; predeterminado = NingunoObsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con ---incompatible_no_rule_outputs_param . Usa esta marca para verificar que tu código sea compatible con la eliminación inminente. Este parámetro dejó de estar disponible. Migra las reglas para usar OutputGroupInfo o attr.output en su lugar. Un esquema para definir resultados declarados previamente. A diferencia de los atributos El valor de este argumento es un diccionario o una función de devolución de llamada que genera un diccionario. La devolución de llamada funciona de manera similar a los atributos de dependencia calculados: los nombres de los parámetros de la función se comparan con los atributos de la regla, por lo que, por ejemplo, si pasas Cada entrada en el diccionario crea un resultado declarado previamente en el que la clave es un identificador y el valor es una plantilla de string que determina la etiqueta del resultado. En la función de implementación de la regla, el identificador se convierte en el nombre del campo que se usa para acceder al
En la práctica, el marcador de posición de sustitución más común es |
executable
|
default = False Si esta regla se considera ejecutable, es decir, si puede estar sujeta a un comando blaze run . Consulta la página de reglas para obtener más información.
|
output_to_genfiles
|
default = False Si este valor es verdadero, los archivos se generarán en el directorio genfiles en lugar del directorio bin. A menos que la necesites por cuestiones de compatibilidad con reglas existentes (p.ej., cuando se generan archivos de encabezado para C++), no configures esta marca. |
fragments
|
sequence of strings ;
default = []Lista de nombres de fragmentos de configuración que la regla requiere en la configuración de destino. |
host_fragments
|
sequence of strings ;
default = []Lista de nombres de fragmentos de configuración que la regla requiere en la configuración del host. |
_skylark_testable
|
default = False (Experimental) Si es verdadero, esta regla expondrá sus acciones para su inspección mediante reglas que dependen de ella mediante un proveedor de Acciones. El proveedor también está disponible para la regla a través de una llamada a ctx.created_actions(). Solo debe usarse para probar el comportamiento de tiempo de análisis de las reglas de Starlark. Es posible que esta marca se quite en el futuro. |
toolchains
|
sequence ;
default = []Si se establece, es el conjunto de cadenas de herramientas que requiere esta regla. La lista puede contener objetos String, Label o StarlarkToolchainTypeApi, en cualquier combinación. Para encontrar las cadenas de herramientas, verifica la plataforma actual y se proporcionan a la implementación de la regla a través de ctx.toolchain .
|
incompatible_use_toolchain_transition
|
default = False Este objeto ya no está en uso y se debe quitar. |
doc
|
default = '' Es una descripción de la regla que se puede extraer mediante herramientas de generación de documentación. |
provides
|
default = [] Es una lista de proveedores que la función de implementación debe mostrar. Se generará un error si la función de implementación omite del valor que se muestra alguno de los tipos de proveedores que se enumeran aquí. Sin embargo, la función de implementación puede mostrar proveedores adicionales que no se mencionan aquí. Cada elemento de la lista es un objeto |
exec_compatible_with
|
sequence of strings ;
default = []Una lista de restricciones en la plataforma de ejecución que se aplican a todos los destinos de este tipo de regla. |
analysis_test
|
default = False Si es verdadero, esta regla se trata como una prueba de análisis. Nota: Las reglas de prueba de análisis se definen principalmente con la infraestructura proporcionada en las bibliotecas principales de Starlark. Consulta Pruebas para obtener orientación. Si una regla se define como una regla de prueba de análisis, puede usar transiciones de configuración definidas mediante analysis_test_transition en sus atributos, pero habilita algunas restricciones:
|
build_setting
|
BuildSetting; or None ;
default = NoneSi se establece, describe a qué tipo de build setting es esta regla. Consulta el módulo config . Si la estableces, se agregará automáticamente un atributo obligatorio llamado "build_setting_default" a esta regla, con un tipo correspondiente al valor que se pasó aquí.
|
cfg
|
default = None Si se configura, apunta a la transición de configuración que la regla aplicará a su propia configuración antes del análisis. |
exec_groups
|
dict; or None ;
predeterminado = NingunoDictado del nombre del grupo de ejecución (string) en exec_group s. Si se configura, permite que las reglas ejecuten acciones en varias plataformas de ejecución dentro de un solo objetivo. Consulta la documentación sobre grupos de ejecución para obtener más información.
|
compile_one_filetype
|
sequence of strings; or None ;
default = NoneUsado por --compile_one_dependency: Si varias reglas consumen el archivo especificado, ¿debemos elegir esta regla por sobre otras. |
name
|
string; or None ; predeterminado = NingunoObsoleto. Este parámetro dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con --+incompatible_remove_rule_name_parameter . Usa esta marca para verificar que tu código sea compatible con la eliminación inminente. Obsoleto: no usarlo. El nombre de esta regla, tal y como Bazel comprende y se informa en contextos como Logging, Si se omite este parámetro, el nombre de la regla se establece con el nombre de la primera variable global de Starlark que se vinculará a esta regla dentro del módulo .bzl de declaración. Por lo tanto, Si especificas un nombre explícito para una regla, no se modifica el lugar en el que se pueden crear instancias de la regla. |
select
unknown select(x, no_match_error='')
select()
es la función auxiliar que hace que un atributo de regla sea configurable. Consulta la enciclopedia de compilación para obtener más detalles.
Parámetros
Parámetro | Descripción |
---|---|
x
|
obligatorio Un dict que asigna condiciones de configuración a valores. Cada clave es una string de Label o de etiqueta que identifica una instancia config_setting o constraint_value. Consulta la documentación sobre macros para saber cuándo usar una etiqueta en lugar de una string. |
no_match_error
|
default = '' Es un error personalizado opcional que se debe informar si no coincide ninguna condición. |
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)Especifica que una dependencia aún debe provenir de un registro, pero que se debe fijar su versión, que se debe anular el registro o que se debe aplicar una lista de parches. Solo el módulo raíz puede usar esta directiva; en otras palabras, si un módulo especifica alguna anulación, otros no podrá usarla como dependencia.
Parámetros
Parámetro | Descripción |
---|---|
module_name
|
required Es el nombre de la dependencia del módulo de Bazel a la que se aplicará esta anulación. |
version
|
default = '' Anula la versión declarada de este módulo en el gráfico de dependencias. En otras palabras, este módulo se “fijará” a esta versión de anulación. Este atributo se puede omitir si solo se quiere anular el registro o los parches. |
registry
|
default = '' Anula el registro de este módulo. En lugar de encontrar este módulo en la lista predeterminada de registros, se debe usar el registro determinado. |
patches
|
Iterable of strings ;
default = []Una lista de etiquetas que apunta a los archivos de parche para aplicar en este módulo. Los archivos de parche deben existir en el árbol de fuentes del proyecto de nivel superior. Se aplican en el orden de la lista. |
patch_cmds
|
Iterable of strings ; default = []Secuencia de comandos Bash que se aplicarán en Linux/Macos después de la aplicación de los parches. |
patch_strip
|
default = 0 Igual que el argumento --strip del parche Unix. |
ordenado
list sorted(iterable, *, key=None, reverse=False)Muestra una lista ordenada nueva que contiene todos los elementos de la secuencia iterable proporcionada. Puede producirse un error si cualquier par de elementos x e y no se pueden comparar usando x < y. Los elementos se ordenan en orden ascendente, a menos que el argumento inverso sea True, en cuyo caso el orden es descendente. La ordenación es estable: los elementos que comparan igual mantienen su orden relativo original.
sorted([3, 5, 4]) == [3, 4, 5]
Parámetros
Parámetro | Descripción |
---|---|
iterable
|
required La secuencia iterable que se debe ordenar. |
key
|
predeterminado = Ninguno Es una función opcional que se aplica a cada elemento antes de la comparación. |
reverse
|
default = False Muestra los resultados en orden descendente. |
str
string str(x)Convierte cualquier objeto en string. Esto es útil para la depuración.
str("ab") == "ab" str(8) == "8"
Parámetros
Parámetro | Descripción |
---|---|
x
|
required El objeto que se convertirá. |
tag_class
tag_class tag_class(attrs={}, *, doc='')Crea un nuevo objeto tag_class, que define un esquema de atributos para una clase de etiquetas, que son objetos de datos que puede usar una extensión de módulo.
Parámetros
Parámetro | Descripción |
---|---|
attrs
|
default = {} Es un diccionario para declarar todos los atributos de esta clase de etiqueta. Se asigna desde un nombre de atributo a un objeto de atributo (consulta el módulo attr). |
doc
|
default = '' Es una descripción de la clase de etiqueta que se puede extraer con las herramientas de generación de documentación. |
tuple
tuple tuple(x=())Muestra una tupla con los mismos elementos que el valor iterable dado.
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
Parámetros
Parámetro | Descripción |
---|---|
x
|
default = () Es el objeto que se convertirá. |
tipo
string type(x)Muestra el nombre de tipo de su argumento. Esto es útil para la depuración y la comprobación de tipos. Ejemplos:
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"Esta función podría cambiar en el futuro. Si quieres escribir un código compatible con Python y prepararte para el futuro, úsalo solo para comparar valores que se muestran:
if type(x) == type([]): # if x is a list
Parámetros
Parámetro | Descripción |
---|---|
x
|
obligatorio El objeto del que se verificará el tipo. |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)Devuelve un objeto proxy que representa la extensión de un módulo. Sus métodos pueden invocarse para crear etiquetas de extensión de módulo.
Parámetros
Parámetro | Descripción |
---|---|
extension_bzl_file
|
obligatorio Es una etiqueta para el archivo de Starlark que define la extensión del módulo. |
extension_name
|
required Es el nombre de la extensión del módulo que se usará. El archivo de Starlark debe exportar un símbolo con este nombre. |
dev_dependency
|
default = False Si es verdadero, este uso de la extensión del módulo se ignorará si el módulo actual no es el raíz o si se habilita `--ignore_dev_dependency`. |
use_repo
None use_repo(extension_proxy, *args, **kwargs)Importa uno o más repositorios generados por la extensión del módulo determinada al alcance del módulo actual.
Parámetros
Parámetro | Descripción |
---|---|
extension_proxy
|
obligatorio Un objeto proxy de extensión del módulo que muestra una llamada a use_extension .
|
args
|
required Los nombres de los repositorios que se importarán. |
kwargs
|
required Especifica ciertos repositorios para importar al alcance del módulo actual con nombres diferentes. Las claves deben ser el nombre que se usará en el alcance actual, mientras que los valores deben ser los nombres originales exportados por la extensión del módulo. |
visibilidad
None visibility(value)
Establece la visibilidad de la carga del módulo .bzl que se está inicializando.
La visibilidad de carga de un módulo determina si otros archivos BUILD y .bzl pueden cargarlo. (Esto es diferente de la visibilidad objetivo del archivo fuente .bzl subyacente, que determina si el archivo puede aparecer como una dependencia de otros objetivos). La visibilidad de carga funciona a nivel de paquetes. Para cargar un módulo, el archivo que realiza la carga debe encontrarse en un paquete al que se le haya otorgado visibilidad para el módulo. Un módulo siempre se puede cargar dentro de su propio paquete, independientemente de su visibilidad.
Solo se puede llamar a visibility()
una vez por archivo .bzl y solo en el nivel superior, no dentro de una función. El estilo preferido es colocar esta llamada inmediatamente debajo de las sentencias load()
y cualquier lógica breve necesaria para determinar el argumento.
Si estableces la marca --check_bzl_visibility
como falsa, las infracciones de visibilidad de carga emitirán advertencias, pero no fallarán la compilación.
Parámetros
Parámetro | Descripción |
---|---|
value
|
obligatorio Una lista de strings de especificación de paquete o una sola string de especificación de paquete. Las especificaciones del paquete siguen el mismo formato que para
La sintaxis "@" no está permitida; todas las especificaciones se interpretan en relación con el repositorio del módulo actual. Si Ten en cuenta que las marcas |
lugar de trabajo
None workspace(name)
Esta función solo se puede usar en un archivo WORKSPACE
y debe declararse antes que todas las demás funciones del archivo WORKSPACE
. Cada archivo WORKSPACE
debe tener una función workspace
.
Establece el nombre de este lugar de trabajo. Los nombres de los lugares de trabajo deben ser una descripción de estilo Java del proyecto, con guiones bajos como separadores, p.ej., github.com/bazelbuild/bazel debe usar com_github_bazelbuild_bazel.
Este nombre se usa para el directorio en el que se almacenan los archivos de ejecución del repositorio. Por ejemplo, si hay un archivo de ejecución foo/bar
en el repositorio local y el archivo WORKSPACE contiene workspace(name = 'baz')
, el archivo de ejecución estará disponible en mytarget.runfiles/baz/foo/bar
. Si no se especifica un nombre de lugar de trabajo, el archivo de ejecución se vinculará con un symlink a bar.runfiles/foo/bar
.
Los nombres de las reglas del repositorio remoto deben ser nombres de lugares de trabajo válidos. Por ejemplo, podrías tener maven_jar(name = 'foo')
, pero no maven_jar(name = 'foo%bar')
, ya que Bazel intentaría escribir un archivo WORKSPACE para maven_jar
que contenga workspace(name = 'foo%bar')
.
Parámetros
Parámetro | Descripción |
---|---|
name
|
required el nombre del lugar de trabajo. Los nombres deben comenzar con una letra y solo pueden contener letras, números, guiones bajos, guiones y puntos. |
zip
list zip(*args)Muestra un
list
de tuple
, en el que la tupla i-th contiene el i-ésimo elemento de cada una de las secuencias de argumentos o los elementos iterables. La lista tiene el tamaño de la entrada más corta. Con un solo argumento iterable, muestra una lista de 1-tuplas. Sin argumentos, muestra una lista vacía. Ejemplos:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
Parámetros
Parámetro | Descripción |
---|---|
args
|
las listas necesarias que se comprimirán. |