Как повторно использовать deps для различных тестов в Bazel?

#scala #unit-testing #bazel #bazel-rules

Вопрос:

Я использую 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 целое . Чтобы включить автоматическое параллельное тестирование, я хотел бы разделить src на различные scala_test , такие как

 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 пытается скомпилировать dep для каждого scala_test . Существует ли какой-либо способ группировать зависимости и повторно использовать их в различных scala_test блоках, таких как scala_library ?

Ответ №1:

Извините, я думаю, что Bazel кэширует зависимости, поэтому мне не нужно беспокоиться о их повторной компиляции при выполнении всех тестов.