Охватите все вкусовые качества за один анализ Sonarquebe - PullRequest
0 голосов
/ 28 мая 2020

Можно ли выполнить один анализ сонара для всех вкусов? У меня есть многоцветный проект 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 не будет работать с отображением нескольких результатов сонара в запросах на слияние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...