Есть ли способ программно исключить артефакты из анализа Sonar с помощью сканера MSBuild?
У нас есть несколько различных решений Visual Studio в нашем репозитории git.Почти все эти решения используют проекты, содержащие общий код.Я хочу исключить покрытие кода из этих общих проектов - но только для определенных проектов Sonar.
Всегда исключать проект просто и задокументировано путем добавления раздела <PropertyGroup>
в .csproj
.
Добавление аргумента /d:sonar.coverage.exclusions="**/MyCommonCode/**"
в сканер MSBuild, по-видимому, ничего не делает и не добавляет шаблоны исключения в сам сонар.
Обоснование
Я хочу поддерживать точные показатели покрытия кода для кода, используя эти общие проекты.Если бы общий код имел 100 000 строк и был хорошо протестирован, но мой проект имел только 10 000 строк и имел нулевые тесты, покрытие кода Sonar было бы искусственно благоприятным.
Вместо этого я намереваюсь создать отдельный проект Sonar, содержащий толькоохват этого общего кода.
Мы используем SonarQube 7.0 и SonarScanner для MSBuild 4.0.2.