现在 Bazel ( http://bazel.io/ ) 已经开源,是否有一个增量过程可以让我逐渐将(一个大型存储库)从 Maven 迁移到 Bazel?
4 回答
我在 Bazel 工作。不,据我们所知,没有这样的过程。我希望。
我们一直在运行从其他构建系统到 Bazel 的一些迁移;证据不是决定性的,但甚至很难想象增量过程会是什么样子。在某些情况下,我们可以设想一个构建系统为另一个构建系统生成配置文件(例如 gyp),但是您仍然需要批量切换。
还有另一个更新(2018 年)...
有一个关于从 Maven 构建工具迁移到 Bazel 的专门指南。
一般来说,最好让这两个构建工具并行运行,直到您完全迁移您的开发团队、CI 系统和任何其他相关集成。您可以在同一个存储库中运行 Maven 和 Bazel。
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
自从 Ulf 做出回应以来的两年里,已经做出了一些努力来协助 maven 到 bazel 的迁移。特别是,Bazel 团队正在创建一个工具来帮助解决这个问题:https ://github.com/bazelbuild/migration-tooling
该工具从一组 pom 文件或 maven 坐标生成扩展的 WORKSPACE 文件。在理想情况下,您可以将路径传递给您的 maven 项目,然后它将生成一个 bzl 文件,您可以将其加载到 WORKSPACE 文件中。
更多关于如何管理外部依赖的评论可以在这里找到:https ://bazel.build/versions/master/docs/external.html