Đóng góp cho Bazel

Có nhiều cách để trợ giúp dự án và hệ sinh thái Bazel.

Gửi ý kiến phản hồi

Khi sử dụng Bazel, bạn có thể thấy những điểm cần cải thiện. Bạn có thể giúp bằng cách báo cáo vấn đề khi:

  • Bazel gặp sự cố hoặc bạn gặp phải một lỗi chỉ có thể giải quyết bằng bazel clean.
  • Tài liệu không đầy đủ hoặc không rõ ràng. Bạn cũng có thể báo cáo vấn đề trên trang mà bạn đang xem bằng cách sử dụng đường liên kết "Tạo vấn đề" ở góc trên bên phải của trang.
  • Thông báo lỗi có thể được cải thiện.

Tham gia cộng đồng

Bạn có thể tương tác với cộng đồng Bazel bằng cách:

Đóng góp mã

Bazel là một dự án lớn và việc thay đổi mã nguồn Bazel có thể gặp nhiều khó khăn.

Bạn có thể đóng góp cho hệ sinh thái Bazel bằng cách:

  • Giúp người duy trì quy tắc bằng cách đóng góp yêu cầu kéo.
  • Tạo quy tắc mới và cung cấp mã nguồn mở cho các quy tắc đó.
  • Đóng góp cho các công cụ liên quan đến Bazel, chẳng hạn như công cụ di chuyển.
  • Cải thiện khả năng tích hợp Bazel với các IDE và công cụ khác.

Trước khi thực hiện thay đổi, tạo một vấn đề trên GitHub hoặc gửi email đến bazel-dev@.

Những đóng góp hữu ích nhất là sửa lỗi hoặc thêm tính năng (trái với những thay đổi về kiểu cách, tái cấu trúc hoặc "dọn dẹp"). Thay đổi của bạn phải bao gồm các bài kiểm thử và tài liệu, đồng thời lưu ý đến khả năng tương thích ngược, khả năng di chuyển và tác động đến mức sử dụng bộ nhớ và hiệu suất.

Để tìm hiểu cách gửi thay đổi, hãy xem quy trình chấp nhận bản vá.

Mô tả mã của Bazel

Bazel có một cơ sở mã lớn với mã ở nhiều vị trí. Hãy xem hướng dẫn về cơ sở mã để biết thêm thông tin.

Bazel được sắp xếp như sau:

  • Mã ứng dụng nằm trong src/main/cpp và cung cấp giao diện dòng lệnh.
  • Vùng đệm giao thức nằm trong src/main/protobuf.
  • Mã máy chủ nằm trong src/main/javasrc/test/java.
    • Mã cốt lõi chủ yếu bao gồm SkyFrame và một số tiện ích.
    • Các quy tắc tích hợp sẵn nằm trong com.google.devtools.build.lib.rules và trong com.google.devtools.build.lib.bazel.rules. Trước tiên, bạn nên đọc bài viết Thử thách khi viết quy tắc.
  • Giao diện gốc của Java nằm trong src/main/native.
  • Nhiều công cụ hỗ trợ ngôn ngữ được mô tả trong danh sách ở phần biên dịch Bazel.

Tìm kiếm mã nguồn của Bazel

Để nhanh chóng tìm kiếm mã nguồn của Bazel, hãy sử dụng Bazel Code Search. Bạn có thể di chuyển các kho lưu trữ, nhánh và tệp của Bazel. Bạn cũng có thể xem thông tin về lịch sử, sự khác biệt và thông tin đổ lỗi. Để tìm hiểu thêm, hãy xem Hướng dẫn sử dụng Bazel Code Search.