Tradefed মধ্যে BuildInfo

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

বিল্ডইনফো বৈশিষ্ট্য

BuildInfo অবজেক্টের দুটি প্রধান বৈশিষ্ট্য হলো অ্যাট্রিবিউট এবং ফাইল:

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

একাধিক ডিভাইসে বিল্ডইনফো

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

একাধিক বিল্ডে বিল্ডইনফো

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

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

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