Я использую стабильный плагин sonar-flow-plugin версии 1.0 для кода потока webMethods: sonar-flow-plugin
Я добавил новую пользовательскую проверку настроек триггера.
Тест прост, и при запуске sonar-scanner с отладкой я вижу в журналах, что нарушение достигается и создается так же, как и другие нарушения линии:
getContext().createLineViolation(this, "Set to \"Suspend and recover\" for this trigger", value);
Однако, когдапроект анализируется в SQ, нарушение никогда не регистрируется.Не имеет значения, является ли тип code_smell, ошибкой или чем-то еще, он просто не отображается.
Единственное отличие, которое я вижу, состоит в том, что node.ndf имеет триггер, а не потококазание услуг.Как и по какой-то причине, регистрируются только node.ndf с соответствующим flow.xml.Я просмотрел источник, чтобы найти что-то, что подтвердило бы это подозрение, но я ничего не нашел.
Мои вопросы к экспертам по сонар-поток-плагину:
- Возможно ли этосоздать правила и проверки для непотоковых сервисных активов, таких как триггеры, типы документов, сервисы адаптера (которые также имеют только node.ndf и не имеют соответствующего flow.xml)?
- Если так, то как?Что может быть не так?
Я могу загрузить github-форк моего проекта с новым правилом (на самом деле это модификация существующего правила), но я подозреваю, что любой, кто знаком с этим, точно знает, что яЯ говорю о.
Я в основном изменил только существующую проверку: InterfaceCommentsCheck и изменил метод visitNode (AstNode astNode), чтобы он обнаруживал, если для триггера "onRedeliveryFailure" не установлено значение "1".Если это так, это создает нарушение строки.Опять же, это работает как при работе сонарного сканера.