【问题标题】:Migrating from maven to bazel从 maven 迁移到 bazel
【发布时间】:2019-08-08 06:54:50
【问题描述】:

您好,我正在尝试将我的项目从 maven 迁移到 bazel。 我面临的挑战之一是迁移测试配置。

在初始化测试时,代码将一些配置属性写入属性文件。 在其中一个测试配置中,它尝试在 maven 默认创建的“/target”位置创建此属性文件。

但是在迁移这些测试以使用 bazel 运行后,它没有找到名为 target 的文件夹,因此测试失败。

使用不同的文件夹更改每个测试将是一项艰巨的任务。 有没有办法在 bazel 中创建类似 maven 的文件夹结构?

【问题讨论】:

  • 只是好奇:为什么要从 Maven 迁移到 Bazel?
  • 与 maven 相比,Bazel 构建速度更快,并且 bazel 支持增量构建和其他许多有用的功能,可显着减少构建时间,从而帮助开发人员提高生产力。
  • 我的理念是坚持使用具有较大市场份额的软件(对于 Java 构建:Maven 或 Gradle),因为您可以获得稳定的解决方案并在 Internet 上找到大量信息。
  • 现有的东西有问题的时候应该去探索新的东西。
  • @JFMeier StackOverflow 不建议使用评论部分进行二次讨论(例如,构建系统的优点关于一个特定系统的问题)。请参阅the docs about commenting

标签: java spring maven unit-testing bazel


【解决方案1】:

Bazel 在environment variable $TEST_SRCDIR 表示的目录中运行测试,并且在测试期间可以访问临时目录$TEST_TMPDIR。我相信这里唯一的方法是增加每个测试,要么不写到target/,要么写到$TEST_TMPDIR而不是target/

此外,与 Maven 不同,Bazel 不允许您的测试写入源目录。这是为了确保可重复性和密封性,这也是 Bazel 在为每个测试独立创建的独立洁净室环境中运行测试的原因。

【讨论】:

    猜你喜欢
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 2011-02-27
    • 1970-01-01
    • 2016-12-08
    • 2015-09-21
    • 1970-01-01
    相关资源
    最近更新 更多