Berkontribusi pada Bazel

Laporkan masalah Lihat sumber Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Ada banyak cara untuk membantu project 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 mengalami bug yang hanya dapat diselesaikan menggunakan bazel clean.
  • Dokumentasi tidak lengkap atau tidak jelas. Anda juga dapat melaporkan masalah dari halaman yang sedang Anda lihat menggunakan link "Buat masalah" di sudut kanan atas halaman.
  • Pesan error dapat ditingkatkan.

Berpartisipasi dalam komunitas

Anda dapat berinteraksi dengan komunitas Bazel dengan:

Berkontribusi kode

Bazel adalah project besar dan membuat perubahan pada kode sumber Bazel dapat menjadi sulit.

Anda dapat berkontribusi pada ekosistem Bazel dengan:

  • Membantu pengelola aturan dengan memberikan kontribusi 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-dev@.

Kontribusi yang paling membantu memperbaiki bug atau menambahkan fitur (bukan perubahan gaya, pemfaktoran ulang, atau "pembersihan"). Perubahan Anda harus menyertakan pengujian dan dokumentasi, dengan mempertimbangkan kompatibilitas mundur, portabilitas, dan dampaknya terhadap penggunaan dan performa 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 berada di src/main/cpp dan menyediakan antarmuka command line.
  • Buffering protokol berada di src/main/protobuf.
  • Kode server ada di src/main/java dan src/test/java.
    • Kode inti yang sebagian besar terdiri dari SkyFrame dan beberapa utilitas.
    • Aturan bawaan ada di com.google.devtools.build.lib.rules dan di com.google.devtools.build.lib.bazel.rules. Sebaiknya baca tentang Tantangan Menulis Aturan terlebih dahulu.
  • Antarmuka native Java berada 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 Kode Bazel. Anda dapat menavigasi repositori, cabang, dan file Bazel. Anda juga dapat melihat histori, perbedaan, dan informasi blame. Untuk mempelajari lebih lanjut, lihat Panduan Pengguna Penelusuran Kode Bazel.