नॉन-कोर कोड का योगदान दें

tradefederation प्रोजेक्ट में नॉन-कोर सोर्स का योगदान देने वाली टीमों को समीक्षा की प्रोसेस का पूरा मालिकाना हक देने के लिए, यहां दिए गए प्रोजेक्ट बनाए गए हैं. इनमें सभी टीमों के लिए ओपन +2 लेवल के अधिकार हैं. इससे कोर ट्रेडफ़ेडरेशन टीम को उन सभी कोड समीक्षाओं के बोझ से राहत मिलती है, जो मुख्य फ़्रेमवर्क से संबंधित नहीं होती हैं. साथ ही, दूसरी टीमों को अपनी समीक्षा की प्रक्रिया को तेज़ी से दोहराने में भी मदद मिलती है.

नॉन-कोर src, वह कोड होता है जिसे ट्रेडफ़ेडरेशन फ़्रेमवर्क के मुताबिक काम करने के लिए ज़रूरी नहीं होता. उदाहरण के लिए, कस्टम टेस्ट, कॉन्फ़िगरेशन, खास टेस्ट यूटिलिटी.

अहम जानकारी नॉन-कोर src को, कोर tradefederation क्लास को एक्सटेंड नहीं करना चाहिए. ऐसा करने से, आने वाले समय में रीफ़ैक्टरिंग/क्लीन अप पर असर पड़ता है. अगर आपको नहीं पता कि आपका कोड कोर में है या योगदान में, तो ज़्यादा जानकारी के लिए android-tradefed@ से संपर्क करें. tradefederation की मुख्य टीम, सुविधाओं के बारे में सलाह देने और उनका अनुरोध पाने में खुशी महसूस करती है.

मुख्य tradefederation क्लास का उदाहरण, com.google.android.tradefed.build पैकेज में मौजूद कोई भी क्लास होगी, जैसे कि: com.google.android.tradefed.build.LaunchControlProvider

अगर आपको यह नहीं पता कि android-tradefed@ के लिए कोर क्लास किसे माना जाएगा, तो कृपया हमसे संपर्क करें.

[TOC]

प्रोजेक्ट के पाथ जोड़ें

ये कॉन्ट्रिब प्रोजेक्ट किन लोगों के लिए हैं?

अगर फ़िलहाल, आपका काम टेस्ट/टेस्ट के लिए उपयोगी टूल/कॉन्फ़िगरेशन लिखना है, तो ये प्रोजेक्ट आपके लिए बनाए गए हैं.

उदाहरण के तौर पर दिए गए प्रोजेक्ट में कोड की समीक्षाएं

योगदान देने वाले प्रोजेक्ट का मकसद, आपको मुख्य टीम (android-tradefed@) की समीक्षा के बिना, Tradefed में डेवलपमेंट करने की अनुमति देना है. इसलिए, हम उम्मीद करते हैं कि आपकी टीम या आपके कॉन्टेक्स्ट के बारे में जानने वाला कोई व्यक्ति, आपके सीएल पर कोड की समीक्षा करेगा.

अगर आपको किसी मामले में कोई समस्या आ रही है या आपको उससे जुड़ी सलाह चाहिए, तो android-tradefed@ पर बेझिझक संपर्क करें. हालांकि, contrib में कोड की समीक्षा करने के लिए, डिफ़ॉल्ट रूप से इस पर भरोसा न करें. Contrib में कोड की समीक्षा करने के लिए, Tradefed टीम के पास कोई एसएलओ नहीं है.

इन प्रोजेक्ट पर कहां से काम शुरू किया जा सकता है?

इन्हें यहां दिए गए ब्रांच मेनिफ़ेस्ट में जोड़ा गया है और ये पहले से ही मुख्य प्लैटफ़ॉर्म चेकआउट का हिस्सा हैं. इसलिए, अगर आपको अपने एनवायरमेंट में प्रोजेक्ट नहीं दिखते हैं, तो इनका इस्तेमाल करके डेटा तुरंत इकट्ठा किया जा सकता है.

  • मुख्‍य
  • ट्रेड किया गया
  • ऑक-डेव
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • main-without-vendor
  • Wear-मुख्य

डेवलपमेंट और टेस्टिंग

contrib में डेवलपमेंट की क्वालिटी, Android के डेटा स्टोर करने की जगहों पर मौजूद क्वालिटी के बराबर होनी चाहिए:

  • Android के फ़ॉर्मैटिंग से जुड़े दिशा-निर्देशों का पालन करना
  • कोड की जांच की जाती है और उसे टेस्ट के साथ सबमिट किया जाता है
  • डिज़ाइन सोच-समझकर बनाया गया हो और काम का हो

मैं contrib में स्थानीय तौर पर कैसे टेस्ट करूं?

AOSP

aosp में, contrib की यूनिट टेस्ट platform/tools/tradefederation/contrib/tests/src/ में मौजूद होती हैं. साथ ही, यूनिट टेस्ट को com.android.tradefed.prodtests.UnitTests में जोड़ा जाना चाहिए, ताकि उन्हें सबमिट करने से पहले और लोकल टेस्टिंग स्क्रिप्ट में शामिल किया जा सके.

लंच करने के बाद, Aosp स्थानीय स्क्रिप्ट:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

योगदान वाले प्रोजेक्ट के लिए, नियमों को अपडेट करना

बिल्ड रूल (मेकफ़ाइलें) अपने build/ फ़ोल्डर में होती हैं और OWNERS फ़ाइल से लॉक होती हैं. इससे, कोर टीम की अतिरिक्त समीक्षा के बिना, उनमें बदलाव नहीं किया जा सकता. contrib प्रोजेक्ट में सिर्फ़ यही सीमा है.

हमें इस समीक्षा की ज़रूरत है, ताकि यह पक्का किया जा सके कि मुख्य टीम की जानकारी या सहमति के बिना, Tradefed के सभी प्रोजेक्ट में कोई अनचाही डिपेंडेंसी न जोड़ी जाए. अगर आपको सच में कुछ नई डिपेंडेंसी जोड़नी हैं, तो कृपया android-tradefed@ से संपर्क करें. इससे आपको अपने इस्तेमाल के उदाहरणों के बारे में पता चलेगा और आपको सलाह भी मिलेगी.