Eclipse सेट अप करना

Eclipse का इस्तेमाल करके Tradefed को सेट अप करने के लिए, यह तरीका अपनाएं.

Trade Federation को डेवलप करने के लिए, एक अलग वर्कस्पेस बनाएं. Android डिवाइस को डेवलप करने के लिए पहले से इस्तेमाल किए जा रहे वर्कस्पेस का फिर से इस्तेमाल न करें.

अगर आपको Eclipse IDE for Java developers डाउनलोड करना है, तो इसे यहां से डाउनलोड करें: eclipse.org/downloads

प्रोजेक्ट बनाना

  1. कमांड लाइन से, make को एक बार चलाएं. इससे नीचे दिए गए प्रोजेक्ट के लिए, बाहरी लाइब्रेरी बनाई जाएंगी.
  2. Window > Preferences > Java > Build Path> Classpath Variables में TRADEFED_ROOT क्लासपाथ वैरिएबल सेट करें और इसे अपने tradefed सोर्स रूट पर पॉइंट करें
  3. Window > Preferences > General > Workspace > Linked Resources में TRADEFED_ROOT पाथ वैरिएबल सेट करें और इसे अपने tradefed सोर्स रूट पर पॉइंट करें
  4. File > Import...-> General > Existing Projects into workspace"विज़र्ड का इस्तेमाल करके, इन ओपन सोर्स Java प्रोजेक्ट को इन पाथ के तहत लाएं:

    prebuilts/misc/common/ddmlib\*
    tools/loganalysis
    tools/loganalysis/tests
    tools/tradefederation/core
    tools/tradefederation/core/tests
    tools/tradefederation/contrib
    tools/tradefederation/core/remote
    platform_testing/libraries/health/runners/longevity/host
    platform_testing/libraries/annotations
    platform_testing/libraries/health/composers/host
    
  5. अगर आपको ddmlib का सोर्स कोड देखना है, तो /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java जैसे अनबंडल्ड टूल ब्रांच से सोर्स कोड अटैच करें. हालांकि, ऐसा करना ज़रूरी नहीं है.

  6. अगर आपको CTS हार्नेस प्रोजेक्ट भी लोड करने हैं, तो इंपोर्ट करें:

    test/suite_harness/common/util
    test/suite_harness/common/host-side/util
    test/suite_harness/common/host-side/tradefed
    

ऑटो फ़ॉर्मैट

ध्यान दें: ज़रूरी फ़ाइलें, पूरे प्लैटफ़ॉर्म के सोर्स ट्री में development/ide/eclipse में मौजूद होती हैं. इसलिए, आपको इन फ़ाइलों को पाने के लिए, प्लैटफ़ॉर्म की किसी ब्रांच को देखना होगा. जैसे: android-latest-release: /development/android16-release/ide/eclipse/

फ़ॉर्मेटर को Android स्टाइल गाइड के हिसाब से अपने-आप सेट करने के लिए, Eclipse में प्राथमिकता वाली फ़ाइलों का इस्तेमाल करें. Studio में ऐसा करने के लिए:

  1. Window > Preferences > Java > Code Style पर जाएं.
  2. फ़ॉर्मेटर में जाकर, android-formatting.xml फ़ाइल इंपोर्ट करें.
  3. व्यवस्थित करें > इंपोर्ट किए गए में जाकर, फ़ाइल android.importorder इंपोर्ट करें.

आखिर में मौजूद खाली सफ़ेद जगह को हटाएं

Eclipse को पीछे की सभी खाली सफ़ेद जगहों को हटाने के लिए मजबूर करने के लिए:

  1. Window > Preferences -> Java -> Editor -> Save Actions पर जाएं.
  2. इसके बाद, ज़्यादा कार्रवाइयां -> कॉन्फ़िगर करें -> कोड > व्यवस्थित करें टैब -> फ़ॉर्मैट करने वाला टूल पर क्लिक करें.
  3. आखिर में मौजूद खाली जगह हटाएं को चुनें.
  4. लागू करें और बंद करें पर क्लिक करें.

कोड स्टाइल की जांच करना

बदलावों की सूची सबमिट करते समय, अपलोड से पहले अपने-आप चलने वाला हुक, आपके कोड के फ़ॉर्मैट की जांच करेगा: google-java-format

इससे आपके कोड को सामान्य स्टैंडर्ड के हिसाब से फ़ॉर्मैट करने में मदद मिलती है.

Eclipse को डीबग करना

अगर आपको Eclipse में डीबगर के ज़रिए टीएफ़ कोड चलाना है, तो हमारा सुझाव है कि आप पहले उस कोड के लिए यूनिट टेस्ट बनाएं. इससे फ़ंक्शनैलिटी को आज़माने का सबसे आसान और तेज़ तरीका मिलेगा.

TF यूनिट टेस्ट को डीबग करने के लिए, उस पर राइट क्लिक करें और Debug As > JUnit test को चुनें.

