Как исключить / игнорировать анализ ссылочных проектов из SoanrQube
У меня есть решение, которое имеет три проекта (X,Y,Z). Z упоминается в Y, Y в X . Когда я запускаю Анализ с MSBuild SonarQube Runner в проекте X, он также анализирует Y и Z. Есть ли у нас какое-либо решение для игнорирования рекурсивного анализа?
Примечание: я не могу разбить файл решения на несколько файлов решения и ссылаться на DLL, а не на проекты.
3 ответа
В эхолоте -> администрирование -> Общие параметры -> Область анализа установите "Исключения из исходного файла" следующим образом: file:**/ProjectName/* * (без пробелов между * *) https://i.gyazo.com/ad78d4db8c0bda657d67d17a9c6e78d9.png
Вы можете статически пометить отдельные проекты как включенные / исключенные, установив свойство в файле MSBuild. Смотрите онлайн документы здесь.
Если вы хотите сделать что-то более динамичное, взгляните на приложение расширенной конфигурации.
Вы можете добавить тег в ProjectReference "Y" конфигурации вашего проекта "X".
<PropertyGroup Condition=" $(ProjectGuid) != '' AND $(SonarQubeExclude) == '' ">
<SonarQubeExclude Condition="$(ProjectGuid) == 'C999E666-3666-9990-B666-9999E666' " >true</SonarQubeExclude>
</PropertyGroup>
Это должно быть добавлено в X-проекте, а идентификатор C999E666-3666... - это идентификатор, который вы хотите исключить.
Дополнительная информация по адресу: https://github.com/SonarSource/sonar-.net-documentation/blob/master/doc/appendix-2.md