Red de conocimiento informático - Computadora portátil - Funciones integradas de Bazel

Funciones integradas de Bazel

Ejemplo

Parámetros

extra_action no tiene ningún resultado significativo cuando se especifica como un objetivo de compilación universal. Permite a los desarrolladores insertar operaciones adicionales implícitamente durante el proceso de compilación.

Estas acciones_extra se ejecutan como líneas de comando. Esta línea de comando puede acceder al archivo que contiene el búfer de protocolo en el formato $(EXTRA_ACTION_FILE). Esto se detalla en la acción original. También tiene acceso a todos los archivos accesibles para la operación original. Examen

Extra_actions_base.protoVer más detalles. Cada archivo de prototipo contiene información ExtraActionInfo y ExtraActionInfo.

Como todas las demás acciones, las acciones adicionales están protegidas y una está diseñada para manejar este problema.

Parámetros

La regla de alias crea un alias para la regla.

Los alias sólo se pueden utilizar para objetivos habituales. Además, package_group y test_suite no se pueden definir como alias.

Las reglas de alias tienen su propia definición de visibilidad. De lo contrario, se comporta de manera idéntica a la regla a la que se hace referencia, excepto por algunas diferencias menores:

Ejemplo

Los parámetros

coinciden con el estado de configuración esperado (se pueden usar indicadores de Bazel o restricciones de plataforma) para activar las propiedades de configuración correspondientes. Consulte Selección para aprender a utilizar esta regla y las propiedades configurables para la funcionalidad general.

Ejemplo

Lo siguiente funcionará con la línea de comando o. archivo bazelrc - modo_compilación=opt=opt o -c opt.

Lo siguiente coincidirá con cualquier llamada creada en arm y personalizará FOO=bar, por ejemplo, bazel build-CPU=arm-define FOO=bar. ...

Suponiendo restricciones e indicadores de compilación, lo siguiente coincide con cualquier compilación en la arquitectura x86_64 y la versión glibc. Tenga en cuenta que si la plataforma define otros valores además de estos dos, seguirán coincidiendo.

En todos estos casos, estas configuraciones son mutables en el momento de la compilación. Por ejemplo, es necesario crear un objetivo para otra plataforma diferente. Esto significa que incluso si config_setting no coincide en el nivel de la línea de comando, puede coincidir al crear otras configuraciones. (¿Cómo entenderlo? Es decir, si hay un config_setting, llamémoslo A, la línea de comando no cumple con sus condiciones. Sin embargo, al construir otros objetivos, estos objetivos pueden especificar directamente esta A y luego coincidir)

Nota

Parámetros