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