Легко получить все экземпляры TestDefinition
в IntegrationTest
:
val tests: Seq[TestDefinition] = (definedTests in IntegrationTest).value
Но как мне получить все экземпляры xsbti.api.Definition
в IntegrationTest
? Раньше можно было сделать это:
val defs: Seq[Definition] = {
val analysis = (compile in IntegrationTest).value
analysis.apis.internal.values.flatMap(_.source.api.definitions)
}
(например, для фильтрации тестов по аннотациям набора: скажем, @RequiresCassandra
или @RequiresCluster
и т. Д.). Но analysis.apis
был удален - не уверен, когда, но он отсутствует в SBT 1.3.8. Я не нашел никакой документации о том, что использовать вместо этого.
Одна из главных сильных сторон SBT, по сравнению с такими инструментами на основе XML, как Maven, заключается в способности программно определять параметры сборки. Должна быть возможность фильтровать тесты по чему-либо в самом коде теста, а не только по именам тестов. Я не могу поверить, что что-то настолько полезное - что-то, что действительно ставит SBT выше конкурентов - может быть просто удалено.
Есть предложения?