2014-01-13 2 views
13

У меня есть проект, над которым я работаю, и некоторые файлы нарушают некоторые правила, но не являются реальными проблемами и, таким образом, отвлекают шум. Тем не менее, я не хочу отключать эти правила во всем мире, и я бы предпочел не отмечать их как ложные срабатывания один за другим.Как отключить правила сонара для определенных файлов?

Есть ли способ отключить правила сонара для определенных файлов, и если да, то как?

ответ

5

С SonarQube 4.0 вы можете определить issue exclusion patterns на основе ключа правила и шаблона пути к файлу.

В предыдущих версиях вы можете положиться на Switch Off Violations plugin.

+2

Отлично, спасибо.Примечание для будущих людей, которые приземляются на этой странице: шаблон правила правила: :

+0

@mith Ссылка не актуальна. Пожалуйста, сделайте свой ответ самостоятельно. – 1010

5

Опираясь на ответ Mithfindel и комментарии ДОК, это снимает предупреждение

System.out и System.err не должен использоваться в качестве лесорубов

из всех классов в пакетах, названных log (или любой подпакет их) путем добавления шаблона игнорирования для правила squid:S106:

enter image description here

Список ключей для всех ваших правил перейдите в свой профиль под Профили качества и выберите Загрузите, чтобы получить CSV-файл, содержащий все ключи правил.

Я использую версию SonarQube 4.1.1.

+0

У меня есть проект консоли и вы хотите отключить правило «Консолирование не должно использоваться» на нем. Я использую пользовательский интерфейс, как вы сказали, но кажется, что MSBuild не получает исключений тезисов (все, что содержится в журналах агентов или журналах .sonarqube). должен ли я иметь конфигурационный файл, или MSbuild должен возвращать конфигурацию Sonar для проектов? Код правила: csharpsquid: S2228 Путь к файлу: **/ChangeLog /**/*.* – BonOeil

+0

BonOeil, вам, вероятно, следует задать отдельный вопрос для этого. –

1

Да, это возможно.

  • 1.Goto Администрирование> Вкладка Анализ Scope-> Вопросы

  • 2.There, вы найдете "игнорировать вопросы по нескольким критериям".

  • 3.Provide Идентификатор правила в «Правило ключа шаблон» текстовое поле [Rule ID можно найти, нажав на конкретного правила, и найти его в верхнем правом углу]

  • 4.Provide Filepath, для которого нужно игнорировать правила в "File Path Pattern" текстовое поле

  • 5.Click по вопросам Сохранить настройки

  • Image to know where Rule ID will be present in the page
  • Image where Rule key pattern and File Key pattern text boxes are present
1

Вы можете аннотировать класс или метод с помощью SuppressWarnings.

Вот пример:

@ java.lang.SuppressWarnings ("кальмар: S00111") кальмара: S00111 в этом случае является сонар проблема ID. Вы можете найти этот идентификатор проблемы из веб-сайта Sonar ui.

Смежные вопросы