Gradle запуск checkstyle только на измененных файлах

Feb 9, 2020 10:34 · 158 words · 1 minute read gradle ci jenkins

В одной из предыдущих статей мы уже рассматривали настройку плагина checkstyle для статического анализа кода на языке Java, однако теперь требования усложнились - необходимо проводить анализ только действительно измененных файлов, а не всего содержимого проекта. Давайте разберемся!

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

Для решения задачи создадим отдельную gradle-задачу:

Здесь с помощью утилиты git мы получаем список всех измененных файлов (кроме удаленных), отбираем из полученного списка только те, которые имеют расширение .java и, с помощью параметра “include” включаем их в список файлов для статического анализа плагином checkstyle. Если же у нас нет ни одного измененного java-файла в проекте, то параметром “exclude” исключаем все файлы и не проводим анализ изменений.

Конечно же, данную задачу можно выполнять и в процессе CI с созданием комментариев к пуллреквесту на github (как это сделать в Jenkins читайте здесь).

tweet Share