Tradefed-এ BuildInfo

BuildInfo TF-এ টেস্ট সেট-আপ ও রান করার জন্য রিসোর্স নিয়ে যাওয়ার জন্য বহুলভাবে ব্যবহৃত অবজেক্ট। ডিভাইসের ছবি থেকে শুরু করে টেস্ট APK পর্যন্ত সবকিছু BuildInfo-এ সেভ বা লিঙ্ক করা থাকে। এটি টেস্ট থেকে টেস্ট রিসোর্স অ্যাক্সেস করার একটি ইউনিফায়েড উপায় প্রদান করে এবং টেস্ট রিসোর্স পাওয়া থেকে টেস্টকে ডিকাপল করে।

BuildInfo প্রপার্টি

BuildInfo অবজেক্টের দুটি প্রধান প্রপার্টি হল অ্যাট্রিবিউট ও ফাইল:

  • #addBuildAttribute()-এর মাধ্যমে অ্যাট্রিবিউট যোগ করা যেতে পারে; এগুলি বিল্ডের লেবেল ও স্ট্রিং সংক্রান্ত তথ্য দেখায়। বিল্ড সম্পর্কিত তথ্য স্টোর করতে অ্যাট্রিবিউট ব্যবহার করা যেতে পারে।
  • setFile()-এর সাথে ফাইল যোগ করা যেতে পারে; ইনভোকেশন লাইফসাইকেল চলাকালীন (যেমন, শার্ডিংয়ের সময় সঠিকভাবে ম্যানেজ করা) BuildInfo-এর মাধ্যমে ফাইল ট্র্যাক ও ম্যানেজ করা হয়। এর ফলে ফাইল সিস্টেম সম্পর্কে কিছু জানার জন্য পরীক্ষা করার প্রয়োজন হয় না এবং পরিবর্তে রিসোর্স পাওয়ার জন্য অ্যাবস্ট্রাক্ট করা BuildInfo অবজেক্টের উপর নির্ভর করা যায়।

মাল্টি-ডিভাইসে BuildInfo

একাধিক ডিভাইস দিয়ে টেস্ট কনফিগারেশন সেট-আপ করা হলে, ডিভাইস পিছু একটি BuildInfo অবজেক্ট থাকে। এটি একটি ডিভাইস থেকে অন্য ডিভাইসে ফাইলের জন্য অনুরোধ এবং টার্গেট করার অনুমতি দেয়।

মাল্টি-বিল্ডে BuildInfo

একাধিক টার্গেট থেকে বিল্ডের প্রয়োজন হতে পারে। এইসব ক্ষেত্রে, প্রতিটি টার্গেটের জন্য একটি BuildInfo অবজেক্ট থাকে। এর ফলে, যেকোনও টার্গেট থেকে ফাইল অনুরোধ ও টার্গেট করা যায়।

প্রোটো ফর্ম্যাট

BuildInfo প্রয়োজন হলে বিভিন্ন সিস্টেম জুড়ে এর ব্যবহার সহজ করতে, এটিকে একটি protobuf ফর্ম্যাটে সিরিয়ালাইজ করা যায়।