Ada banyak cara untuk membantu proyek dan ekosistem Bazel.
Berikan 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 diselesaikan menggunakan
bazel clean. - Dokumentasi tidak lengkap atau tidak jelas. Anda juga dapat melaporkan masalah dari halaman yang sedang dilihat menggunakan link "Buat masalah" di sudut 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 dokumentasi atau memberikan contoh.
- Membagikan pengalaman atau tips Anda, misalnya, di blog atau media sosial.
Berkontribusi kode
Bazel adalah proyek besar dan membuat perubahan pada kode sumber Bazel bisa jadi sulit.
Anda dapat berkontribusi pada ekosistem Bazel dengan:
- Membantu pengelola aturan dengan memberikan 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 melakukan perubahan, buat masalah GitHub atau kirim email ke bazel-discuss@.
Kontribusi yang paling membantu adalah memperbaiki bug atau menambahkan fitur (bukan perubahan gaya, refactoring, atau "pembersihan"). Perubahan Anda harus menyertakan pengujian dan dokumentasi, dengan mempertimbangkan kompatibilitas mundur, portabilitas, dan dampaknya terhadap penggunaan memori dan performa.
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 mengetahui detail selengkapnya.
Bazel diatur sebagai berikut:
- Kode klien ada di
src/main/cppdan menyediakan antarmuka command line. - Buffer protokol ada di
src/main/protobuf. - Kode server ada di
src/main/javadansrc/test/java.- Kode inti yang sebagian besar terdiri dari SkyFrame dan beberapa utilitas.
- Aturan bawaan ada di
com.google.devtools.build.lib.rulesdan dicom.google.devtools.build.lib.bazel.rules. Sebaiknya baca tentang Tantangan Menulis Aturan 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 Bazel Code Search. Anda dapat menavigasi repositori, cabang, dan file Bazel. Anda juga dapat melihat histori, perbedaan, dan informasi blame. Untuk mempelajari lebih lanjut, lihat Panduan Pengguna Bazel Code Search.