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

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

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

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

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

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

[TOC]

योगदान देने वाले प्रोजेक्ट के पाथ

ये योगदान वाले प्रोजेक्ट किसके लिए हैं?

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

योगदान करने वाले प्रोजेक्ट में कोड की समीक्षाएं

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

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

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

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

  • मुख्य
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • main-without-vendor
  • wear-main

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

योगदान करने वाले लोगों के लिए, Android रिपॉज़िटरी में डेवलपमेंट के लिए वही क्वालिटी बार लागू होगा जो अन्य लोगों के लिए लागू होता है:

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

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

AOSP

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

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

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

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

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

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