एक्लिप्स सेट अप करें

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

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

ज़रूरत पड़ने पर, Java डेवलपर के लिए Eclipse IDE को यहां से डाउनलोड किया जा सकता है: 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. इन ओपन सोर्स Java प्रोजेक्ट को इन पाथ में शामिल करने के लिए, File > Import...-> General > Existing Projects into workspace"विज़र्ड का इस्तेमाल करें:

    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 में मौजूद होती हैं. इसलिए, आपको इन फ़ाइलों को पाने के लिए, main जैसी प्लैटफ़ॉर्म शाखा की जांच करनी होगी: /development/main/ide/eclipse/

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

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

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

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

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

कोड का स्टाइल देखें

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

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

Eclipse को डीबग करना

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

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

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

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

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

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

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

डीबगर, सुनने वाली JVM प्रोसेस से जुड़ जाता है और tradefed.sh चलाने वाले टर्मिनल पर tf> प्रॉम्प्ट दिखता है.

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

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

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

Java डीबगर JDB का इस्तेमाल करने के लिए, Eclipse के लिए बताए गए तरीके अपनाएं:

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

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

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

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