2016-06-29 2 views
4

Я пытаюсь игнорировать код Ломбока (сгенерированный код) из анализа Sonar на основе файлов, которые имеют пользовательскую аннотацию, @ExcludeLombok. Я пробовал this guide, который не работал.Sonar - Игнорировать код Lombok через пользовательскую аннотацию

Фактически, я даже попытался исключить целую директорию из анализа, и она все равно не сработает.

Я также неустанно искал через StackOverflow поиск решения, и я видел, что здесь обсуждался хороший бит, но я видел, что люди предлагали написать один тест, чтобы получить охват, что бессмысленно, поскольку мы не должны тестировать автоматически сгенерированный код.

Решение, которое я ищу, - это исключить файлы на основе пользовательской аннотации. Но до сих пор все, что я пытаюсь исключить, не исключается.

Любая помощь была бы принята с благодарностью.

+0

Можете ли вы принять мой ответ или хотя бы прокомментировать его, если он вас не удовлетворяет? –

+0

Извинения за задержку принятия ответа Майкл, отлично звучит :) –

ответ

4

В настоящее время нет простого способа исключить проблемы, возникающие из правил SonarQube, из анализатора Java SonarQube, за исключением использования подходов, описанных в приведенной вами документации «Narrowing the focus».

Теперь мы представили концепцию фильтров проблем в анализаторе Java SonarQube. Этот механизм в настоящий момент используется только внутри страны, чтобы исключить проблемы, возникающие по правилам во время анализа, на основе конкретных критериев.

Мы планируем расширить этот механизм, чтобы пользователи могли реализовать собственные фильтры проблем, так же как и пользовательские правила. Этот подход будет охватывать ваше дело и позволяет фильтровать любые правила кода, аннотированные вашей пользовательской аннотацией. Эта новая функция будет рассмотрена в следующем билете JIRA: SONARJAVA-1761

+0

Любые обновления по проблеме? – cra6

+0

Пожалуйста, обратитесь к билету JIRA [SONARJAVA-1761] (https://jira.sonarsource.com/browse/SONARJAVA-1761) для разрешения проблемы. Билет в настоящее время запланирован на 5.x анализатора SonarJava. В настоящее время мы работаем над версией 4.8. Версия 5.x станет нашей следующей крупной версией, но этого не ожидается до этого лета. –

+1

@ Michael-SonarSourceTeam Кажется, что механизм фильтрации существует сейчас, и в коде есть код LombokFilter по адресу: https://github.com/SonarSource/sonar-java/tree/master/java-checks/src/main/ java/org/sonar/java/filters Но с Sonar 6.3 все еще проблемы с ломбоком не фильтруются. – Chris

0

Еще один вариант, который у вас есть - запустить Sonar над преломленным источником. Существуют различные способы использования delombok в зависимости от вашей системы сборки: Delombok Overview.

Для мавена есть пример запуска анализа на delomboked код: Delombok test pom

В каждом случае вы убедитесь, что вы запустили проверку над генерируемой источником.

+0

Удаляет ли Git-вину с тех пор, как издевательский источник не нажал git – user3709525

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