上次驗證日期:2021 年 4 月 9 日 (更新記錄)
聯絡窗口: comius
討論: 建構 API 藍圖:討論
內容範圍
建構 API 團隊會說明原生規則實作項目,以及向 Starlark 公開的原生 API。
目標
在 Starlark 中實作所有規則,並轉交給專門使用特定語言的團隊。從 Bazel 的核心移除語言專屬邏輯。
Java 規則
Java 規則會先重新編寫為 Starlark,並在大型程式碼集進行內部測試。之後就會發布到 Bazel。
2021 年第 1 季
- 改善 Java 三明治,以便重新編寫現有的 Java 規則。完成
2021 年第 2 季
- 改善 Starlark 對 Java 中原生程式庫的支援。進行中
- 改善對外掛程式和 IDE 的
java_common
支援 - 提案 Java 常用重構。進行中 - java_library 規則是 Starlarkified。進行中
2021 年中旬
- java_binary 和 java_test 規則為 Starlarkified。
- java_import 和 java_plugin 規則是 Starlarkified。
2021 年秋季
- java_*_proto_library 的星號
- 其餘的 Java 規則為 Starlarkified:java_package_configuration、java_runtime、java_toolchain。
2022
- java_common 模組的星號宣告。
C++ 規則
您必須先進行一些內部清理作業,才能在 Starlark 中重新編寫 C++ 規則。之後,C++ 規則會使用內建功能重寫至 Starlark。除非在 Starlark 中重新編寫 cc_module,否則.bzl 檔案內的 C++ 規則 API 也無法從檔案存取。
2021 年第 1 季
- Clang 模組支援,DROPPED*
- 和「Include Scan」支援、預期效能從 DROPPED* 獲得改善
- *我們需要更多資料,才能評估模組是否真的為改善效能所需的模組。
2021 年第 2 季
- 內部 Go 規則是星形的開發中
- Objective-C 規則 objc_library 和 objc_import,以及與其相關的原生程式碼為 Starlarkified IN PROGRESS。
2021 年秋季與 2022 年初
- cc_binary、cc_test 和 cc_library 是 Starlarkified
2022
- 其他 C++ 規則 (fdo_profile、cc_import、cc_toolchain、cc_toolchain_suite、fdo_prefetch_hints、cc_toolchain_alias、cc_libc_top_alias、cc_host_toolchain_alias、+2)
- cc_common 模組的星號說明
其他
2021 年中旬
- 切面可以傳播其他層面:提案傳播其他切面。進行中
- 改善 Starlark 測試架構