इस पेज पर बताया गया है कि योगदान देने वाले लोग, Bazel के कोड बेस में बदलाव करने के सुझाव कैसे दे सकते हैं और बदलाव कैसे कर सकते हैं.
- Bazel में योगदान देने से जुड़ी नीति पढ़ें.
- अपने प्लान और डिज़ाइन पर चर्चा करने के लिए, GitHub पर समस्या बनाएं. ऐसे पुल अनुरोधों के लिए, समस्या का होना ज़रूरी है जो व्यवहार में बदलाव करते हैं या उसे जोड़ते हैं.
- अगर आपको कोई बड़ा बदलाव करना है, तो डिज़ाइन से जुड़ा दस्तावेज़ लिखें.
- पक्का करें कि आपने योगदान देने वाले व्यक्ति के लिए लाइसेंस से जुड़ा कानूनी समझौता साइन किया हो.
- सुविधा को लागू करने वाली git कमिट तैयार करें. टेस्ट जोड़ना और दस्तावेज़ अपडेट करना न भूलें. अगर आपके बदलाव से उपयोगकर्ताओं को दिखने वाले कॉन्टेंट पर असर पड़ता है, तो कृपया रिलीज़ नोट जोड़ें. अगर यह बदलाव काम नहीं करता है, तो नुकसान पहुंचा सकने वाले बदलावों को रोल आउट करने से जुड़ी गाइड पढ़ें.
- GitHub पर पुल के लिए अनुरोध बनाएं. अगर आपने GitHub का इस्तेमाल पहले कभी नहीं किया है, तो पुल अनुरोधों के बारे में पढ़ें. ध्यान दें कि हम Bazel की मुख्य रिपॉज़िटरी पर ब्रांच बनाने की अनुमतियों को सीमित करते हैं. इसलिए, आपको अपना कमिट रिपॉज़िटरी के अपने फ़ोर्क में पुश करना होगा.
- Bazel को बनाए रखने वाले व्यक्ति को, दो कामकाजी दिनों के अंदर आपको समीक्षक के तौर पर असाइन करना चाहिए. इसमें अमेरिका और जर्मनी की छुट्टियां शामिल नहीं हैं. अगर आपको इस दौरान कोई समीक्षक नहीं मिलता है, तो bazel-discuss@googlegroups.com पर ईमेल भेजकर, समीक्षक का अनुरोध किया जा सकता है.
- कोड की समीक्षा पूरी करने के लिए, समीक्षक के साथ मिलकर काम करें. हर बदलाव के लिए, एक नया कमिट बनाएं और उसे पुश करें, ताकि पुल अनुरोध में बदलाव किए जा सकें. अगर समीक्षा में बहुत ज़्यादा समय लगता है (उदाहरण के लिए, अगर समीक्षक जवाब नहीं दे रहा है), तो bazel-discuss@googlegroups.com पर ईमेल भेजें.
समीक्षा पूरी होने के बाद, Bazel का रखरखाव करने वाला व्यक्ति आपके पैच को Google के इंटरनल वर्शन कंट्रोल सिस्टम पर लागू करता है.
इससे सबमिट करने से पहले की जाने वाली आंतरिक जांच शुरू हो जाती है. इसमें आपको और बदलावों के सुझाव मिल सकते हैं. अगर आपने कोई प्राथमिकता नहीं बताई है, तो बदलाव सबमिट करने वाला व्यक्ति "मामूली" बदलाव (जैसे कि लिंटिंग) जोड़ता है. इससे डिज़ाइन पर कोई असर नहीं पड़ता. अगर आपको ज़्यादा बदलाव करने हैं या आपको सीधे तौर पर बदलाव करने हैं, तो आपको और समीक्षक को समीक्षा की टिप्पणियों में अपनी प्राथमिकताएं साफ़ तौर पर बतानी चाहिए.
इंटरनल सबमिशन के बाद, पैच को Git कमिट के तौर पर एक्सपोर्ट किया जाता है. इसके बाद, GitHub पुल अनुरोध बंद हो जाता है. सभी फ़ाइनल बदलावों का श्रेय आपको दिया जाता है.