【发布时间】:2017-08-08 07:26:46
【问题描述】:
我在为 Bazel 构建系统设置 Robolectric 时遇到了一些问题,主要是因为它需要的依赖项数量。
似乎没有一个 JAR 包含 Robolectric 及其所有依赖项。因此,我两种都试过了:
使用自定义 BUILD 文件在我的 WORKSPACE 文件中创建
new_git_repository规则,该文件编译来自 Robolectric repo 的 Java 源代码。Downloading all JARs for Robolectric’s dependencies,然后将它们捆绑在我的测试规则可以依赖的
java_import中。
在第一种情况下,我在尝试从提供的 Groovy 类生成 Java 代码时遇到了问题,并且仍然必须手动包含其他几个依赖项。在第二种情况下,我遇到了 Robolectric 的 MavenDependencyResolver 在运行时无法找到某些依赖项的问题,这导致必须手动包含缺少的依赖项 JAR 文件。
不管怎样,让 Bazel 编译和运行 Robolectric 测试似乎有点麻烦。在 Bazel 构建系统中使用 Robolectric 是否有更好的方法?
【问题讨论】:
-
这个blogpost 可能是一个很好的资源。我是在阅读this github issue讨论使用 Bazel 后发现的。
-
FWIW,对 Bazel 的一流 robolectric 支持正在进行中。 github.com/bazelbuild/bazel/issues/2080
标签: robolectric bazel