Cómo compilar proyectos de Lightbuild desde la línea de comandos

La CLI de Lightbuild es la herramienta de línea de comandos oficial de Lightbuild. Usa el comando lightbuild para compilar y probar tu proyecto, encontrar sus destinos de compilación y resolver sus dependencias. Tus agentes de IA pueden ejecutar los mismos comandos. Los proyectos que creas a partir de una plantilla de Lightbuild incluyen un archivo AGENTS.md que les indica a los agentes de IA cómo trabajar con Lightbuild y la CLI de Lightbuild.

Para obtener más información sobre los comandos y las opciones de la CLI de Lightbuild, consulta la referencia de la CLI de Lightbuild.

Instala la CLI de Lightbuild

La CLI de Lightbuild se distribuye como un paquete del SDK de Android que instalas con la CLI de Android. Puedes instalarlo y configurarlo con un solo comando, o bien instalarlo de forma manual.

Instala y configura en un solo paso

Para instalar la CLI de Lightbuild, ejecuta el comando correspondiente a tu sistema operativo. El comando instala el paquete de la CLI de Lightbuild en tu SDK de Android y, luego, ejecuta la secuencia de comandos de configuración del paquete, que copia la CLI de Lightbuild en ~/.local/bin en macOS y Linux, o en $HOME\AppData\LightbuildCLI en Windows, y se asegura de que ese directorio esté en tu PATH:

  • macOS y Linux:

    android sdk install build/lightbuild/0.0.30 && bash "$(android info sdk)/build/lightbuild/0.0.30/cli/install.sh"
    
  • Windows (PowerShell):

    android sdk install build/lightbuild/0.0.30; if ($LASTEXITCODE -eq 0) { & "$(android info sdk)\build\lightbuild\0.0.30\cli\install.cmd" }
    
  • Windows (símbolo del sistema):

    android sdk install build/lightbuild/0.0.30 && for /f "delims=" %p in ('android info sdk') do call "%p\build\lightbuild\0.0.30\cli\install.cmd"
    

Una vez que finalice el comando, verifica la instalación.

Instalación manual

Para instalar la CLI de Lightbuild y agregarla a tu PATH por tu cuenta, sigue estos pasos:

  1. Si no tienes la CLI de Android, instálala.
  2. Instala el paquete de Lightbuild:

    android sdk install build/lightbuild/0.0.30
    
  3. Copia la CLI de Lightbuild en un directorio de tu PATH para que puedas ejecutar lightbuild desde cualquier directorio. Puedes copiarlo en cualquier directorio que ya esté en tu PATH o usar el mismo directorio que usa la secuencia de comandos de configuración:

    • macOS y Linux: Copia el archivo lightbuild en ~/.local/bin:

      mkdir -p ~/.local/bin
      cp "$(android info sdk)/build/lightbuild/0.0.30/cli/lightbuild" ~/.local/bin/
      

      Si ~/.local/bin no está en tu PATH, agrega la siguiente línea al archivo de inicio de tu shell, como ~/.zshrc o ~/.bashrc:

      export PATH="$PATH:$HOME/.local/bin"
      
    • Windows: Ejecuta los siguientes comandos en PowerShell. Copian lightbuild.exe en $HOME\AppData\LightbuildCLI y agregan ese directorio a tu Path de usuario si aún no está allí:

      $dir = "$HOME\AppData\LightbuildCLI"
      New-Item -ItemType Directory -Force $dir | Out-Null
      Copy-Item "$(android info sdk)\build\lightbuild\0.0.30\cli\lightbuild.exe" $dir
      $userPath = [Environment]::GetEnvironmentVariable("Path", "User")
      if (($userPath -split ";") -notcontains $dir) { [Environment]::SetEnvironmentVariable("Path", "$userPath;$dir", "User") }
      
  4. Verifica la instalación

Verifique la instalación

Para verificar que la CLI de Lightbuild esté instalada, consulta su versión:

lightbuild --version

Si la terminal no encuentra el comando lightbuild, abre una ventana de terminal nueva para que se apliquen los cambios de PATH.

Busca los destinos de compilación de tu proyecto

Los comandos de la CLI de Lightbuild toman un destino, que identifica la parte de tu proyecto que se compilará, probará o inspeccionará. Un destino puede ser el nombre de un módulo, como app, o algo más específico, como app:app-debug.apk. Para que coincida con todos los destinos de un módulo, usa el nombre del módulo seguido de /..., como app/.... Para coincidir con todos los destinos de tu proyecto, usa ....

Para enumerar todos los destinos de tu proyecto, consúltalos desde el directorio raíz del proyecto:

lightbuild query ...

Para enumerar los archivos que produce un destino, agrega --output=files. Por ejemplo, para el destino app, ejecuta lo siguiente:

lightbuild query app --output=files

Para enumerar los comandos disponibles para tu proyecto, ejecuta lightbuild help.

Compila tu app

Para compilar un destino, ejecuta lightbuild build con el destino. Por ejemplo, para compilar el módulo app, ejecuta lo siguiente:

lightbuild build app

Para compilar todos los destinos de tu proyecto, ejecuta lo siguiente:

lightbuild build

Para quitar el resultado de la compilación y las cachés de tu proyecto, ejecuta lo siguiente:

lightbuild clean

Ejecuta tu app

La CLI de Lightbuild compila tu app, pero no la instala ni la ejecuta. Para ejecutar tu app en un dispositivo conectado o un emulador en ejecución, compílala y, luego, ejecútala con el comando android run en la CLI de Android:

lightbuild build app
android run --apks=app/build/app-debug.apk

Para ver dónde escribe su resultado cada uno de los destinos de un módulo, ejecuta lightbuild query app/... --output=files. Las ubicaciones son relativas al directorio del módulo.

Cómo ejecutar pruebas

Para ejecutar todas las pruebas de tu proyecto, ejecuta lo siguiente:

lightbuild test

Este comando ejecuta las pruebas locales, que se ejecutan en tu máquina de desarrollo, y las pruebas de instrumentación, que se ejecutan en un dispositivo conectado o un emulador en ejecución.

Para ejecutar las pruebas en un módulo, agrega el destino del módulo, como app-core. Para ejecutar solo un tipo de prueba, agrega :hostTest para las pruebas locales o :deviceTest para las pruebas de instrumentación al destino del módulo. Por ejemplo:

lightbuild test app-core:hostTest
lightbuild test app-core:deviceTest

Cómo resolver dependencias

Cada módulo registra sus dependencias resueltas en un archivo resolved.deps. Para generar el archivo resolved.deps de un módulo, ejecuta lightbuild resolve con el destino del módulo. Por ejemplo, para el módulo app, ejecuta lo siguiente:

lightbuild resolve app

Para resolver todos los destinos de tu proyecto, ejecuta lo siguiente:

lightbuild resolve

Para obtener más información, consulta Dependencias resueltas.