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

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

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 इंपोर्ट करें.

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

Eclipse को लाइन के आखिर में मौजूद सभी खाली जगहों को हटाने के लिए:

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

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

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

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

Eclipse को डीबग करना

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

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

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

TF प्रोग्राम को खुद डीबग करने के लिए, किसी भी कॉन्फ़िगरेशन को चलाते समय, फ़ंक्शनल टेस्ट करने के लिए पिछले सेक्शन में दिए गए निर्देशों का पालन करें. हालांकि, उस कॉन्फ़िगरेशन के लिए कमांड लाइन आर्ग्युमेंट दें जिसे आपको चौथे चरण में चलाना है. इसलिए, 'इंस्ट्रूमेंट' कॉन्फ़िगरेशन को डीबग करने के लिए, रन > कॉन्फ़िगरेशन डीबग करें मेन्यू पर जाएं. इसके बाद, Eclipse डीबग कॉन्फ़िगरेशन में आर्ग्युमेंट टैब को -- 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. सोर्स टैब पर स्विच करें और सोर्स लुकअप पाथ में प्रोजेक्ट tradefederation और 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 टेस्ट विकल्प चुनें.