SonarQube 自定义规则开发
满足一些特定需求的时候,需要自己开发代码规则。
环境
和前文的演示环境一致。
步骤
开发步骤见 Writing Custom Java Rules 101,这是官方提供的 sonar-java 下面的指导文档,简述了怎么开发一个 Java 自定义规则。
文章的开始,给了一个模板地址 java-custom-rules,可以看到这个项目下还有别的语言模板。
把模板下载到本地,开发在 Windows 下面完成
F:\workspace\java-custom-rules
编译
mvn clean package
把生成的文件放在 $SONAR_HOME/extensions/plugins 目录,重启 SonarQube,可以看到 Java 下面多了 MyCompany Custom Repository 仓库,下面有新增的规则。
注意:想要看到这个效果必须已经安装 SonarJava 插件。
我们已经看到了自定义规则,接下来添加一个自定义检查规则,按照文档一步一步走,最终我们添加/修改了以下代码
创建 F:\workspace\java-custom-rules\src\test\files\MyFirstCustomCheck.java 文件,用于单元测试,这将是被扫描的代码
class MyClass {
MyClass(MyClass mc) { }
int foo1() { return 0; }
void foo2(int