如何在 Bazel 中为不同的测试重用 deps?
How to reuse deps for different tests in Bazel?
我正在使用 Bazel 编译 scala。
现在,我的 scala_test 看起来像
scala_test {
name = "sample",
srcs = [
"a.scala",
"b.scala",
"c.scala",
"d.scala",
],
deps = [
"//src//main/scala/.../dep1",
"//src//main/scala/.../dep2",
"//src//main/scala/.../dep3",
"//src//main/scala/.../dep4",
]
}
在这种情况下,Bazel 不支持这些 src 的并行化,因为它们被分组为一个 scala_test
。为了启用自动并行测试,我想将 srcs 分成不同的 scala_test
like
scala_test {
name = "sample1",
srcs = [
"a.scala",
],
deps = [
"//src//main/scala/.../dep1",
"//src//main/scala/.../dep2",
"//src//main/scala/.../dep3",
"//src//main/scala/.../dep4",
]
}
scala_test {
name = "sample2",
srcs = [
"b.scala",
],
deps = [
"//src//main/scala/.../dep1",
"//src//main/scala/.../dep2",
"//src//main/scala/.../dep3",
"//src//main/scala/.../dep4",
]
}
...
问题是我猜 bazel 会尝试为每个 scala_test
编译 deps。有什么方法可以将依赖项分组并在不同的 scala_test
块中重用它们,例如 scala_library
?
抱歉,我认为 Bazel 缓存了依赖项,因此我不必担心在 运行 所有测试时再次编译它们。
我正在使用 Bazel 编译 scala。
现在,我的 scala_test 看起来像
scala_test {
name = "sample",
srcs = [
"a.scala",
"b.scala",
"c.scala",
"d.scala",
],
deps = [
"//src//main/scala/.../dep1",
"//src//main/scala/.../dep2",
"//src//main/scala/.../dep3",
"//src//main/scala/.../dep4",
]
}
在这种情况下,Bazel 不支持这些 src 的并行化,因为它们被分组为一个 scala_test
。为了启用自动并行测试,我想将 srcs 分成不同的 scala_test
like
scala_test {
name = "sample1",
srcs = [
"a.scala",
],
deps = [
"//src//main/scala/.../dep1",
"//src//main/scala/.../dep2",
"//src//main/scala/.../dep3",
"//src//main/scala/.../dep4",
]
}
scala_test {
name = "sample2",
srcs = [
"b.scala",
],
deps = [
"//src//main/scala/.../dep1",
"//src//main/scala/.../dep2",
"//src//main/scala/.../dep3",
"//src//main/scala/.../dep4",
]
}
...
问题是我猜 bazel 会尝试为每个 scala_test
编译 deps。有什么方法可以将依赖项分组并在不同的 scala_test
块中重用它们,例如 scala_library
?
抱歉,我认为 Bazel 缓存了依赖项,因此我不必担心在 运行 所有测试时再次编译它们。