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

Báo cáo vấn đề Xem nguồn Nightly/3}

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 sẽ trình bày các hoạt động triển khai quy tắc gốc và API gốc hiển thị với Starlark.

Mục tiêu

Đã triển khai tất cả các quy tắc trong Starlark và bàn giao cho các nhóm chuyên trách về 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à kiểm thử 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 bánh sandwich Java, giúp bạn có thể viết lại các quy tắc Java hiện 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ợ java_common cho các trình bổ trợ và IDE – đề xuất Tái cấu trúc lại thông thường Java. ĐANG TIẾN HÀNH
  • Quy tắc java_library là Starlarkified. ĐANG TIẾN HÀ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 là 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 chức năng Buildin. Bạn sẽ không thể truy cập vào API cho các quy tắc 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 cả quét, mức cải thiện hiệu suất dự kiến từ cả DROPPED*
  • *Chúng tôi cần thêm dữ liệu để đánh giá xem các mô-đun có thực sự cần thiết cho việc cải thiện hiệu suất hay không.

Quý 2 năm 2021

  • Quy tắc Go nội bộ được làm rõ TRONG TIẾN ĐỘ
  • Các quy tắc Target-C objc_library và objc_import và mã gốc liên quan đến các quy tắc này được Starlarkified TRONG TIẾN ĐỘ

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

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

2022

  • Làm rõ các quy tắc C++ khác (fdo_profile, cc_import, cc_toolchain, cc_toolchain_suite, fdo_upsell_hints, cc_toolchain_alias, cc_libc_top_alias, cc_host_toolchain_alias, +2)
  • Làm rõ mô-đun cc_common

Tính năng khác

Giữa năm 2021

  • Aspect có thể phổ biến các khía cạnh khác – đề xuất Aspects Propagation Other Aspects (Các khía cạnh có thể phổ biến các khía cạnh khác). ĐANG TIẾN HÀNH
  • Cải thiện khung kiểm thử Starlark