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.

string_set

BuildSetting config.string_set(*, flag=False, repeatable=False)

Es una configuración de compilación de tipo conjunto de cadenas. El valor de este parámetro de configuración será un conjunto de cadenas en Starlark. En la línea de comandos, pasa un conjunto con un valor separado por comas, como --//my/setting=foo,bar.

A diferencia de string_list, el orden de los elementos no importa y solo se mantiene una sola instancia de cada elemento. Se recomienda usar string_list para las marcas en las que no se necesitan estas propiedades, ya que puede mejorar el rendimiento de la compilación evitando la bifurcación innecesaria de la configuración.

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 del conjunto. Solo se mantiene una sola instancia de valores repetidos y el orden de inserción no importa.

target

transition config.target()

Crea una transición de destino. 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().