Можно ли выполнить один анализ сонара для всех вкусов? У меня есть многоцветный проект Android, в котором у меня есть разные реализации некоторых файлов в разных папках. Эти файлы имеют соответствующие тесты в папках с тестами вкусов. Итак, в примере моя структура sr c:
/main/java/../ConfigurationService.kt
/flavor1/java/../ConfigurationService.kt
/flavor2/java/../ConfigurationService.kt
/test/java/../ConfigurationServiceTests.kt
/testFlavor1/java/../ConfigurationServiceTests.kt
/testFlavor2/java/../ConfigurationServiceTests.kt
Теперь я могу использовать sonarqube.androidVariant
, но это позволит мне настроить только один вариант за раз, поэтому, если я хочу проверить анализ для второго аромат Мне нужно снова запустить задачу с другими настройками, и это не работает в Gitlab CI, чтобы показать множественный анализ. Я смог настроить отдельные задачи jacoco для создания отчетов о покрытии для всех видов до запуска сонара. Затем я попытался добавить исходные каталоги в плагин sonarplugin следующим образом:
sonarqube {
properties {
//standard plugin configuration
android.libraryVariants.each { variant ->
if (variant.buildType.name != "debug") return //we run sonar only on debug
def variantName = variant.name
def flavorName = variant.flavorName
properties["sonar.sources"] += "./src/${flavorName}/"
properties["sonar.tests"] += "./src/test${flavorName.capitalize()}"
// and so on for binaries, jacoco report paths etc.
}
}
}
К сожалению, это закончилось ошибкой:
ConfigurationService.kt can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files
Есть ли способ охватить все вкусы среди тестового покрытия в один анализ сонара? Как я уже писал ранее, у меня не может быть отдельного анализа для каждой разновидности, поскольку Gitlab CI не будет работать с отображением нескольких результатов сонара в запросах на слияние.