2016-06-20 1 views
3

После обновления до версии 5.5 и теперь последней версии (5.6) SonarQube всегда показывает проблемы, которые я создаю через свой плагин как «Запах кода». Я хотел бы узнать больше о категоризации и как добавить их как другие типы («Уязвимость» и «Ошибка»). Код, где я создаю проблемы заключается в следующем:SonarQube добавляет все проблемы как Code Smell

Issuable issuable = this.resourcePerspectives.as(Issuable.class, inputFile); 
    if (issuable != null) { 
     Issue issue = issuable.newIssueBuilder() 
      .ruleKey(activeRule.ruleKey()) 
      .line(vulnerability.getLine()) 
      .message(someMessage) 
      .severity(severity) 
      .build(); 

      issuable.addIssue(issue)) 
    } //... 

ответ

5

Текущая поддержка ошибок и уязвимостей является «творческой реализации» (читай «взломать») на основе тегов. Итак, добавьте тег «ошибка» в ваше правило, и его проблемы будут подняты как ошибки. Добавьте тег безопасности в правило, и его проблемы будут рассмотрены как уязвимости.

Правила с тегами «ошибка» и «безопасность» будут рассматриваться как правила ошибок.

Для дальнейшего использования этот механизм, как ожидается, изменится в «ближайшем» будущем, но в настоящее время нет графика для него.

Редактировать

Ток (6.1) версия API предоставляет возможность просто объявить тип правила.

+0

Благодарим вас за разъяснение. Я полагаю, что нет способа добавлять теги «на лету» во время создания проблемы (объекта), правильно? – jonypera

+0

Ух ... это будет очень темный угол API. –

+1

Нет проблем. Рад узнать, как работает эта категоризация. В будущем (как вы сказали) было бы неплохо категоризировать проблему с легкостью, как еще один параметр 'newIssueBuilder()'. Просто предложение разработчика :) Еще раз спасибо. – jonypera