Tradefed में BuildInfo

BuildInfo in TF, टेस्ट सेटअप और रन के लिए संसाधनों को ले जाने के लिए, सबसे ज़्यादा इस्तेमाल किया जाने वाला ऑब्जेक्ट है. डिवाइस की इमेज से लेकर टेस्ट APK तक, सभी चीज़ें BuildInfo में सेव की जाती हैं या लिंक की जाती हैं. इससे टेस्ट के संसाधनों को टेस्ट से ऐक्सेस करने का एक यूनिफ़ाइड तरीका मिलता है. साथ ही, टेस्ट को टेस्ट के संसाधनों से अलग किया जा सकता है.

BuildInfo प्रॉपर्टी

BuildInfo ऑब्जेक्ट की दो मुख्य प्रॉपर्टी होती हैं: एट्रिब्यूट और फ़ाइलें:

  • एट्रिब्यूट को #addBuildAttribute() की मदद से जोड़ा जा सकता है. ये बिल्ड के लिए लेबल और स्ट्रिंग की जानकारी देते हैं. एट्रिब्यूट का इस्तेमाल, बिल्ड से जुड़ी जानकारी को सेव करने के लिए किया जा सकता है.
  • setFile() की मदद से फ़ाइलें जोड़ी जा सकती हैं. फ़ाइल को ट्रैक किया जाता है और इनवोकेशन के लाइफ़साइकल के दौरान BuildInfo इसे मैनेज करता है. उदाहरण के लिए, शार्डिंग के दौरान इसे सही तरीके से हैंडल किया जाता है. इससे टेस्ट को फ़ाइल सिस्टम के बारे में कुछ भी जानने की ज़रूरत नहीं पड़ती. इसके बजाय, वे अपने संसाधनों को पाने के लिए, ऐब्स्ट्रैक्ट किए गए BuildInfo ऑब्जेक्ट पर भरोसा कर सकते हैं.

कई डिवाइसों में BuildInfo

जब एक से ज़्यादा डिवाइसों के साथ टेस्ट कॉन्फ़िगरेशन सेट अप किया जाता है, तो हर डिवाइस के लिए एक BuildInfo ऑब्जेक्ट मौजूद होता है. इससे एक डिवाइस से दूसरे डिवाइस पर फ़ाइलों का अनुरोध किया जा सकता है और उन्हें टारगेट किया जा सकता है.

एक से ज़्यादा बिल्ड में BuildInfo

कई टारगेट से बिल्ड की ज़रूरत हो सकती है. इन मामलों में, हर टारगेट के लिए एक BuildInfo ऑब्जेक्ट मौजूद होता है. इससे किसी भी टारगेट से फ़ाइलों का अनुरोध किया जा सकता है और उन्हें टारगेट किया जा सकता है.

प्रोटो फ़ॉर्मैट

BuildInfo को प्रोटोबफ़ फ़ॉर्मैट में क्रम से लगाया जा सकता है, ताकि ज़रूरत पड़ने पर अलग-अलग सिस्टम में इसका इस्तेमाल आसानी से किया जा सके.