config

Este es un módulo de nivel superior para crear transiciones de configuración y descriptores de configuración de compilación que describen qué tipo de configuración de compilación (si corresponde) es una regla.

Por ejemplo, la siguiente regla se marca como una configuración de compilación estableciendo el parámetro build_setting de la función rule(). En particular, es una configuración de compilación de tipo int y es una flag, lo que significa que esta configuración de compilación se puede llamar en la línea de comandos.

  my_rule = rule(
    implementation = _impl,
    build_setting = config.int(flag = True),
    ...
  )

Miembros

bool

BuildSetting config.bool(flag=False)

Es una configuración de compilación de tipo bool.

Parámetros

Parámetro Descripción
flag bool; el valor predeterminado es False
Indica si esta configuración de compilación se puede llamar en la línea de comandos.

exec

ExecTransitionFactory config.exec(exec_group=None)

Crea una transición de ejecución.

Parámetros

Parámetro Descripción
exec_group string; o None; el valor predeterminado es None
Es el nombre del grupo de ejecución cuya plataforma de ejecución usará esta transición. Si no se proporciona, esta transición de ejecución usará la plataforma de ejecución predeterminada del destino.

int

BuildSetting config.int(flag=False)

Es una configuración de compilación de tipo entero.

Parámetros

Parámetro Descripción
flag bool; el valor predeterminado es False
Indica si esta configuración de compilación se puede llamar en la línea de comandos.

none

transition config.none()

Crea una transición que quita toda la configuración y anula todas las marcas. Está diseñada para el caso en el que una dependencia es solo de datos y no contiene código que deba compilarse, pero solo debe analizarse una vez.

string

BuildSetting config.string(flag=False, allow_multiple=False)

Es una configuración de compilación de tipo string.

Parámetros

Parámetro Descripción
flag bool; el valor predeterminado es False
Indica si esta configuración de compilación se puede llamar en la línea de comandos.
allow_multiple bool; el valor predeterminado es False
Está obsoleta. En su lugar, usa una configuración string_list con repeatable = True. Si se establece, esta marca se puede establecer varias veces en la línea de comandos. El valor de la marca, al que se accede en las transiciones y la función de implementación de la configuración de compilación, será una lista de cadenas. Se mantienen el orden de inserción y los valores repetidos. Esta lista se puede procesar posteriormente en la función de implementación de la configuración de compilación si se desea un comportamiento diferente.

string_list

BuildSetting config.string_list(flag=False, repeatable=False)

Es una configuración de compilación de tipo lista de cadenas. En la línea de comandos, pasa una lista con valores separados por comas, como --//my/setting=foo,bar.

Parámetros

Parámetro Descripción
flag bool; el valor predeterminado es False
Indica si esta configuración de compilación se puede llamar en la línea de comandos.
repeatable bool; el valor predeterminado es False
Si se establece, en lugar de esperar un valor separado por comas, esta marca se puede establecer varias veces en la línea de comandos con cada valor individual tratado como una sola cadena para agregar al valor de la lista. Se mantienen el orden de inserción y los valores repetidos. Esta lista se puede procesar posteriormente en la función de implementación de la configuración de compilación si se desea un comportamiento diferente.

target

transition config.target()

Crea una transición de destino. Esta es una transición sin operación diseñada para el caso en el que se necesita un objeto de transición, pero no se desea cambiar nada. Equivale a cfg = "target" en attr.label().