Eclipse का इस्तेमाल करके Tradefed को सेट अप करने के लिए, यह तरीका अपनाएं.
Trade Federation को डेवलप करने के लिए, एक अलग वर्कस्पेस बनाएं. Android डिवाइस के डेवलपमेंट के लिए पहले से इस्तेमाल किए जा रहे वर्कस्पेस का फिर से इस्तेमाल न करें.
ज़रूरत पड़ने पर, Java डेवलपर के लिए Eclipse IDE को यहां से डाउनलोड किया जा सकता है: eclipse.org/downloads
प्रोजेक्ट बनाना
- कमांड लाइन से make को एक बार चलाएं. इससे, यहां दिए गए प्रोजेक्ट पर निर्भर बाहरी लाइब्रेरी बन जाएंगी.
Window > Preferences > Java > Build Path> Classpath Variables
में TRADEFED_ROOT क्लासपथ वैरिएबल सेट करें और उसे अपने tradefed सोर्स रूट पर ले जाएंWindow > Preferences > General > Workspace > Linked Resources
में TRADEFED_ROOT पाथ वैरिएबल सेट करें और उसे अपने tradefed सोर्स रूट पर ले जाएंइन ओपन सोर्स 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
इसके अलावा, अगर आपको
ddmlib
का सोर्स कोड देखना है, तो किसी ऐसे टूल की शाखा से सोर्स कोड अटैच करें जिसे बंडल नहीं किया गया है. जैसे, /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.अगर आपको 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 में ऐसा करने के लिए:
- विंडो > प्राथमिकताएं > Java > कोड स्टाइल पर जाएं.
- फ़ॉर्मैटर में जाकर, फ़ाइल
android-formatting.xml
इंपोर्ट करें. - व्यवस्थित करें > इंपोर्ट में जाकर, फ़ाइल
android.importorder
इंपोर्ट करें.
आखिर में मौजूद खाली सफ़ेद जगहों को हटाना
एक्लिप्स को पीछे की सभी खाली सफ़ेद जगहों को ज़बरदस्ती हटाने के लिए:
- विंडो > प्राथमिकताएं -> Java -> एडिटर -> कार्रवाइयां सेव करें पर जाएं.
- इसके बाद, अन्य कार्रवाइयां -> कॉन्फ़िगर करें -> कोड -> व्यवस्थित करने वाला टैब -> फ़ॉर्मैटर पर जाएं.
- टेंप्लेट के आखिर में मौजूद खाली जगह हटाएं को चुनें.
- लागू करें और बंद करें पर क्लिक करें.
कोड का स्टाइल देखें
बदलाव की सूची सबमिट करने पर, आपके कोड के फ़ॉर्मैट की जांच करने के लिए, अपने-आप पहले से
अपलोड होने वाला हुक चलेगा: google-java-format
इससे आपके कोड को सामान्य स्टैंडर्ड के हिसाब से फ़ॉर्मैट करने में मदद मिलती है.
Eclipse को डीबग करना
अगर आपको Eclipse में डीबगर के ज़रिए TF कोड चलाना है, तो हमारा सुझाव है कि पहले विचाराधीन कोड के लिए यूनिट टेस्ट बनाएं. यह फ़ंक्शनलिटी को इस्तेमाल करने का सबसे आसान और तेज़ तरीका होगा.
TF यूनिट टेस्ट को डीबग करने के लिए, उस पर राइट क्लिक करें और इस तरह डीबग करें > JUnit टेस्ट को चुनें.
TF फ़ंक्शन की जांच को डीबग करने के लिए, पिछले सेक्शन में दिए गए निर्देशों का पालन करें. इससे फ़ंक्शन की जांच करने में मदद मिलेगी. हालांकि, रन > डीबग कॉन्फ़िगरेशन मेन्यू का इस्तेमाल करें.
किसी भी कॉन्फ़िगरेशन को चलाते समय, TF प्रोग्राम को डीबग करने के लिए, फ़ंक्शनल टेस्ट चलाने के लिए पिछले सेक्शन में दिए गए निर्देशों का पालन करें. हालांकि, चौथे चरण में आपको जिस कॉन्फ़िगरेशन को चलाना है उसके लिए कमांड-लाइन आर्ग्युमेंट दें. इसलिए, 'instrument' कॉन्फ़िगरेशन को डीबग करने के लिए, Run > डीबग कॉन्फ़िगरेशन मेन्यू पर जाएं और Eclipse डीबग कॉन्फ़िगरेशन में Arguments टैब को -- package <package to run> instrument
पर सेट करें.
Eclipse की मदद से रिमोट डीबग करना
tradefed.sh
कमांड लाइन से शुरू किए गए, ट्रेडफ़ेड सेशन को रिमोट तौर पर डीबग करने के लिए, यह तरीका अपनाएं:
- डीबग फ़्लैग के साथ tradefed.sh शुरू करें:
TF_DEBUG=1 tradefed.sh
- JVM से यह प्रॉम्प्ट दिखने तक इंतज़ार करें:
Listening for transport dt_socket at address: 10088
इसका मतलब है कि JVM, डीबगर के10088
पोर्ट से अटैच होने का इंतज़ार कर रहा है. - मुख्य मेन्यू से, Eclipse के रिमोट डीबगिंग की मदद से अटैच करें: रन > डीबग कॉन्फ़िगरेशन... चुनें.
- पॉप-अप डायलॉग में, बाईं ओर दिए गए मेन्यू से रिमोट Java ऐप्लिकेशन चुनें.
- ऐक्शन बार में, नया लॉन्च कॉन्फ़िगरेशन आइकॉन पर क्लिक करें.
- कॉन्फ़िगरेशन को अपनी पसंद के मुताबिक नाम दें और प्रोजेक्ट के तौर पर tradefederation चुनें.
- पहले दिए गए पते का इस्तेमाल करके, पोर्ट की जानकारी अपने-आप भरने की सुविधा चालू करें.
- सोर्स टैब पर जाएं और सोर्स लुकअप पाथ में, ट्रैडफ़िडरेशन और google-tradefed प्रोजेक्ट जोड़ें.
- डीबगिंग सेशन शुरू करने के लिए, डीबग करें पर क्लिक करें.
डीबगर, सुनने वाली 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 के लिए बताए गए तरीके अपनाएं:
- डीबग फ़्लैग के साथ
tradefed.sh
शुरू करें:TF_DEBUG=1 tradefed.sh
- JVM से प्रॉम्प्ट दिखने तक इंतज़ार करें:
Listening for transport dt_socket at address: 10088
. jdb
को कनेक्ट करें. उदाहरण के लिए, croot से चलाएं:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
कनेक्शन का इंतज़ार करें और डीबग करें! ज़्यादा सहायता के लिए
man jdb
चलाएं.
कोड कवरेज की जांच करना
- Eclemma प्लग इन इंस्टॉल करें.
- सहायता > नया सॉफ़्टवेयर इंस्टॉल करें पर जाएं और विज़र्ड को इस पते पर ले जाएं: http://update.eclemma.org/
- इंस्टॉल होने के बाद, कोड कवरेज की जांच करने के लिए, कवरेज के तौर पर > JUnit टेस्ट विकल्प चुनें.