कमांड लाइन से Lightbuild प्रोजेक्ट बनाना

Lightbuild सीएलआई, Lightbuild के लिए आधिकारिक कमांड-लाइन टूल है. अपने प्रोजेक्ट को बनाने और उसकी जांच करने, उसके बिल्ड टारगेट ढूंढने, और उसकी डिपेंडेंसी को हल करने के लिए, lightbuild कमांड का इस्तेमाल करें. आपके एआई एजेंट, एक जैसे निर्देश चला सकते हैं. Lightbuild टेंप्लेट से बनाए गए प्रोजेक्ट में एक AGENTS.md फ़ाइल शामिल होती है. इससे एआई एजेंट को यह पता चलता है कि Lightbuild और Lightbuild CLI के साथ कैसे काम करना है.

Lightbuild सीएलआई के निर्देशों और विकल्पों के बारे में ज़्यादा जानने के लिए, Lightbuild सीएलआई का रेफ़रंस देखें.

Lightbuild सीएलआई इंस्टॉल करना

Lightbuild का सीएलआई, Android SDK टूल के पैकेज के तौर पर उपलब्ध है. इसे Android के सीएलआई की मदद से इंस्टॉल किया जाता है. इसे एक ही निर्देश से इंस्टॉल और सेट अप किया जा सकता है या मैन्युअल तरीके से इंस्टॉल किया जा सकता है.

एक ही चरण में इंस्टॉल और सेट अप करना

Lightbuild सीएलआई इंस्टॉल करने के लिए, अपने ऑपरेटिंग सिस्टम के हिसाब से कमांड चलाएं. यह कमांड, आपके Android SDK में Lightbuild सीएलआई पैकेज इंस्टॉल करता है. इसके बाद, पैकेज की सेटअप स्क्रिप्ट को चलाता है. यह स्क्रिप्ट, macOS और Linux पर Lightbuild सीएलआई को ~/.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 सीएलआई को इंस्टॉल करने और उसे खुद PATH में जोड़ने के लिए, यह तरीका अपनाएं:

  1. अगर आपके पास Android का सीएलआई नहीं है, तो इसे इंस्टॉल करें.
  2. Lightbuild पैकेज इंस्टॉल करें:

    android sdk install build/lightbuild/0.0.30
    
  3. Lightbuild सीएलआई को अपने PATH की किसी डायरेक्ट्री में कॉपी करें, ताकि आप किसी भी डायरेक्ट्री से lightbuild को चला सकें. इसे किसी भी ऐसी डायरेक्ट्री में कॉपी किया जा सकता है जो पहले से ही आपके 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 सीएलआई इंस्टॉल है या नहीं, इसकी पुष्टि करने के लिए इसका वर्शन देखें:

lightbuild --version

अगर आपके टर्मिनल को lightbuild कमांड नहीं मिल रहा है, तो एक नई टर्मिनल विंडो खोलें, ताकि PATH में किए गए बदलाव लागू हो सकें.

अपने प्रोजेक्ट के बिल्ड टारगेट ढूंढना

Lightbuild सीएलआई कमांड, टारगेट के हिसाब से काम करते हैं. इससे आपके प्रोजेक्ट के उस हिस्से की पहचान होती है जिसे बिल्ड, टेस्ट या जांचना है. टारगेट, किसी मॉड्यूल का नाम हो सकता है, जैसे कि 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 पर अपलोड किया जा सके, अपना Lightbuild ऐप्लिकेशन पब्लिश करना लेख पढ़ें.

अपने प्रोजेक्ट के बिल्ड आउटपुट और कैश मेमोरी को हटाने के लिए, यह कमांड चलाएं:

lightbuild clean

अपना ऐप्लिकेशन चलाएं

Lightbuild सीएलआई आपके ऐप्लिकेशन को बिल्ड करता है, लेकिन उसे इंस्टॉल या रन नहीं करता. कनेक्ट किए गए डिवाइस या चल रहे एम्युलेटर पर अपना ऐप्लिकेशन चलाने के लिए, ऐप्लिकेशन बनाएं. इसके बाद, Android के सीएलआई में android run कमांड का इस्तेमाल करके इसे चलाएं:

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

यह देखने के लिए कि किसी मॉड्यूल का हर टारगेट अपना आउटपुट कहां लिखता है, lightbuild query app/... --output=files चलाएं. ये जगहें, मॉड्यूल की डायरेक्ट्री के हिसाब से होती हैं.

टेस्ट चलाना

अपने प्रोजेक्ट में सभी टेस्ट चलाने के लिए, यह कमांड चलाएं:

lightbuild test

यह कमांड, आपकी डेवलपमेंट मशीन पर चलने वाले लोकल टेस्ट और कनेक्ट किए गए डिवाइस या चल रहे एम्युलेटर पर चलने वाले इंस्ट्रुमेंटेड टेस्ट को चलाता है.

किसी एक मॉड्यूल में टेस्ट चलाने के लिए, मॉड्यूल का टारगेट जोड़ें, जैसे कि app-core. सिर्फ़ एक तरह का टेस्ट चलाने के लिए, मॉड्यूल के टारगेट में लोकल टेस्ट के लिए :hostTest या इंस्ट्रुमेंटेड टेस्ट के लिए :deviceTest जोड़ें. उदाहरण के लिए:

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

डिपेंडेंसी से जुड़ी समस्याएं हल करना

हर मॉड्यूल, अपनी रिज़ॉल्व की गई डिपेंडेंसी को resolved.deps फ़ाइल में रिकॉर्ड करता है. किसी मॉड्यूल के लिए resolved.deps फ़ाइल जनरेट करने के लिए, मॉड्यूल के टारगेट के साथ lightbuild resolve चलाएं. उदाहरण के लिए, app मॉड्यूल के लिए, यह कमांड चलाएं:

lightbuild resolve app

अपने प्रोजेक्ट में सभी टारगेट रिज़ॉल्व करने के लिए, यह कमांड चलाएं:

lightbuild resolve

ज़्यादा जानकारी के लिए, रिज़ॉल्व की गई डिपेंडेंसी देखें.