13

现在 Bazel ( http://bazel.io/ ) 已经开源,是否有一个增量过程可以让我逐渐将(一个大型存储库)从 Maven 迁移到 Bazel?

4

4 回答 4

12

我在 Bazel 工作。不,据我们所知,没有这样的过程。我希望。

我们一直在运行从其他构建系统到 Bazel 的一些迁移;证据不是决定性的,但甚至很难想象增量过程会是什么样子。在某些情况下,我们可以设想一个构建系统为另一个构建系统生成配置文件(例如 gyp),但是您仍然需要批量切换。

于 2015-03-30T18:39:55.807 回答
3

还有另一个更新(2018 年)...

有一个关于从 Maven 构建工具迁移到 Bazel 的专门指南。

一般来说,最好让这两个构建工具并行运行,直到您完全迁移您的开发团队、CI 系统和任何其他相关集成。您可以在同一个存储库中运行 Maven 和 Bazel。

https://docs.bazel.build/versions/master/migrate-maven.html

于 2018-03-26T13:47:48.337 回答
3

2019 年 9 月更新

Wix 发布了一个名为Exodus的工具,可以自动将您的 Maven 项目迁移到 Bazel。

此外,rules_jvm_external支持管理传递的 Maven 工件依赖项。

2018 年 5 月更新

这是使用Jadep的另一个更新,它是您的 Java 项目的 BUILD 文件生成器。

google-java-format迁移到 Bazel的作者有一个教程: https ://github.com/cgrushko/text/blob/master/migrating-gjf-to-bazel.md

于 2018-05-24T21:13:26.000 回答
3

自从 Ulf 做出回应以来的两年里,已经做出了一些努力来协助 maven 到 bazel 的迁移。特别是,Bazel 团队正在创建一个工具来帮助解决这个问题:https ://github.com/bazelbuild/migration-tooling

该工具从一组 pom 文件或 maven 坐标生成扩展的 WORKSPACE 文件。在理想情况下,您可以将路径传递给您的 maven 项目,然后它将生成一个 bzl 文件,您可以将其加载到 WORKSPACE 文件中。

更多关于如何管理外部依赖的评论可以在这里找到:https ://bazel.build/versions/master/docs/external.html

于 2017-06-30T13:02:25.320 回答