Bazel projesine ve ekosistemine yardımcı olmanın birçok yolu vardır.
Geri bildirim sağlama
Bazel'i kullanırken iyileştirilebilecek noktalar görebilirsiniz. Aşağıdaki durumlarda sorunları bildirerek yardımcı olabilirsiniz:
- Bazen kilitlenir veya yalnızca
bazel clean
kullanılarak çözülebilecek bir hatayla karşılaşırsınız. - Belgeler eksik veya net değil. Ayrıca, sayfanın sağ üst köşesindeki "Sorun oluştur" bağlantısını kullanarak görüntülediğiniz sayfadan da sorun bildirebilirsiniz.
- Hata mesajı iyileştirilebilir.
Topluluğa katılın
Bazel topluluğuyla şu şekilde etkileşim kurabilirsiniz:
- Stack Overflow'da sorulara yanıt verin.
- Slack'teki diğer kullanıcılara yardımcı olma
- Dokümanları iyileştirme veya örneklerle katkıda bulunma.
- Örneğin, bir blogda veya sosyal medyada deneyimlerinizi ya da ipuçlarınızı paylaşabilirsiniz.
Kod katkısı
Bazel büyük bir projedir ve Bazel kaynak kodunda değişiklik yapmak zor olabilir.
Bazel ekosistemine katkıda bulunmak için:
- Pull isteği göndererek kural koruyucularına yardımcı olma
- Yeni kurallar oluşturma ve bunları açık kaynak olarak yayınlama
- Bazel ile ilgili araçlara (ör. taşıma araçları) katkıda bulunma
- Bazel'in diğer IDE'ler ve araçlarla entegrasyonunu iyileştirme.
Değişiklik yapmadan önce GitHub sorunu oluşturun veya bazel-dev@ adresine e-posta gönderin.
En faydalı katkılar, hataları düzeltir veya özellik ekler (stil, yeniden düzenleme veya "temizlik" değişikliklerinin aksine). Değişikliklerinizde geriye dönük uyumluluk, taşınabilirlik, bellek kullanımı ve performans üzerindeki etki göz önünde bulundurularak testler ve dokümanlar yer almalıdır.
Değişiklik gönderme hakkında bilgi edinmek için yama kabul süreci başlıklı makaleyi inceleyin.
Bazel'in kod açıklaması
Bazel, birden fazla yerde kod içeren büyük bir kod tabanına sahiptir. Daha fazla bilgi için kod tabanı kılavuzuna bakın.
Bazel aşağıdaki şekilde düzenlenmiştir:
- İstemci kodu
src/main/cpp
içindedir ve komut satırı arayüzünü sağlar. - Protokol arabellekleri
src/main/protobuf
dilindedir. - Sunucu kodu
src/main/java
vesrc/test/java
'tedir.- Çoğunlukla SkyFrame ve bazı yardımcı programlardan oluşan temel kod.
- Yerleşik kurallar
com.google.devtools.build.lib.rules
vecom.google.devtools.build.lib.bazel.rules
'tedir. Öncelikle Kural Yazmanın Zorlukları başlıklı makaleyi okumanızı öneririz.
- Java yerel arayüzleri
src/main/native
içindedir. - Dil desteği için çeşitli araçlar, Bazel derleme bölümündeki listede açıklanmaktadır.
Bazel'in kaynak kodunu arama
Bazel'in kaynak kodunda hızlıca arama yapmak için Bazel Kod Arama'yı kullanın. Bazel'in depolarına, dallarına ve dosyalarına gidebilirsiniz. Geçmişi, farkları ve suçu atamaya ilişkin bilgileri de görüntüleyebilirsiniz. Daha fazla bilgi için Bazel Kod Arama Kullanıcı Kılavuzu'na bakın.