Lộ trình về khả năng thiết lập Bazel năm 2021

Báo cáo vấn đề Xem nguồn Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Lần xác minh gần đây nhất: 25/1/2021 (nhật ký cập nhật)

Đầu mối liên hệ: gregestren

Thảo luận: Lộ trình về khả năng định cấu hình: thảo luận

Lộ trình trước

  • 2020 (có bài đánh giá cuối năm)
  • 2019 (có bài đánh giá cuối năm)
  • 2018

Mục tiêu

$ bazel build //:all hoạt động ổn định, cho mọi dự án và mọi nền tảng.

  • Bản dựng không yêu cầu cờ dòng lệnh.
  • Mỗi mục tiêu sẽ tự động sử dụng chế độ cài đặt chính xác (chẳng hạn như android_binary sử dụng NDK phù hợp).
  • Dễ dàng tạo ứng dụng cho nhiều nền tảng.
  • Bản dựng có khả năng mở rộng quy mô tốt, đặc biệt là về kích thước biểu đồ và lưu hành động vào bộ nhớ đệm.

Chúng tôi cũng hỗ trợ cquery, Starlark configurationselect().

Lộ trình

Ngày dự kiến là ngày ước chừng dựa trên hiểu biết tốt nhất của chúng tôi về độ phức tạp của vấn đề và thời gian rảnh của nhà phát triển. Trong năm 2021, chúng tôi dự định tập trung nhiều hơn vào một số dự án cùng một lúc. Chúng tôi sẽ chỉ đặt ETA cho công việc được ưu tiên chủ động để có được kỳ vọng chính xác.

Nền tảng

Quý 3 năm 2021Quy tắc Android sử dụng API nền tảng mới ĐANG TIẾN HÀNH (#11749)

  • Đây là ưu tiên chính của chúng tôi trong đầu năm 2021.

Quý 3 năm 2021Các bản dựng hỗ trợ nhiều nền tảng thực thi ĐANG TIẾN HÀNH (#11748)

đã tạm dừngQuy tắc C++ sử dụng API platformsfall mới ĐANG TIẾN HÀNH (#6516)

  • Hành vi này bị chặn trên các nền tảng Android. Chúng ta có thể bật tính năng này bằng cách lật cờ một cách đơn giản.

tạm dừngMục tiêu trên nhiều nền tảng CHƯA BẮT ĐẦU

  • Cho phép các mục tiêu khai báo rằng chúng sẽ tạo cho nhiều nền tảng
  • Được liệt kê ở đây do yêu cầu của người dùng

pausedNgừng sử dụng và xoá --cpu cũng như các cờ liên quan NOT STARTED

  • Đây là một mục tiêu đầy tham vọng không nằm trong phạm vi di chuyển tất cả quy tắc sang các nền tảng.

Hiệu quả

2021Chế độ Bazel thử nghiệm lưu vào bộ nhớ đệm quy trình biên dịch Java trên nhiều nền tảng ĐANG TIẾN HÀNH (#6526)

  • Cải thiện tốc độ tạo bản dựng trên nhiều nền tảng
  • Không được phân bổ đủ, nên tiến trình diễn ra chậm