Establecer reglas

No defina reglas de creación en la configuración del producto. Una regla de creación se ve así:

output_file_name: dependencies
    shell commands to build the output

La configuración del producto/placa está destinada a establecer únicamente variables que se utilizarán más adelante en la compilación, no a definir nuevas acciones de compilación. Estas reglas deben convertirse a módulos de Soong, o cuando la conversión de Bazel esté lo suficientemente avanzada, Bazel apunta a ellos. El tipo de módulo genrule de Soong es lo suficientemente genérico como para cubrir la mayoría de los casos de uso.

Si la conversión a Soong es demasiado difícil en este momento, mueva la regla a cualquier archivo que coincida con {device,product,vendor}/*/[*/]build/tasks/*.mk . Estos archivos siempre están incluidos en el sistema de compilación, pero están separados de la configuración del producto. Se incluyen todo el tiempo, por lo que cualquier regla que se agregue allí debe estar protegida por una variable que se establece en la configuración del producto, de modo que la regla no esté definida para otros productos. Vea esta lista de cambios, Mover reglas de creación desde la configuración del tablero a la compilación/tareas

Tenga en cuenta que las carpetas build/tasks también tendrán que eliminarse eventualmente cuando Make se elimine por completo de la compilación.