sonar集成ail-p3c插件

背景

《阿里巴巴Java开发手册》自从第一个版本起,倍受业界关注,很多人甚至希望能尽快在自己的团队推行起来,让团队有一套共同的开发准则。基于这套准则,我们希望达到以下两个要求:

1.以插件的形式集成到java的IDE开发环境(IDEA、Eclipse),用于开发人员的代码自检。

2.将该开发规范集成到sonar的规则库,同时和gitlab-ci集成,制定阈值规则,不满足要求,pipline执行失败。

如何实现

插件导入IDE

阿里巴巴开发了一套自动化的IDE检测插件(IDEA、Eclipse), 该插件在扫描代码后,将不符合《手册》的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能。

代码已经开源,GitHub:https://github.com/alibaba/p3c

打开IDEA,选择Preferences - Plugins - Browse repositories后,在输入框中输入"alibaba",可以看到返回结果中有"Alibaba Java Coding Guidelines"。

制作sonar插件

1.在github找到一个p3c的sonar插件开源项目,https://github.com/mrprince/sonar-p3c-pmd,导入工程后,修改规则名org.sonar.plugins.pmd.PmdConstants,REPOSITORY_NAME为规则名称PMD_wwyl。

插件打包:mvn clean package sonar-packaging:sonar-plugin -Dmaven.test.skip=true

2.将生成的插件放到/extensions/plugins

3.重启sonar,需切到非root账号,先启动es服务, ./elasticsearch -d  再启动sonar服务./sonar.sh start

4.查看sonar和es服务日志是否正常

5.sonar规则增加了p3c,完工。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容