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