Bazel Build API 2021 年路线图

<ph type="x-smartling-placeholder"></ph> 报告问题 查看来源 敬上 每晚 · 7.3。 · 7.2 条 · 7.1。 · 7.0。 · 6.5

上次验证时间:2021 年 4 月 9 日更新历史记录

联系人comius

讨论Build API 路线图:讨论

范围

Build API 团队涵盖原生规则实现和原生 API Starlark

目标

在 Starlark 中实施所有规则,并移交给专门负责 特定语言。从 Bazel 的核心中移除针对特定语言的逻辑。

Java 规则

Java 规则将首先重写到 Starlark 中,并在 大型代码库。之后,它们将发布到 Bazel。

2021 年第 1 季度

  • 改进 Java sandwich,让您能够重写现有的 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 的 Starlarkification
  • 其余 java 规则已由 Starlarkified 发布:java_package_configuration, java_runtime、java_toolchain

2022

  • java_common module 进行 Starlarkification。

C++ 规则

在 Starlark 中重写 C++ 规则之前,需要进行一些内部清理。 之后,我们将使用 内置功能。C++ 规则的 API 不能从 .bzl 文件,直到在 Starlark 中重写 cc_module。

2021 年第 1 季度

  • Clang 模块支持,DROPPED*
  • 包含扫描支持,并且从 均DROPPED*
  • *我们需要更多数据来评估是否确实需要模块来实现 提高性能。

2021 年第 2 季度

  • 内部 Go 规则已在 IN 进度
  • Objective-C 规则 objc_library 和 objc_import 以及与原生代码相关 这些星球在正在进行

2021 年秋季至 2022 年期间

  • cc_binary、cc_test 和 cc_library 已加星标

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 年年中