Bazel प्रोजेक्ट और इसके इकोसिस्टम में कई तरह से योगदान दिया जा सकता है.
सुझाव दें
Bazel का इस्तेमाल करते समय, आपको ऐसी चीज़ें मिल सकती हैं जिनमें सुधार किया जा सकता है. इन स्थितियों में समस्याओं की शिकायत करके, हमारी मदद करें:
- Bazel क्रैश हो जाता है या आपको कोई ऐसी गड़बड़ी मिलती है जिसे सिर्फ़
bazel clean
का इस्तेमाल करके ठीक किया जा सकता है. - दस्तावेज़ अधूरा है या उसमें दी गई जानकारी साफ़ नहीं है. इसके अलावा, जिस पेज को देखा जा रहा है उस पर मौजूद समस्याओं की शिकायत भी की जा सकती है. इसके लिए, पेज के सबसे ऊपर दाएं कोने में मौजूद "समस्या बनाएं" लिंक का इस्तेमाल करें.
- गड़बड़ी के मैसेज को बेहतर बनाया जा सकता है.
कम्यूनिटी से जुड़ी गतिविधियों में हिस्सा लेना
Bazel कम्यूनिटी से जुड़ने के लिए, ये काम किए जा सकते हैं:
- Stack Overflow पर सवालों के जवाब देकर.
- Slack पर अन्य उपयोगकर्ताओं की मदद करना.
- दस्तावेज़ को बेहतर बनाना या उदाहरणों का योगदान करना.
- अपने अनुभव या सुझावों को शेयर करना. उदाहरण के लिए, किसी ब्लॉग या सोशल मीडिया पर.
कोड में योगदान करना
Bazel एक बड़ा प्रोजेक्ट है और इसके सोर्स कोड में बदलाव करना मुश्किल हो सकता है.
Bazel के नेटवर्क में इन तरीकों से योगदान दिया जा सकता है:
- पुल अनुरोधों का योगदान करके, नियमों को बनाए रखने वालों की मदद करना.
- नए नियम बनाना और उन्हें ओपन-सोर्स करना.
- Bazel से जुड़े टूल में योगदान करना. उदाहरण के लिए, माइग्रेशन टूल.
- Bazel को अन्य आईडीई और टूल के साथ इंटिग्रेट करने की सुविधा को बेहतर बनाना.
बदलाव करने से पहले, GitHub पर कोई समस्या सबमिट करें या bazel-discuss@ पर ईमेल भेजें.
सबसे ज़्यादा मददगार योगदान वे होते हैं जिनमें बग ठीक किए गए हों या नई सुविधाएं जोड़ी गई हों. इसके उलट, स्टाइल में बदलाव, रिफ़ैक्टरिंग या "सफ़ाई" वाले बदलावों को ज़्यादा मददगार नहीं माना जाता. आपके बदलाव में टेस्ट और दस्तावेज़ शामिल होने चाहिए. साथ ही, इसमें बैकवर्ड-कंपैटिबिलिटी, पोर्टेबिलिटी, और मेमोरी के इस्तेमाल और परफ़ॉर्मेंस पर पड़ने वाले असर को ध्यान में रखा जाना चाहिए.
बदलाव सबमिट करने का तरीका जानने के लिए, पैच स्वीकार करने की प्रोसेस देखें.
Bazel के कोड की जानकारी
Bazel का कोडबेस बहुत बड़ा है और इसमें कई जगहों पर कोड मौजूद है. ज़्यादा जानकारी के लिए, कोडबेस गाइड देखें.
Bazel को इस तरह व्यवस्थित किया जाता है:
- क्लाइंट कोड
src/main/cpp
में है और कमांड-लाइन इंटरफ़ेस उपलब्ध कराता है. - प्रोटोकॉल बफ़र
src/main/protobuf
में हैं. - सर्वर कोड,
src/main/java
औरsrc/test/java
में है.- कोर कोड, जिसमें ज़्यादातर SkyFrame और कुछ यूटिलिटी शामिल हैं.
- अंतर्निहित नियम,
com.google.devtools.build.lib.rules
औरcom.google.devtools.build.lib.bazel.rules
में मौजूद होते हैं. सबसे पहले, नियम लिखने से जुड़ी चुनौतियों के बारे में पढ़ें.
- Java नेटिव इंटरफ़ेस,
src/main/native
में होते हैं. - भाषा के लिए सहायता देने वाले अलग-अलग टूल के बारे में, Bazel कंपाइल करना सेक्शन में दी गई सूची में बताया गया है.
Bazel के सोर्स कोड को खोजना
Bazel के सोर्स कोड को तुरंत खोजने के लिए, Bazel Code Search का इस्तेमाल करें. Bazel की रिपॉज़िटरी, ब्रांच, और फ़ाइलों पर नेविगेट किया जा सकता है. इसके अलावा, इतिहास, अंतर, और क्रेडिट की जानकारी भी देखी जा सकती है. ज़्यादा जानने के लिए, Bazel Code Search के इस्तेमाल के लिए गाइड देखें.