Sonarqube

https://www.sonarqube.org/

SonarQube® is an automatic code review tool to detect bugs, vulnerabilities, and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.

Sonar Overview

Rules

Существует несколько способов добавить свои собственные "правила" анализа кода. Для Java это (1) разработка плагина (2) generic issue reports см. https://docs.sonarqube.org/latest/extend/adding-coding-rules/

Разработка плагина. Плагин разрабатывается с использованием API сонара, затем jar подкидывается на сервер, сервер перезапускается. Доступен полный функционал. Generic issue report. До сканирования формируется специальный отчет и отправляется вместе с исходниками на сканирование (см. параметры https://docs.sonarqube.org/latest/analysis/external-issues/). Отчет может быть сформирован библиотекой или вручную.

Существует 3й способ - создание "правил" через "шаблоны" (см. https://docs.sonarqube.org/latest/user-guide/rules/). Шаблоны правил предоставляются плагинами, которые устанавливаются через Marketplace или разрабатываются вручную. В Marketplace есть плагины, которые добавляют новые правила, например - Checkstyle rules for Java (https://github.com/checkstyle/sonar-checkstyle). Плагины устанавливаются вручную на стороне бекенда сонара (не через веб).