Ada banyak cara untuk membantu project dan ekosistem Bazel.
Memberikan masukan
Saat menggunakan Bazel, Anda mungkin menemukan hal-hal yang dapat ditingkatkan. Anda dapat membantu dengan melaporkan masalah saat:
- Bazel mengalami error atau Anda menemukan bug yang hanya dapat diatasi menggunakan
bazel clean
. - Dokumentasi tidak lengkap atau tidak jelas. Anda juga dapat melaporkan masalah dari halaman yang dilihat menggunakan link "Buat masalah" di pojok kanan atas halaman.
- Pesan error dapat ditingkatkan.
Berpartisipasi dalam komunitas
Anda dapat berinteraksi dengan komunitas Bazel dengan:
- Menjawab pertanyaan di Stack Overflow.
- Membantu pengguna lain di Slack.
- Meningkatkan kualitas dokumentasi atau contoh yang berkontribusi.
- Membagikan pengalaman atau tips Anda, misalnya, di blog atau media sosial.
Kode kontribusi
Bazel adalah project besar dan mengubah kode sumber Bazel dapat menjadi sulit.
Anda dapat berkontribusi ke ekosistem Bazel dengan:
- Membantu pengelola aturan dengan berkontribusi pada permintaan pull.
- Membuat aturan baru dan menjadikannya open source.
- Berkontribusi pada alat terkait Bazel, misalnya, alat migrasi.
- Meningkatkan integrasi Bazel dengan IDE dan alat lainnya.
Sebelum membuat perubahan, buat masalah GitHub atau kirim email ke bazel-discuss@.
Kontribusi yang paling membantu memperbaiki bug atau menambahkan fitur (bukan perubahan gaya, pemfaktoran ulang, atau "pembersihan"). Perubahan Anda harus mencakup pengujian dan dokumentasi, dengan tetap mengingat kompatibilitas mundur, portabilitas, serta dampaknya terhadap performa dan penggunaan memori.
Untuk mempelajari cara mengirimkan perubahan, lihat proses penerimaan patch.
Deskripsi kode Bazel
Bazel memiliki codebase besar dengan kode di beberapa lokasi. Lihat panduan codebase untuk detail selengkapnya.
Bazel diatur sebagai berikut:
- Kode klien ada di
src/main/cpp
dan menyediakan antarmuka command line. - Buffering protokol ada di
src/main/protobuf
. - Kode server ada di
src/main/java
dansrc/test/java
.- Kode inti yang sebagian besar terdiri dari SkyFrame dan beberapa utilitas.
- Aturan bawaan ada di
com.google.devtools.build.lib.rules
dan dicom.google.devtools.build.lib.bazel.rules
. Anda mungkin ingin membaca Tantangan Aturan Penulisan terlebih dahulu.
- Antarmuka native Java ada di
src/main/native
. - Berbagai alat untuk dukungan bahasa dijelaskan dalam daftar di bagian mengompilasi Bazel.
Menelusuri kode sumber Bazel
Untuk menelusuri kode sumber Bazel dengan cepat, gunakan Penelusuran Bazel Code. Anda dapat membuka repositori, cabang, dan file Bazel. Anda juga dapat melihat informasi histori, perbedaan, dan menyalahkan. Untuk mempelajari lebih lanjut, lihat Panduan Pengguna Penelusuran Kode Bazel.