Lộ trình của Bazel

Báo cáo vấn đề Xem nguồn Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Tổng quan

Chúc cộng đồng Bazel năm mới an khang thịnh vượng. Trong năm mới, chúng tôi dự định sẽ cung cấp thông tin chi tiết về lộ trình năm 2023. Năm ngoái, chúng tôi đã xuất bản lộ trình năm 2022 cùng với kế hoạch Bazel 6.0. Chúng tôi hy vọng rằng lộ trình này đã cung cấp thông tin cho nhu cầu về công cụ xây dựng của bạn. Khi dự án Bazel tiếp tục phát triển để đáp ứng nhu cầu của bạn, chúng tôi muốn chia sẻ thông tin cập nhật năm 2023.

Với những thay đổi này, chúng tôi mong muốn cộng đồng nguồn mở của mình luôn nắm bắt được thông tin và tham gia vào quá trình này. 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 quá trình phát triển Bazel, giúp bạn nắm được các mức độ ưu tiên hiện tại và các dự án đang diễn ra.

Bản phát hành Bazel 7.0

Chúng tôi dự định cung cấp cho bạn dịch vụ hỗ trợ dài hạn (LTS) cho Bazel 7.0 vào cuối năm 2023. Với Bazel 7.0, chúng tôi hướng đến việc cung cấp nhiều mục đang được tiến hành và tiếp tục cải thiện các tính năng mà người dùng yêu cầu.

Chia sẻ bộ nhớ đệm trên nhiều nền tảng hiệu quả hơn

Cho phép chia sẻ cấu phần phần mềm được lưu vào bộ nhớ đệm trên nhiều nền tảng xây dựng cục bộ (Mac) và từ xa (Linux) chủ yếu cho quá trình phát triển Java/Kotlin và Android, giúp cải thiện hiệu suất và sử dụng bộ nhớ đệm hiệu quả.

Tạo ứng dụng Android bằng Bazel

Cập nhật Manifest & Resource Merger lên phiên bản 30.1.3 để nhà phát triển ứng dụng Android có thể sử dụng các tính năng hợp nhất tệp kê khai mới hơn như tools:node="merge".

Cải thiện khả năng thực thi từ xa

Bazel 7.0 hỗ trợ thực thi không đồng bộ, tăng tốc quá trình thực thi từ xa thông qua khả năng song song hoá tăng lên bằng cờ --jobs.

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 duy trì tốc độ và hiệu quả sử dụng tài nguyên. Bazel 7.0 có một số điểm cải tiến cho chức năng quản lý phần phụ thuộc bên ngoài của Bazel, bao gồm:

  • Bzlmod được bật theo mặc định để quản lý các phần phụ thuộc bên ngoài trong Bazel
  • Hỗ trợ tệp khoá – cho phép tạo bản dựng khép kín bằng Bzlmod
  • Hỗ trợ chế độ nhà cung cấp/ngoại tuyến – cho phép người dùng chạy các bản dựng có các phần phụ thuộc được tải xuống trước
  • Hỗ trợ bộ nhớ đệm kho lưu trữ hoàn chỉnh (không chỉ lưu vào bộ nhớ đệm các cấu phần phần mềm tải xuống mà còn cả nội dung kho lưu trữ cuối cùng)
  • Sổ đăng ký trung tâm của Bazel bao gồm việc cộng đồng đóng góp thường xuyên và áp dụng các quy tắc cũng như dự án chính của Bazel

Tạo chỉ số phân tích

Bazel 7.0 cung cấp các chỉ số về 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ọ.

Tạo bản dựng mà không cần bật Bytes theo mặc định

Bản dựng không có byte tối ưu hoá hiệu suất bằng cách tránh tải các cấu phần phần mềm trung gian xuống và ngăn các bản dựng bị tắc nghẽn do băng thông mạng. Các tính năng được thêm bao gồm:

Tăng năng suất nhờ Skymeld

Bazel 7.0 giới thiệu Skymeld – một chế độ đánh giá giúp giảm thời gian thực của các bản dựng có nhiều mục tiêu. Skymeld loại bỏ rào cản giữa các giai đoạn phân tích và thực thi để cải thiện tốc độ bản dựng, đặc biệt là đối với các bản dựng có nhiều mục tiêu cấp cao nhất. Tuy nhiên, đối với các bản dựng có một mục tiêu, bạn không nên mong đợi có sự khác biệt đáng kể.

Hệ sinh thái và công cụ Bazel

Tạo ứng dụng Android bằng Bazel

  • Di chuyển các quy tắc gốc của Android sang Starlark: Đối với Bazel 7.0, các quy tắc của Android sẽ di chuyển sang Starlark để tách rời quá trình phát triển khỏi chính Bazel và để cộng đồng đóng góp hiệu quả hơn. Ngoài ra, chúng tôi đã tách các quy tắc này khỏi tệp nhị phân Bazel cốt lõi, cho phép chúng tôi phát hành thường xuyên hơn.
  • Di chuyển các quy tắc Android sang Starlark
  • Hỗ trợ R8: Cho phép nhà phát triển ứng dụng Android sử dụng các chế độ tối ưu hoá mới của R8.
  • Cài đặt trên thiết bị di động: Cho phép nhà phát triển ứng dụng Android phát triển, kiểm thử, triển khai mọi thay đổi đối với ứng dụng Android một cách nhanh chóng thông qua phiên bản mới của tính năng Cài đặt trên thiết bị di động.

Tạo dữ liệu Danh sách thành phần phần mềm (SBOM) và các công cụ tuân thủ giấy phép OSS

Với Bazel, nhà phát triển có thể tạo dữ liệu để giúp tạo ra SBOM. Dữ liệu này xuất ra ở định dạng văn bản hoặc JSON và có thể dễ dàng định dạng để đáp ứng quy cách SPDX hoặc CycloneDX. Ngoài ra, quy trình này cung cấp các quy tắc để khai báo giấy phép mà các mô-đun Bazel được cung cấp và các công cụ để xây dựng quy trình xung quanh những khai báo đó. Xem quy trình triển khai rules_license đang diễn ra trên GitHub.

Bản dựng đã ký

Bazel cung cấp các tệp nhị phân đáng tin cậy cho Windows và Mac được ký bằng khoá của Google. Tính năng này cho phép các nhà phát triển/nhà điều hành phát triển đa nền tảng xác định nguồn của các 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 chưa được xác minh có khả năng gây hại.

Di chuyển các quy tắc Java, C++ và Python sang Starlark

Hoàn tất việc di chuyển các nhóm quy tắc Java, C++ và Python sang Starlark. Nỗ lực này cho phép người dùng Bazel chỉ phân nhánh các nhóm quy tắc chứ không phân nhánh cơ sở mã nhị phân Bazel, cho phép người dùng

  • Cập nhật và tuỳ chỉnh quy tắc nếu cần
  • Cập nhật các quy tắc độc lập với Bazel

Hỗ trợ Bazel-JetBrains* IntelliJ IDEA

Các bản cập nhật trình bổ trợ IntelliJ gia tăng để hỗ trợ bản phát hành trình bổ trợ JetBrains mới nhất.

Lộ trình này chỉ là thông tin tổng quan về các mục tiêu và không được coi là thông tin đảm bảo. Cá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ả nội dung cập nhật cho lộ trình này), hãy tham gia cộng đồng Google Group.

*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