Tradefed में BuildInfo

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

BuildInfo की प्रॉपर्टी

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

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

एक से ज़्यादा डिवाइसों के लिए BuildInfo

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

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

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

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

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