Eclipse ব্যবহার করে Tradefed সেট-আপ করতে এইসব ধাপ অনুসরণ করুন।
ট্রেড ফেডারেশন ডেভেলপ করার জন্য আলাদা ওয়ার্কস্পেস তৈরি করুন, 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 সোর্স রুটের দিকে পয়েন্ট করুন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-এর মধ্যে লাইভ থাকে
সোর্স ট্রি। তাই, এই ফাইলগুলি পেতে আপনাকে
android-latest-release-এর মতো কোনও প্ল্যাটফর্ম ব্রাঞ্চ চেক-আউট করতে হবে:
/development/android17-release/ide/eclipse/
Eclipse-এ প্রেফারেন্স ফাইল ব্যবহার করে Android স্টাইল গাইডে অটোমেটিক ফর্ম্যাটার সেট করুন। Studio-তে এটি করতে:
- উইন্ডো > পছন্দ > Java > কোড স্টাইল বিকল্পে যান।
- ফর্ম্যাটার বিকল্পের অধীনে, ফাইল
android-formatting.xmlইমপোর্ট করুন। - গুছিয়ে রাখুন > ইমপোর্ট বিকল্পের অধীনে,
android.importorderফাইলটি ইমপোর্ট করুন।
শেষের দিকে থাকা অতিরিক্ত স্পেস সরিয়ে দেওয়া
Eclipse-কে সব ট্রেলিং হোয়াইটস্পেস সরাতে বাধ্য করতে:
- Window > Preferences -> Java -> Editor -> Save Actions বিকল্পে যান।
- তারপর অতিরিক্ত অ্যাকশন -> কনফিগার করুন -> কোড > অর্গানাইজিং ট্যাব -> ফরম্যাটার।
- শেষের স্পেস সরিয়ে দিন বিকল্পে টিকচিহ্ন দিন।
- প্রয়োগ করে বন্ধ করুন বিকল্পে ক্লিক করুন।
কোড স্টাইল চেক করা
পরিবর্তনের তালিকা জমা দেওয়ার সময়, আপনার
কোড ফর্ম্যাট চেক করার জন্য একটি অটোমেটিক প্রি-আপলোড হুক রান করবে: google-java-format
এটি সাধারণ স্ট্যান্ডার্ড অনুযায়ী আপনার কোড ফর্ম্যাট করতে সাহায্য করে।
Eclipse ডিবাগ করা
আপনি যদি Eclipse-এ ডিবাগার ব্যবহার করে TF কোড চালাতে চান, তাহলে আপনাকে সাজেস্ট করা হয় যে প্রথমে যে কোডটি নিয়ে প্রশ্ন উঠেছে সেটির জন্য একটি ইউনিট টেস্ট তৈরি করুন, কারণ এটিই হবে কার্যকারিতা প্রয়োগ করার সবচেয়ে সহজ ও দ্রুততম উপায়।
TF ইউনিট টেস্ট ডিবাগ করতে, সেটির উপর ডানদিকের বোতামে ক্লিক করে এভাবে ডিবাগ করুন > JUnit টেস্ট বিকল্প বেছে নিন।
TF ফাংশনাল টেস্ট ডিবাগ করতে, ফাংশনাল টেস্ট চালানোর জন্য আগের বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করুন, তবে রান > ডিবাগ কনফিগারেশন মেনু ব্যবহার করুন।
কোনও কনফিগারেশন চালানোর সময় TF প্রোগ্রামটি নিজেই ডিবাগ করতে, ফাংশনাল টেস্ট চালানোর জন্য আগের বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করুন, তবে
৪ নম্বর ধাপে আপনি যে কনফিগারেশন চালাতে চান তার জন্য কমান্ড লাইন আর্গুমেন্ট দিন। তাই 'instrument' কনফিগারেশন ডিবাগ করতে, রান > ডিবাগ কনফিগারেশন
মেনুতে যান এবং Eclipse ডিবাগ কনফিগারেশনে আর্গুমেন্ট ট্যাবটি
-- package <package to run> instrument-এ সেট করুন।
Eclipse-এর মাধ্যমে রিমোট ডিবাগ করা
tradefed.sh কমান্ড লাইন থেকে শুরু করা tradefed সেশন রিমোটলি ডিবাগ করতে এইসব ধাপ অনুসরণ করুন:
- ডিবাগ ফ্ল্যাগ সহ tradefed.sh শুরু করুন:
TF_DEBUG=1 tradefed.sh - আপনি JVM থেকে এই প্রম্পট না পাওয়া পর্যন্ত অপেক্ষা করুন:
Listening for transport dt_socket at address: 10088এর অর্থ হল, JVM পোর্ট10088-এ ডিবাগার অ্যাটাচ হওয়ার জন্য অপেক্ষা করছে। - প্রধান মেনু থেকে Eclipse-এর রিমোট ডিবাগিংয়ের মাধ্যমে অ্যাটাচ করুন: রান করুন > ডিবাগ করুন কনফিগারেশন... বিকল্প বেছে নিন।
- পপ-আপ ডায়ালগে, বাঁদিকের মেনু থেকে রিমোট জাভা অ্যাপ্লিকেশন বেছে নিন।
- অ্যাকশন বারে নতুন লঞ্চ কনফিগারেশন আইকনে ক্লিক করুন।
- আপনার পছন্দমতো কনফিগারেশনের নাম দিন এবং প্রোজেক্ট হিসেবে tradefederation বেছে নিন।
- আগে দেওয়া ঠিকানা ব্যবহার করে পোর্ট পূরণ করুন।
- সোর্স ট্যাবে যান এবং সোর্স লুক-আপ পাথে প্রোজেক্টের 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 Debugger 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 টেস্ট বিকল্প বেছে নিন।