Sonarqube规则插件自定义(sonar-pmd-p3c)
时间:2023-07-20 12:07:00
由于Sonarqube扫描规则只能打包jar形式可以输入和使用,界面自定义规则功能尚未支持,因此需要实现扫描规则自定义。
我们以sonar-pmd-p3c以插件为例,首先需要下载sonar-pmd-p3c插件源码
GitHub - caowenliang/sonar-pmd-p3c: sonarQube 整合 阿里p3c
以下是sonar我们添加规则自定义步骤PMD规则中bestpractices.xml的Avoid StringBuffer Field规则为例
1.有三个文件需要修改。
sonar-pmd-plugin/src/main/resources/org/sonar/plugins/pmd/rules.xml
sonar-pmd-plugin/src/main/resources/org/sonar/|10n/pmd.properties
sonar-pmd-plugin/src/main/resources/com/sonar/sqale/pmd-model.xml
2、接着在rules.xml添加以下配置。priority是设置该规则的级别,status是设定规则的状态(决定是否废弃或使用)
3、然后在pmd-model.xml添加以下配置
4、接着在pmd.properties添加以下配置
最后还需要在那里sonar-pmd-plugin/src/main/resources/org/sonar/|10n/pmd/rules/pmd/在路径下创建该规则对应的规则html显示前端页面规则描述的文件(注:文件名与规则名匹配)
6.修改后,重新包装并储存在中/extensions/plugins/在路径下,重启sonar即可(注意不要使用root权限重启)
7.需要注意的是,规则的添加还需要考虑其支持的版本。