Đóng góp vào Bazel

Báo cáo vấn đề Xem nguồn

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

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

Khi sử dụng Bazel, bạn có thể tìm thấy những thứ có thể được cải thiện. Bạn có thể trợ giúp bằng cách báo cáo sự cố khi:

  • Bazel gặp sự cố hoặc gặp phải lỗi chỉ có thể được giải quyết bằng bazel clean.
  • Tài liệu này không đầy đủ hoặc không rõ ràng. Bạn cũng có thể báo cáo vấn đề từ 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 cùng 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:

  • Trả lời câu hỏi trên Stack Overflow.
  • Giúp người dùng khác trên Slack.
  • Cải thiện tài liệu hoặc ví dụ đóng góp.
  • Chia sẻ trải nghiệm hoặc mẹo của bạn, chẳng hạn như trên blog hoặc truyền thô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ể sẽ 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 các yêu cầu kéo.
  • Tạo quy tắc mới và cấp phép nguồn mở cho các quy tắc đó.
  • Ví dụ: đóng góp vào các công cụ liên quan đến Bazel.
  • 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, hãy tạo một vấn đề với GitHub hoặc gửi email đến bazel-discuss@.

Những đóng góp hữu ích nhất giúp sửa lỗi hoặc thêm tính năng (trái ngược với 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 sẽ bao gồm các thử nghiệm và tài liệu, lưu ý khả năng tương thích ngược, khả năng di chuyển 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ó cơ sở mã lớn với mã ở nhiều vị trí. Xem hướng dẫn về cơ sở mã để biết thêm chi tiết.

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

  • Mã ứng dụng khách 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ã 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. Bạn có thể muốn đọc về Thử thách của quy tắc viết trước.
  • Giao diện gốc Java nằm trong src/main/native.
  • Các công cụ hỗ trợ ngôn ngữ khác nhau được mô tả trong danh sách trong phần Biên dịch Bazel.

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

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