コマンドラインから Lightbuild プロジェクトをビルドする

Lightbuild CLI は、Lightbuild の公式コマンドライン ツールです。lightbuild コマンドを使用して、プロジェクトのビルドとテスト、ビルド ターゲットの検索、依存関係の解決を行います。AI エージェントは同じコマンドを実行できます。Lightbuild テンプレートから作成したプロジェクトには、Lightbuild と Lightbuild CLI の操作方法を AI エージェントに指示する AGENTS.md ファイルが含まれています。

Lightbuild CLI のコマンドとオプションの詳細については、Lightbuild CLI リファレンスをご覧ください。

Lightbuild CLI をインストールする

Lightbuild CLI は、Android CLI でインストールする Android SDK パッケージとして配布されています。1 つのコマンドでインストールして設定することも、手動でインストールすることもできます。

1 つのステップでインストールと設定を行う

Lightbuild CLI をインストールするには、オペレーティング システム用のコマンドを実行します。このコマンドは、Android SDK に Lightbuild CLI パッケージをインストールし、パッケージのセットアップ スクリプトを実行します。このスクリプトは、Lightbuild CLI を macOS と Linux では ~/.local/bin に、Windows では $HOME\AppData\LightbuildCLI にコピーし、そのディレクトリが PATH にあることを確認します。

  • macOS と 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" }; if ($LASTEXITCODE -eq 0) { $env:Path += ";$HOME\AppData\LightbuildCLI"; setx LIGHTBUILD_REFRESH 1 | Out-Null; reg delete HKCU\Environment /v LIGHTBUILD_REFRESH /f | Out-Null }
    
  • Windows(コマンド プロンプト):

    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" && setx LIGHTBUILD_REFRESH 1 >nul && reg delete HKCU\Environment /v LIGHTBUILD_REFRESH /f >nul
    

コマンドが完了したら、インストールを確認します。

手動でのインストール

Lightbuild CLI をインストールして PATH に手動で追加するには、次の手順を行います。

  1. Android CLI がない場合は、インストールします。
  2. Lightbuild パッケージをインストールします。

    android sdk install build/lightbuild/0.0.30
    
  3. 任意のディレクトリから lightbuild を実行できるように、Lightbuild CLI を PATH のディレクトリにコピーします。PATH にすでに存在する任意のディレクトリにコピーするか、設定スクリプトで使用するディレクトリと同じディレクトリを使用できます。

    • macOS と Linux: lightbuild ファイルを ~/.local/bin にコピーします。

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

      ~/.local/bin が PATH にない場合は、シェルの起動ファイル(~/.zshrc や ~/.bashrc など)に次の行を追加します。

      export PATH="$PATH:$HOME/.local/bin"
      
    • Windows: PowerShell で次のコマンドを実行します。lightbuild.exe を $HOME\AppData\LightbuildCLI にコピーし、そのディレクトリをユーザー Path に追加します(まだ追加されていない場合)。その後、現在のセッションと、後で開くターミナルで変更を有効にします。

      $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 = (Get-ItemProperty HKCU:\Environment).Path
      if (($userPath -split ";") -notcontains $dir) { Set-ItemProperty HKCU:\Environment Path "$userPath;$dir" -Type ExpandString }
      setx LIGHTBUILD_REFRESH 1 | Out-Null; reg delete HKCU\Environment /v LIGHTBUILD_REFRESH /f | Out-Null
      $env:Path += ";$dir"
      
  4. インストールを確認する

インストールを確認する

Lightbuild CLI がインストールされていることを確認するには、次のコマンドでバージョンを確認します。

lightbuild --version

ターミナルで lightbuild コマンドが見つからない場合は、新しいターミナル ウィンドウを開いて PATH の変更を反映します。

プロジェクトのビルド ターゲットを確認する

Lightbuild CLI コマンドは、ビルド、テスト、検査するプロジェクトの部分を識別するターゲットを受け取ります。ターゲットには、モジュールの名前(app など)や、より具体的な名前(app:app-debug.apk など)を指定できます。モジュール内のすべてのターゲットを一致させるには、モジュールの名前の後に /... を付けます(例: app/...)。プロジェクト内のすべてのターゲットを一致させるには、... を使用します。

プロジェクト内のすべてのターゲットを一覧表示するには、プロジェクトのルート ディレクトリからクエリを実行します。

lightbuild query ...

ターゲットが生成するファイルを一覧表示するには、--output=files を追加します。たとえば、app ターゲットの場合は、次のコマンドを実行します。

lightbuild query app --output=files

プロジェクトで使用可能なコマンドを一覧表示するには、lightbuild help を実行します。

アプリを構築

ターゲットをビルドするには、ターゲットを指定して lightbuild build を実行します。たとえば、app モジュールをビルドするには、次のコマンドを実行します。

lightbuild build app

プロジェクト内のすべてのターゲットをビルドするには、次のコマンドを実行します。

lightbuild build

Google Play にアップロードできる署名付きリリース App Bundle をビルドするには、Lightbuild アプリを公開するをご覧ください。

プロジェクトのビルド出力とキャッシュを削除するには、次のコマンドを実行します。

lightbuild clean

アプリを実行する

Lightbuild CLI はアプリをビルドしますが、インストールや実行は行いません。接続されたデバイスまたは実行中のエミュレータでアプリを実行するには、アプリをビルドしてから、Android CLI で android run コマンドを使用して実行します。

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

モジュールの各ターゲットが出力を書き込む場所を確認するには、lightbuild query app/... --output=files を実行します。場所はモジュールのディレクトリからの相対パスです。

テストを実行する

プロジェクト内のすべてのテストを実行するには、次のコマンドを実行します。

lightbuild test

このコマンドは、開発マシンで実行されるローカルテストと、接続されたデバイスまたは実行中のエミュレータで実行されるインストルメンテーション テストを実行します。

1 つのモジュールでテストを実行するには、モジュールのターゲット(app-core など)を追加します。1 種類のテストのみを実行するには、ローカルテストの場合は :hostTest、インストルメンテーション テストの場合は :deviceTest をモジュールのターゲットに追加します。次に例を示します。

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

依存関係を解決する

各モジュールは、解決された依存関係を resolved.deps ファイルに記録します。モジュールの resolved.deps ファイルを生成するには、モジュールのターゲットを指定して lightbuild resolve を実行します。たとえば、app モジュールの場合は、次のコマンドを実行します。

lightbuild resolve app

プロジェクト内のすべてのターゲットを解決するには、次のコマンドを実行します。

lightbuild resolve

詳細については、解決済みの依存関係をご覧ください。