Đóng góp cho Bazel

Báo cáo sự cố Xem nguồn

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

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

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

  • Bazel gặp sự cố hoặc bạn gặp lỗi chỉ có thể khắc phục bằng bazel clean.
  • Giấy tờ 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 bạn đang xem bằng cách sử dụng đường liên kết "Tạo vấn đề" ở góc trên cùng bên phải trang.
  • Có thể cải thiện một thông báo lỗi.

Tham gia cộng đồng

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

  • Trả lời câu hỏi trên Stack Overflow.
  • Hỗ trợ những người dùng khác trên Slack.
  • Cải thiện tài liệu hoặc đóng góp ví dụ.
  • Chia sẻ trải nghiệm hoặc mẹo của bạn, chẳng hạn như trên blog hoặc mạng xã hội.

Mã đóng góp

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

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

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

Trước khi sửa đổi, hãy tạo một vấn đề trên GitHub hoặc gửi email đến bazel-discuss@.

Những nội dung đóng góp hữu ích nhất sẽ sửa lỗi hoặc thêm tính năng (thay vì các 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 hoạt động kiểm thử và tài liệu, có tính đến khả năng tương thích ngược, khả năng di động cũng như tác động đến hiệu suất và mức sử dụng bộ nhớ.

Để 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 chứa nhiều mã lập trình. Hãy xem hướng dẫn về cơ sở mã để biết thêm thông tin chi tiết.

Bazel được tổ chức 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 có 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 về Những thách thức khi viết quy tắc.
  • Giao diện gốc Java hiện đã có 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.

Đang tìm kiếm mã nguồn của Bazel

Để tìm kiếm nhanh trong mã nguồn của Bazel, hãy sử dụng Tìm kiếm mã Bazel. Bạn có thể chuyển đến các kho lưu trữ, nhánh và tệp của Bazel. Bạn cũng có thể xem nhật ký, điểm 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 tính năng Tìm kiếm mã Bazel.