本地代码-gitlab-sonar一条龙(4)-[sonar-p3c-pmd]

目录

0、前言

1、构建 sonar-p3c plugin插件

1.1、方法一(存在版本对应问题)

1.2、方法二(建议使用)

2、添加规则案例

2.1、新建rules-p3c.xml文件

2.2、在PmdRulesDefinition类中指定一下rules-p3c.xml 路径 

2.3、在 pmd.properties中添加

2.4、在 rules-p3c.xml中添加 

2.5、在pmd-model.xml中添加

2.6、添加描述文件 

 2.7、通过message.xml修改描述内容

2.8、重新打包sonar-p3c-pmd

2.9、其他


0、前言

各插件关系:

下载地址:

p3c-pmd:https://github.com/alibaba/p3c

soanr-pmd-p3c:

https://github.com/rhinoceros/sonar-p3c-pmd
https://github.com/caowenliang/sonar-pmd-p3c(用这个)

1、构建 sonar-p3c plugin插件

目的:在sonarqube中加入p3c的校验规则

1.1、方法一(存在版本对应问题)

构建源码地址:

https://github.com/rhinoceros/sonar-p3c-pmd/

我选择的3.1.3分支,sonarque版本选的是

  • Community Edition
  • 版本 7.9.6 

 PMD是啥意思

1.2、方法二(建议使用)

SonarQube版本:SonarQube7.6
JDK版本:1.8 

SonarQube7.6确认可用插件:https://github.com/caowenliang/sonar-pmd-p3c

step1:构建代码:

>git clone https://github.com/caowenliang/sonar-pmd-p3c
>cd sonar-pmd-p3c
>mvn clean install -Dmaven.test.skip=true 

将构建好的插件sonar-pmd-plugin-xxx.jar放到SonarQube的插件目录extensions/plugins下

step2:重启 SonarQube,在 Quality Profiles【质量配置】页面点击Create:
Name【名称】自己填
Language【语言】选Java,点击Create按钮后,跳转到质量配置详情界面。

 step3:在详情界面,点击 Activate more【更多激活规则】,在 Search for rules...【搜索规则...】中搜索p3c,然后点击 Bulk Change【批量修改】,确认Apply。

 step4:返回到 Quality Profiles【质量配置】页面,将该质量配置 Set as Default【设为默认】。

2、添加规则案例

一条校验规则对应分别对应3个配置文件:

1、pmd.properties (src\main\resources\org\sonar\l10n\)

2、rules.xml(src\main\resources\org\sonar\plugins\pmd\)

3、pmd-model.xml (src\main\resources\com\sonar\sqale\)

参考:https://www.jianshu.com/p/b849175dd38b

参考文档中建议:首先注释掉pmd中原默认的268条规则

以下演示怎么添加p3c规则:

2.1、新建rules-p3c.xml文件

2.2、在PmdRulesDefinition类中指定一下rules-p3c.xml 路径 

接下来开始添加具体的阿里规则 (CommentsMustBeJavadocFormatRule为例):

2.3、在 pmd.properties中添加

2.4、在 rules-p3c.xml中添加 

 

2.5、在pmd-model.xml中添加

2.6、添加描述文件 

内容来自【p3c-pmd】对应xml 用于错误详情页面的展示:

 2.7、通过message.xml修改描述内容

在【p3c-pmd】中修改

 然然后将p3c-pmd打包,装到本地仓库 mvn clean install -Dgpg.skip

2.8、重新打包sonar-p3c-pmd

重新打包sonar-p3c-pmd工程,将打好的jar包放到sonarqube的 ..\extensions\plugins目录下,重启sonarqube

2.9、其他

 如果想修改pmd插件在sonarqube中的插件显示名,可以修改 sonar-p3c-pmd 工程中的PmdConstants类  Sring REPOSITORY_NAME 名字即可

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值