Bazel projesine ve ekosistemine yardımcı olmanın birçok yolu vardır.
Geri bildirim gönderme
Bazel'ı kullanırken iyileştirilebilecek noktaları görebilirsiniz. Şu durumlarda sorunları bildirerek yardımcı olabilirsiniz:
- Bazel kilitleniyor veya yalnızca
bazel clean
ile çözülebilecek bir hatayla karşılaşırsanız. - Belgeler eksik veya açık değil. Sorunları, görüntülediğiniz sayfanın sağ üst köşesindeki "Sorun oluştur" bağlantısını kullanarak da bildirebilirsiniz.
- Hata mesajı iyileştirilebilir.
Topluluğa katılın
Bazel topluluğuyla etkileşim kurmak için şunları yapabilirsiniz:
- Stack Overflow'da soruları yanıtlama.
- Slack'te diğer kullanıcılara yardımcı olma.
- Belgeleri iyileştirme veya katkıda bulunan örnekler.
- Deneyiminizi veya ipuçlarınızı paylaşma (örneğin, bir blogda veya sosyal medyada).
Kodla katkıda bulunun
Bazel büyük bir projedir ve Bazel kaynak kodunda değişiklik yapmak zor olabilir.
Bazel ekosistemine şunları yaparak katkıda bulunabilirsiniz:
- Çekme istekleriyle katkıda bulunarak kural sorumlularına yardımcı olma.
- Yeni kurallar oluşturma ve bu kuralları açık kaynaklı hale getirme.
- Taşıma araçları gibi Bazel ile ilişkili araçlara katkıda bulunma.
- Diğer IDE'ler ve araçlarla Bazel entegrasyonunu iyileştiriyoruz.
Değişiklik yapmadan önce bir GitHub sorunu oluşturun veya bazel-talk@ 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şikliğiniz, geriye dönük uyumluluk, taşınabilirlik ve bellek kullanımı ile performans üzerindeki etkiyi göz önünde bulundurarak testleri ve belgeleri içermelidir.
Bir değişikliği nasıl göndereceğinizi öğrenmek için yama kabul sürecine bakın.
Bazel'in kod açıklaması
Bazel, birden fazla konumda kod içeren büyük bir kod tabanına sahiptir. Daha fazla bilgi için kod tabanı kılavuzuna göz atı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
konumundadır. - Sunucu kodu
src/main/java
vesrc/test/java
dillerinde.- Ç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
dillerindedir. Önce Yazma Kurallarının Zorlukları hakkında bilgi edinmek isteyebilirsiniz.
- Java yerel arayüzleri
src/main/native
dilindedir. - Dil desteği için çeşitli araçlar Bazel derleme bölümündeki listede açıklanmıştır.
Bazel'ın kaynak kodu aranıyor
Bazel'in kaynak kodunda hızlı bir şekilde arama yapmak için Bazel Code Search'ü kullanın. Bazel'ın depolarında, dallarında ve dosyalarında gezinebilirsiniz. Ayrıca geçmişi, farkları ve suçlu bilgileri de görüntüleyebilirsiniz. Daha fazla bilgi edinmek için Bazel Code Search Kullanıcı Kılavuzu'na bakın.