TF की फ़ंक्शनल टेस्ट को डीबग करने के लिए, पिछले सेक्शन में दिए गए निर्देशों का पालन करें. हालांकि, फ़ंक्शनल टेस्ट चलाने के लिए Run > Debug configurations मेन्यू का इस्तेमाल करें.

किसी कॉन्फ़िगरेशन को चलाते समय, TF प्रोग्राम को डीबग करने के लिए, पिछले सेक्शन में दिए गए निर्देशों का पालन करें. हालांकि, चरण 4 में, उस कॉन्फ़िगरेशन के लिए कमांड लाइन आर्ग्युमेंट दें जिसे आपको चलाना है. इसलिए, 'instrument' कॉन्फ़िगरेशन को डीबग करने के लिए, Run > Debug configuration मेन्यू पर जाएं. इसके बाद, Eclipse के डीबग कॉन्फ़िगरेशन में Arguments टैब को -- package <package to run> instrument पर सेट करें.

Eclipse की मदद से रिमोट डीबग करना

tradefed.sh कमांड लाइन से शुरू किए गए Tradefed सेशन को दूर से डीबग करने के लिए, यह तरीका अपनाएं:

  1. डीबग फ़्लैग के साथ tradefed.sh शुरू करें: TF_DEBUG=1 tradefed.sh
  2. जब तक आपको JVM से यह प्रॉम्प्ट न दिखे, तब तक इंतज़ार करें: Listening for transport dt_socket at address: 10088 इसका मतलब है कि JVM, डीबगर के पोर्ट 10088 पर अटैच होने का इंतज़ार कर रहा है.
  3. मुख्य मेन्यू से Eclipse की रिमोट डीबगिंग सुविधा का इस्तेमाल करके अटैच करें: चलाएं > डीबग कॉन्फ़िगरेशन... चुनें.
  4. पॉप-अप होने वाले डायलॉग बॉक्स में, बाईं ओर मौजूद मेन्यू से Remote Java Application चुनें.
  5. ऐक्शन बार में मौजूद, नया लॉन्च कॉन्फ़िगरेशन आइकॉन पर क्लिक करें.
  6. कॉन्फ़िगरेशन को अपनी पसंद का नाम दें. इसके बाद, प्रोजेक्ट के तौर पर tradefederation चुनें.
  7. पहले दिए गए पते का इस्तेमाल करके पोर्ट की जानकारी भरें.
  8. सोर्स टैब पर जाएं. इसके बाद, सोर्स लुकअप पाथ में tradefederation और google-tradefed प्रोजेक्ट जोड़ें.
  9. डीबग सेशन शुरू करने के लिए, डीबग करें पर क्लिक करें.

डीबगर, लिसनिंग जेवीएम प्रोसेस से अटैच हो जाता है. साथ ही, tradefed.sh चलाने वाला टर्मिनल, tf> प्रॉम्प्ट दिखाता है.

डीबग मोड में अपने कोड को चरण दर चरण देखने के लिए, Eclipse में एक ब्रेक पॉइंट सेट करें और टर्मिनल में अपनी Tradefed कमांड (यानी कि run <test>) लागू करें. TF स्टार्टअप के दौरान किसी भी चीज़ को डीबग करने के लिए, पहले ब्रेक पॉइंट सेट करें. इसके बाद, Eclipse डीबगर अटैच करें.

सलाह: किसी दूसरे पोर्ट का इस्तेमाल करने के लिए, ऊपर दिए गए पहले चरण में TF_DEBUG_PORT=nnn जोड़ें. अगर आपको ऐसे हैंग बग की जांच करनी है जिनके बारे में आपको पता नहीं है, तो प्रोडक्शन एनवायरमेंट में भी इसका इस्तेमाल किया जा सकता है: tradefed.sh में suspend=y को suspend=n में बदलें और डीबग फ़्लैग से शुरुआत करें. JVM, डीबगर के अटैच होने का इंतज़ार नहीं करेगा. हालांकि, प्रोसेस के चालू रहने तक, इसे किसी भी समय अटैच किया जा सकता है.

JDB का इस्तेमाल करके रिमोट डीबग करना

Java Debugger JDB का इस्तेमाल करने के लिए, Eclipse के लिए बताए गए चरणों का पालन करें:

  1. डीबग फ़्लैग के साथ tradefed.sh शुरू करें: TF_DEBUG=1 tradefed.sh
  2. जब तक आपको JVM से यह प्रॉम्प्ट न दिखे, तब तक इंतज़ार करें: Listening for transport dt_socket at address: 10088.
  3. jdb को कनेक्ट करें. उदाहरण के लिए, croot run से:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. कनेक्ट होने का इंतज़ार करें और डीबग करना शुरू करें! ज़्यादा मदद पाने के लिए, man jdb चलाएं.

कोड कवरेज की जांच करना

  1. Eclemma प्लगिन इंस्टॉल करें.
  2. Help > Install New Software पर जाएं और विज़र्ड को यहां ले जाएं: http://update.eclemma.org/
  3. इंस्टॉल हो जाने के बाद, कोड कवरेज रन करने के लिए, कवरेज के तौर पर > JUnit टेस्ट का विकल्प चुनें.