Lộ trình về bản dựng Bazel API 2021

Báo cáo vấn đề Xem nguồn Hằng đêm · 7,3 · 7.2 · 7.1 · 7 · 6,5

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

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

Thảo luận: Xây dựng lộ trình API: thảo luận

Phạm vi

Nhóm Build API phụ trách việc triển khai quy tắc gốc và API gốc tiếp xúc với Starlark.

Mục tiêu

Đã triển khai tất cả các quy tắc trong Starlark và giao cho các nhóm chuyên trách ngôn ngữ cụ thể. Loại bỏ logic của ngôn ngữ cụ thể khỏi cốt lõi của Bazel.

Các quy tắc Java

Trước tiên, các quy tắc Java sẽ được viết lại thành Starlark và được thử nghiệm nội bộ trên cơ sở mã lớn. Sau đó, các ứng dụng đó sẽ được chuyển cho Bazel.

Quý 1 năm 2021

  • Cải thiện lớp chèn Java, giúp bạn có thể viết lại mã Java hiện có quy tắc. XONG

Quý 2 năm 2021

  • Cải thiện khả năng hỗ trợ Starlark cho thư viện gốc trong Java. ĐANG TIẾN HÀNH
  • Cải thiện khả năng hỗ trợ của java_common cho các trình bổ trợ và IDE – đề xuất Tái cấu trúc chung Java. ĐANG TIẾN HÀNH
  • Quy tắc java_library là Starlarkified. Ấn Độ TIẾN TRÌNH

Giữa năm 2021

  • Các quy tắc java_binary và java_test được Starlarkified.
  • Các quy tắc java_import và java_plugin được Starlarkified.

Mùa thu năm 2021

  • Làm rõ java_*_proto_library
  • Các quy tắc java còn lại được Starlarkified: java_package_configuration, java_runtime, java_toolchain.

2022

  • Làm rõ mô-đun java_common.

Quy tắc C++

Trước khi có thể viết lại các quy tắc C++ trong Starlark, bạn cần dọn dẹp nội bộ. Sau đó, các quy tắc C++ sẽ được viết lại thành Starlark từng phần bằng cách sử dụng chức năng tích hợp sẵn. API cho các quy tắc C++ sẽ không thể truy cập được từ Các tệp .bzl cho đến khi cc_module được viết lại trong Starlark.

Quý 1 năm 2021

  • Hỗ trợ các mô-đun Clang, DROPPED*
  • và hỗ trợ Bao gồm quét, mức cải thiện hiệu suất dự kiến từ cả DROPPED*
  • *Chúng tôi cần nhiều dữ liệu hơn để đánh giá xem các mô-đun có thực sự là những gì cần thiết để cải thiện hiệu suất.

Quý 2 năm 2021

  • Quy tắc Go nội bộ được rõ ràng tại Ấn Độ TIẾN TRÌNH
  • Các quy tắc Target-C objc_library và objc_import và mã gốc liên quan cho chúng được làm rõ TRONG TIẾN TRÌNH

Mùa thu năm 2021 và đầu năm 2022

  • cc_binary, cc_test và cc_library được Starlarkified

2022

  • Giải thích rõ ràng các quy tắc C++ khác (fdo_profile, cc_import, cc_toolchain, cc_toolchain_suite, fdo_preview_hints, cc_toolchain_alias, cc_libc_top_alias, cc_host_toolchain_alias, +2)
  • Làm rõ mô-đun cc_common

Khác

Giữa năm 2021