Tổng quan
Dự án Bazel liên tục phát triển để đáp ứng nhu cầu của bạn — phát triển các tính năng và hỗ trợ trong khi duy trì, tái cấu trúc và cải thiện hiệu suất của sản phẩm cốt lõi.
Thông qua những thay đổi này, chúng tôi muốn đảm bảo cộng đồng nguồn mở luôn được cập nhật thông tin và được tham gia. Lộ trình này mô tả các sáng kiến hiện tại và dự đoán về tương lai của việc phát triển Bazel, giúp bạn nắm được các ưu tiên hiện tại và các dự án đang diễn ra.
Lộ trình này chỉ cung cấp thông tin nhanh về các mục tiêu và không được coi là đảm bảo. Các mức độ ưu tiên có thể thay đổi theo ý kiến phản hồi của nhà phát triển và khách hàng hoặc các cơ hội mới trên thị trường.
Để nhận thông báo về các tính năng mới (bao gồm cả thông tin cập nhật về lộ trình này), hãy tham gia cộng đồng Nhóm Google.
Quý 4 — Bản phát hành Bazel 6.0
Quý 4 mang đến Bazel 6.0 – phiên bản hỗ trợ dài hạn (LTS) mới. Bazel 6.0 dự định sẽ bổ sung các tính năng mới mạnh mẽ và do cộng đồng yêu cầu để quản lý các phần phụ thuộc, phát triển với Android và nhiều tính năng khác.
Bzlmod: hệ thống quản lý phần phụ thuộc bên ngoài
Bzlmod tự động phân giải các phần phụ thuộc bắc cầu, cho phép các dự án mở rộng quy mô trong khi vẫn nhanh chóng và tiết kiệm tài nguyên. Được ra mắt thử nghiệm trong Bazel 5.0, Bzlmod sẽ được cung cấp rộng rãi và cung cấp giải pháp cho vấn đề về phần phụ thuộc kim cương.
- Bzlmod chuyển từ "thử nghiệm" sang "phát hành công khai"
- Bao gồm tính năng hỗ trợ
rules\_jvm\_external
, cho phép người dùng tải các phần phụ thuộc Maven xuống cho các dự án Java - Hướng dẫn di chuyển Bzlmod cung cấp các công cụ, tập lệnh và tài liệu cho các nhóm muốn sử dụng Bzlmod
- Kho lưu trữ trung tâm Bazel lưu trữ các quy tắc
BUILD
cốt lõi của Bazel (rules\_jvm\_external
,rules\_go
,rules\_python
,rules\_nodejs
) và các phần phụ thuộc chính cần thiết cho Bzlmod
Để biết thêm về quá trình phát triển này, hãy xem bản cập nhật cộng đồng Bzlmod hoặc đọc tài liệu thiết kế ban đầu.
Bản dựng ứng dụng Android bằng Bazel
Bazel 6.0 sẽ bao gồm các công cụ cải tiến và nội dung đóng góp về tính năng của cộng đồng được hợp nhất. Dự kiến sẽ có nhiều người sử dụng hơn và cơ sở mã ngày càng phát triển, nhóm Bazel sẽ ưu tiên tích hợp các công cụ xây dựng Android với các quy tắc Android của Bazel.
- Cập nhật D8 lên phiên bản 3.3.28 và đặt làm trình tạo dex mặc định.
- Hợp nhất các nội dung đóng góp chính về tính năng cộng đồng được thêm vào phiên bản 5.X, bao gồm cả tính năng hỗ trợ:
- Worker liên tục với D8
- Đơn giản hoá bằng D8
- Hợp nhất thẻ "uses-permissions" trong tệp kê khai Android
- Worker đa kênh trong quá trình xử lý tài nguyên Android
Chuỗi công cụ không bắt buộc
Bản khảo sát về mức độ hài lòng của nhà phát triển cho thấy rằng các tác giả quy tắc muốn được hỗ trợ để phát triển thêm chuỗi công cụ. Bazel 6.0 sẽ cho phép tác giả viết quy tắc bằng chuỗi công cụ hiệu suất cao, không bắt buộc khi có sẵn với phương thức triển khai dự phòng cho các nền tảng khác.
Hỗ trợ IntelliJ IDEA Bazel-JetBrains*
JetBrains đã hợp tác với Bazel để cùng duy trì trình bổ trợ Bazel IntelliJ IDEA, hỗ trợ mục tiêu tăng cường hoạt động quản lý cộng đồng và mở rộng năng lực cho các yêu cầu về tính năng cũng như hoạt động phát triển.
- Trình bổ trợ IntelliJ phiên bản 2022.2 hỗ trợ bản phát hành trình bổ trợ JetBrains mới nhất
- Tăng khả năng tương thích với hoạt động phát triển từ xa
- Tiếp tục phát triển các tính năng trong chuyến bay do cộng đồng thúc đẩy, chẳng hạn như hỗ trợ Scala
Để biết thêm thông tin về sự phát triển này, hãy đọc thông báo trên blog của Bazel-JetBrains.
Phát triển trong tương lai
Trong tương lai, nhóm Bazel đã bắt đầu phát triển hoặc dự kiến ưu tiên các tính năng sau trong năm 2023 trở đi.
Cải thiện quy tắc bản dựng Android của Bazel
Tiếp tục đầu tư vào trải nghiệm phát triển ứng dụng Android, tập trung vào quy trình làm việc thông qua việc tạo, kiểm thử và triển khai.
- Di chuyển sang và hỗ trợ R8
- Nội dung cập nhật cho các quy tắc Android, bao gồm cả bản dịch sang ngôn ngữ Starlark
- Hỗ trợ cho App Bundle
- Hỗ trợ các phiên bản NDK gần đây
- Kiểm thử mức độ sử dụng mã
Công cụ tuân thủ giấy phép OSS
Nhà phát triển yêu cầu một trình kiểm tra tuân thủ giấy phép mạnh mẽ để đảm bảo tính sẵn có và bảo mật của các gói đi kèm. Dự án này cung cấp một bộ quy tắc và công cụ giúp xác định và giảm thiểu rủi ro về việc tuân thủ và giấy phép liên quan đến một thành phần phần mềm nhất định. Các tính năng mục tiêu bao gồm:
- Khả năng kiểm tra các gói mà một mục tiêu nhất định sử dụng
- Khả năng xây dựng quy trình kiểm tra việc tuân thủ giấy phép dành riêng cho tổ chức.
Xem quy trình triển khai rules_license đang diễn ra trên GitHub.
Bzlmod: hệ thống quản lý phần phụ thuộc bên ngoài
Khi khởi chạy, Bzlmod cải thiện khả năng mở rộng và độ tin cậy của các phần phụ thuộc bắc cầu. Trong ba năm tới, Bzlmod nhắm đến việc thay thế WORKSPACE
làm hệ thống con quản lý phần phụ thuộc mặc định của không gian làm việc Bazel. Các tính năng được nhắm mục tiêu bao gồm:
- Hỗ trợ các bản dựng kín
- Chế độ nhà cung cấp/ngoại tuyến ghim các quy tắc tham chiếu có phiên bản vào một bản sao cục bộ
- Cơ sở đăng ký trung tâm Bazel bao gồm các nội dung đóng góp thường xuyên của cộng đồng và việc áp dụng các quy tắc và dự án chính của Bazel
- Bzlmod trở thành công cụ mặc định để tạo dự án Bazel
Bản dựng đã ký
Bazel sẽ cung cấp các tệp nhị phân đáng tin cậy cho Windows và Mac được ký bằng khoá Google. Tính năng này cho phép các nhà phát triển/nhóm phát triển đa nền tảng xác định nguồn của tệp nhị phân Bazel và bảo vệ hệ thống của họ khỏi các tệp nhị phân độc hại, chưa được xác minh.
API Nền tảng chuẩn hoá
API Platforms mới sẽ chuẩn hoá cấu hình kiến trúc cho các bản dựng đa ngôn ngữ, đa nền tảng. Với tính năng này, nhà phát triển có thể giảm thiểu các lỗi tốn kém thời gian phát triển và độ phức tạp trong các bản dựng lớn.
Xây dựng chỉ số phân tích
Tính năng đo từ xa của Bazel sẽ cung cấp các chỉ số thời gian của giai đoạn phân tích, cho phép nhà phát triển tối ưu hoá hiệu suất bản dựng của riêng họ.
Thực thi từ xa bằng "Builds without the Bytes" (Bản dựng không có Byte)
Các bản dựng không có Bytes sẽ tối ưu hoá hiệu suất bằng cách chỉ cho phép Bazel tải các cấu phần phần mềm cần thiết xuống, ngăn các bản dựng bị tắc nghẽn về băng thông mạng. Các tính năng được thêm vào bản dựng từ xa bao gồm:
- Sử dụng tính năng tải xuống không đồng bộ để cho phép các thao tác cục bộ và từ xa bắt đầu ngay khi tải các đầu ra phụ thuộc xuống
- Thêm tính năng hỗ trợ Đường liên kết tượng trưng
- Truy xuất đầu ra trung gian từ các thao tác từ xa sau khi bản dựng hoàn tất
*Bản quyền © 2022 JetBrains s.r.o. JetBrains và IntelliJ là các nhãn hiệu đã đăng ký của JetBrains s.r.o.