Có nhiều cách để 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 lỗi chỉ có thể được 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 đề từ 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 của trang.
- Có thể cải thiện 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.
- Giúp 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ẻ kinh 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.
Đó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 khó khăn.
Bạn có thể đóng góp cho hệ sinh thái Bazel bằng cách:
- Giúp những 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à phát hành nguồn mở.
- Đóng góp cho 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 IDE và công cụ khác.
Trước khi thực hiện thay đổi, hãy tạo một vấn đề trên GitHub hoặc gửi email đến bazel-dev@.
Những nội dung đóng góp hữu ích nhất sẽ khắc phục lỗi hoặc thêm tính năng (thay vì 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ớ cũng như hiệu suất.
Để tìm hiểu cách gửi nội dung thay đổi, hãy xem quy trình chấp nhận bản vá.
Nội dung 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 chi tiết.
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/java
vàsrc/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à trongcom.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 nằm trong
src/main/native
. - Nhiều công cụ hỗ trợ ngôn ngữ đượ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 trong mã nguồn của Bazel, hãy sử dụng tính năng Tìm kiếm mã Bazel. 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 nhật ký, các thay đổi 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.