Игнорировать проблемы по нескольким критериям не работает

Я хотел бы отключить правило С# «Удалите это приведение и отредактируйте интерфейс, чтобы добавить недостающие функции» (csharpsquid: S3215). Не вообще, а для всех файлов в папках "something\Business\Genome\*.cs") ("что-то" может быть одним или несколькими каталогами)

Я пытаюсь использовать параметр «Игнорировать проблемы по нескольким критериям» в этом проекте SonarQube, но не могу определить правильную настройку (или, может быть, эта функция просто не работает?).

Комбинации, которые я пробовал до сих пор:

Rule Key Pattern               File Path Pattern 
csharpsquid:S3215              **/Business/Genome/*.cs
csharpsquid:S3215              **\Business\Genome\*.cs
csharpsquid:S3215              **//Business//Genome//*.cs
*:S3215                        **/Business/Genome/*.cs
*:S3215                        **\Business\Genome\*.cs
*:S3215                        **//Business//Genome//*.cs

Я даже не знаю, не совпадает ли это шаблон ключа правила или шаблон пути к файлу... :-/

Обновление 08.03.16: прошлой ночью я провел дополнительные тесты. Вместо уровня проекта я настроил это на глобальном уровне и использовал

Rule Key Pattern               File Path Pattern 
csharpsquid:S3215              **/?usiness/?enome/*.cs

чтобы исключить проблемы с корпусом: тоже безуспешно.

Тогда я использовал просто

Rule Key Pattern               File Path Pattern 
csharpsquid:S3215              **/*.cs

чтобы увидеть, работает ли он вообще, и это сработало. Так что каким-то образом мой путь должен быть неправильным, но я не понимаю, как это сделать.

Обновление 08.03.16 (2): Вот одна строка из журнала сервера сборки:

08:57:50.854 INFO  - 0/658 files analyzed, starting to analyze: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome\Absence.cs

Я почти уверен, что дело не в корпусе. Но у меня есть другое подозрение. Я сканирую все решение, и, по-видимому, SonarQube рассматривает каждый проект в этом решении как компонент и сканирует каждый компонент/проект по отдельности. Возможно ли, что для сканирования пути относительно проекта? Потому что я также вижу это в журнале:

08:57:43.701 INFO  - Loading plugin stylecopanalyzers
08:57:43.924 INFO  - Base dir: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome
08:57:43.924 INFO  - Working dir: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\.sonarqube\out\.sonar...
08:57:44.103 INFO  - Source paths: Absence.cs, ...

person Markus Hastreiter    schedule 07.03.2016    source источник
comment
Привет, Андреас, эта функция работает правильно (по крайней мере, в последних версиях SQ — какую версию вы используете?). Я вижу, что вы находитесь в магазине .NET, может быть, есть какая-то проблема с учетом регистра пути? Кроме того, я предполагаю, что вы установили SQ в базу данных MS SQL, верно? Если это так, то это может даже ухудшиться из-за неправильной сортировки таблицы (см. docs.sonarqube .org/display/SONAR/Requirements для требований к MS SQL).   -  person Fabrice - SonarSource Team    schedule 07.03.2016
comment
Привет, Фабрис. Регистр имен папок правильный, мы используем базу данных Oracle, а не MS SQL. Мы используем SonarQube 5.3.   -  person Markus Hastreiter    schedule 07.03.2016
comment
Итак, мы должны пропустить что-то конкретное... csharpsquid:S3215 вместе с */Business/Genome/.cs - это правильный синтаксис, и он определенно должен работать. Но у меня заканчиваются идеи. :-(   -  person Fabrice - SonarSource Team    schedule 07.03.2016
comment
Прошлой ночью я провел несколько дополнительных тестов. Я обновил исходный вопрос соответственно   -  person Markus Hastreiter    schedule 08.03.2016
comment
Я почти уверен, что это связано с проблемой случая. Можете ли вы открыть консоль DOS, войти в решение и в каждой папке перечислить файлы в консоли: это лучший способ убедиться, что регистр правильный, потому что проводник Windows может вас обмануть.   -  person Fabrice - SonarSource Team    schedule 08.03.2016
comment
@Fabrice-SonarSourceTeam Я использую Total Commander, а не проводник Windows (мне не нравятся инструменты, которые мне лгут :-) Я обновил свой вопрос выдержками из журнала сканирования   -  person Markus Hastreiter    schedule 08.03.2016
comment
Хорошо, ты попал. :-) Отвечу на вопрос.   -  person Fabrice - SonarSource Team    schedule 08.03.2016


Ответы (1)


Включение/исключение файлов основано на пути относительно каждого модуля SonarQube (т. е. проекта Visual Studio). Так что, если «Бизнес» - это проект VS, это действительно не сработает.

person Fabrice - SonarSource Team    schedule 08.03.2016
comment
Значит, нельзя игнорировать это правило только для этого модуля? - person Markus Hastreiter; 09.03.2016
comment
Это действительно ограничение. Это можно обойти, если файлы этого модуля находятся в папке, имя которой можно использовать в качестве дискриминанта. Но я думаю, что это не так. - person Fabrice - SonarSource Team; 09.03.2016