是否有任何 Bazel 文档可以帮助从旧版本迁移到新版本?



我正在使用 Bazel 19,我想迁移到最新版本 26。看起来很多事情都发生了变化,很难从发行说明中找出所有变化。是否有任何文档/工具可以帮助从旧版本迁移到较新版本

在我看来,最简单的方法是从 19 增量更新到 20,从 20 更新到 21,依此类推。

如果您使用bazelisk,版本切换很容易:

  1. USE_BAZEL_VERSION=0.19.0 bazelisk test //...
  2. 修复破损
  3. 增量版本和测试:USE_BAZEL_VERSION=0.20.0 bazelisk test //...
  4. 返回到 2。

Bazelisk 提供了一个--strict--migrate标志,可以帮助您:

USE_BAZEL_VERSION=0.26.1 bazelisk --strict build //...

--strict启用所有不兼容的标志,并帮助您识别升级问题。

如果--strict失败,您应该尝试--migrate。它逐步设置启用不兼容标志,并为您提供导致构建问题的不兼容标志的报告:

USE_BAZEL_VERSION=0.26.1 bazelisk --migrate build //...

另请查看有关向后兼容性的文档:

当我们引入不兼容的更改时,我们会尝试使其更容易 Bazel 用户更新他们的代码。我们通过迁移来做到这一点 窗口和迁移配方。

迁移窗口是 Bazel 的一个或多个版本,在此期间 可以从旧功能迁移到新功能, 根据迁移配方。

在迁移窗口期间,旧功能和新功能 功能在 Bazel 版本中可用。对于每一个 不兼容的更改,我们提供了一个迁移配方,允许 更新用户代码(BUILD 和 .bzl 文件,以及任何 Bazel 脚本中的用法,Bazel API 的使用等),使其 同时工作,没有任何具有新旧功能的标志。

最新更新