Как ограничить SonarLint анализом только определенных модулей в проекте?

Я пытаюсь внедрить плагин SonarLint в свою IntelliJ IDE. У нас довольно большая кодовая база, и при запуске сканирования всех проектов SonarLint в конечном итоге занимает много времени. уверен, как это сделать.

Я попытался использовать следующие свойства в своих свойствах анализа SonarLint.

sonar.projectKey com.ttt.etrde.apps.servicemanager sonar.projectKey H:\Source\new_folder\ets\parent\services\svcmgr

но тем не менее Sonar заканчивает тем, что сканирует весь проект, начиная с уровня ets.


person Sameer    schedule 25.05.2017    source источник
comment
Основной вариант использования SonarLint — поиск новых проблем в файлах, с которыми вы работаете. Зачем анализировать целые модули в SonarLint?   -  person G. Ann - SonarSource Team    schedule 25.05.2017
comment
@ G.Ann-SonarSourceTeam Поскольку мы только начали внедрять SonarQube и SonarLint, одна из причин заключается в том, что мы не получаем отчеты по конкретным модулям в нашей реализации SonarQube, они расположены в алфавитном порядке для всего проекта, и мы охватываем более 2 миллионов строк код. Нам нужно сообщить конкретным командам, что не так с их кодом. Вторая причина заключается в том, что полезно знать, какие ошибки существуют в коде, который еще не был проанализирован. Я вижу, у нас есть возможность сканировать текущий файл и возможность сканировать весь проект, но нет опции для данного модуля.   -  person Sameer    schedule 25.05.2017
comment
в идеале вы должны отредактировать свой вопрос, чтобы включить эти детали.   -  person G. Ann - SonarSource Team    schedule 25.05.2017


Ответы (1)


TL;DR: Вы не можете

Длинный ответ: вы не найдете способа ограничить анализ SonarLint одним модулем, потому что он не предназначен для этого.

  • Основной вариант использования SonarLint — поиск новых проблем в коде, над которым вы работаете, по мере его ввода. Это происходит автоматически.
  • Вторичный вариант использования — увидеть существующие проблемы в файлах, над которыми вы работаете, чтобы вы могли исправить их, пока вы это делаете. Это автоматически отображается на вкладке «Текущий файл» SonarLint.
  • Третьим вариантом использования является двойная проверка файлов в вашем наборе коммитов, прежде чем вы их коммитите. Это видно на вкладке «Файлы проекта».
  • На очень далеком 4-м месте «Ну и дела, интересно, есть ли другие проблемы в моем проекте».

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

Нам нужно сообщить конкретным командам, что не так с их кодом.

Учитывая, что разные команды отвечают за разные модули, лучше всего использовать возможности детализации SonarQube для просмотра домашних страниц модулей. Для этого перейдите на страницу кода проекта и используйте значок «ссылка» модуля.

введите здесь описание изображения

чтобы перейти на домашнюю страницу этого модуля. Там вы можете увидеть все те же данные, что и для проекта. Затем это становится тем, куда идут отдельные команды.

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

На домашней странице модуля у вас есть те же детализированные списки проблем, которые доступны на домашней странице проекта.

person G. Ann - SonarSource Team    schedule 25.05.2017
comment
Вы не очень отличается от вы не можете, вы подразумеваете, что мы не можем этого достичь или мы не должны этого делать? Причина, по которой я спрашиваю, заключается в том, что наша команда инфраструктуры SonarQube не может реализовать фильтр на уровне модуля. Есть ли место, где мы можем посмотреть пример файла Analyze Properties, чтобы мы могли хотя бы заставить SonarQube работать в POC! - person Sameer; 25.05.2017
comment
Оба, на самом деле. Что вы имеете в виду, не в состоянии достичь фильтра уровня модуля? Добиться где? Как? - person G. Ann - SonarSource Team; 25.05.2017