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