Bazel'a katkıda bulunma

Bazel projesine ve ekosistemine yardımcı olmanın birçok yolu vardır.

Geri bildirim sağlama

Bazel'i kullanırken iyileştirilebilecek noktalarla karşılaşabilirsiniz. Aşağıdaki durumlarda sorunları bildirerek yardımcı olabilirsiniz:

  • Bazel kilitleniyor veya yalnızca bazel clean kullanılarak çözülebilecek bir hatayla karşılaşıyorsunuz.
  • Belgeler eksik veya net değil. Ayrıca, sayfanın sağ üst köşesindeki "Sorun oluştur" bağlantısını kullanarak da sorun bildirebilirsiniz.
  • Bir hata mesajı iyileştirilebilir.

Topluluğa katılma

Bazel topluluğuyla etkileşim kurma yolları:

  • Stack Overflow'da soruları yanıtlama
  • Slack kullanıcılarına destek.
  • Dokümanları iyileştirme veya örnekler gönderme
  • Deneyiminizi veya ipuçlarınızı bloglarda veya sosyal medyada paylaşma

Kod katkısı

Bazel büyük bir proje olduğundan Bazel kaynak kodunda değişiklik yapmak zor olabilir.

Bazel ekosistemine katkı yapmanın yolları:

  • Pull istekleriyle kural yöneticilerine yardımcı olma.
  • Yeni kurallar oluşturup açık kaynaklı yapma.
  • 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-discuss@ adresine e-posta gönderin.

En iyi katkılar, hata düzeltir veya özellik ekler (stil, yeniden düzenleme veya "temizleme" değişikliklerinin aksine). Değişiklik, geriye dönük uyumluluk, taşınabilirlik ve bellek kullanımı ile performans etkisini göz önünde bulunduran test ve dokümantasyon içermelidir.

Değişiklik gönderme hakkında bilgi edinmek için yama kabul sürecini inceleyin.

Bazel'in kod açıklaması

Bazel'ın birçok konumda kod içeren büyük kod tabanı vardır. Ayrıntılar kod tabanı kılavuzundadır.

Bazel şöyle düzenlenmiştir:

  • İstemci kodu src/main/cpp içinde bulunur ve komut satırı arayüzünü sağlar.
  • Protokol arabellekleri src/main/protobuf içindedir.
  • Sunucu kodu src/main/java ve src/test/java içindedir.
    • Çoğunlukla SkyFrame ve bazı yardımcı programlardan oluşan temel kod.
    • Yerleşik kurallar com.google.devtools.build.lib.rules ve com.google.devtools.build.lib.bazel.rules içindedir. Önce, Kural Yazmanın Zorlukları hakkında bilgi edinebilirsiniz.
  • Java yerel arayüzleri, src/main/native içindedir.
  • Dil desteği için çeşitli araçlar, Bazel'i derleme bölümündeki listede açıklanmıştır.

Bazel'in kaynak kodunda arama yapma

Bazel Code Search ile Bazel kaynak kodunda hızlıca arama yapın. Bazel'in depo, dal ve dosyalarında gezinin. Geçmişi, farklılıkları ve blame bilgilerini de görüntüleyin. Daha fazla bilgi için Bazel Code Search Kullanıcı Kılavuzu'na bakın.