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.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

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

Thảo luận: Lộ trình có thể định cấu hình: thảo luận

Lộ trình trước

  • 2020 (kèm theo bài đánh giá cuối năm)
  • 2019 (kèm bài đánh giá cuối năm)
  • 2018

Mục tiêu

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

  • Bản dựng không yêu cầu cờ hiệu dòng lệnh.
  • Mỗi mục tiêu sẽ tự động sử dụng các 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 cho nhiều nền tảng.
  • Các bản dựng có khả năng mở rộng tốt, đặc biệt là về kích thước biểu đồ và tính năng lưu vào bộ nhớ đệm của thao tác.

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

Lộ trình

Ngày là ngày ước tính dựa trên hiểu biết tốt nhất của chúng tôi về mức độ phức tạp của vấn đề và khả năng cung cấp 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 ít dự án hơn cùng một lúc. Chúng tôi sẽ chỉ đặt ETA cho những công việc được ưu tiên tích cực để đảm bảo kỳ vọng chính xác.

Nền tảng

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

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

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

pausedCác quy tắc C++ sử dụng platformsfall API mới IN PROGRESS (#6516)

  • Hành động 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 một thao tác chuyển đổi cờ đơ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ẽ được 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 và các cờ liên quan CHƯA BẮT ĐẦU

  • Đây là một mục tiêu đầy tham vọng, nằm ngoài việc di chuyển tất cả các quy tắc sang nền tảng.

Hiệu quả

2021Một chế độ Bazel thử nghiệm lưu vào bộ nhớ đệm quá 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
  • Phân bổ chưa đủ, nên tiến độ chậm