首页 > 编程语言 >Sonarqube 自定义规则,部署SonarSource / sonar-java源码中示例规则:docs/java-custom-rules-example

Sonarqube 自定义规则,部署SonarSource / sonar-java源码中示例规则:docs/java-custom-rules-example

时间:2024-08-19 10:06:56浏览次数:12  
标签:插件 java 自定义 sonarqube 规则 SonarQube

自定义规则,可以参考sonar-java/docs/CUSTOM_RULES_101.md at 8.0.0.36314 · SonarSource/sonar-java · GitHub

1、下载一份sonarqube源码,配置好本地的环境,JDK17和maven

docs/java-custom-rules-example 示例项目中会有写好的规则;我们可以先尝试将这些写好的规则添加到Sonarqube扫描中;

 

2、在项目的readme文件中,编译整个项目需要使用JDK21;

     编译打包单个项目也就是java-custom-rules-example可以用JDK17

 3、进入idea控制台,进行编译

 4、编译成功后,jar会在target文件夹下

下载安装sonarqube,参考教程:sonarqube-9.9.6.92038 安装与启动 , Windows11 - yxchun - 博客园 (cnblogs.com)

5、将打包好的jar放在extensions\plugins下

 6、重启sonarqube,

关闭sonarqube时,可以尝试kill掉任务栏中所有Java进程

 在sonarqube日志中可以看到Load plugins,加载了插件,并且没有报错

 输入网址查看插件与规则,MyCompany Custom Repository 里面是java-custom-rules-example项目示例中的默认规则

 接下来我将告诉你MyCompany Custom Repository名字是在哪里定义的? 

 右侧9条规则名称是在哪里定义的?

 

 接下来我将告诉你规则如何定义,如何实现?

首先先整体看一下

MyJavaRulesPlugin 实现 Plugin 接口的作用是定义一个 SonarQube 插件的基本结构。实现 Plugin 接口允许你创建和注册自定义插件,以扩展 SonarQube 的功能。这个接口使你能够添加自定义规则、分析器、报告生成器或其他功能到 SonarQube 平台。 MyJavaRulesDefinition.java 定义规则;它主要用于在 SonarQube 插件中创建和管理代码质量规则。实现 RulesDefinition 接口允许你将自定义的规则集整合到 SonarQube 中,使得这些规则可以在代码分析过程中被应用。 MyJavaFileCheckRegistrar.java注册自定义的代码检查规则。它允许你将自定义规则添加到 SonarQube 扫描器中,以便在分析代码时使用这些规则; RulesList 是用来显示和管理所有定义的规则的组件

 接下来如何在sonarqube使用这些规则?

 

标签:插件,java,自定义,sonarqube,规则,SonarQube
From: https://www.cnblogs.com/ychun/p/18366653

相关文章