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