【问题标题】:Is there a migration path from Maven to Bazel?是否有从 Maven 到 Bazel 的迁移路径?
【发布时间】:2015-06-03 05:22:09
【问题描述】:

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

【问题讨论】:

  • 你知道bazel不支持windows吗?
  • @khmarbaise 我是。这很重要吗?
  • 没有。我只是好奇而已。但我没有看到任何顺利的迁移路径。只需启动 bazel 构建定义并(如果可能)将 maven 构建并行保存在同一源代码树中。顺便说一句:他们只有部分开源的 bazel。

标签: maven build migration bazel


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

    • 关于 CI/CD 系统,Bazel 有类似 Maven 发布插件的东西吗?例如。管理版本和发布部署工件?
    【解决方案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

    【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 2011-02-27
      • 2020-04-29
      相关资源
      最近更新 更多