zoukankan      html  css  js  c++  java
  • sonar插件实战

      上次提到了一些sonar扩展的基本原理。这里是上次提到的插件的地址在这里:https://github.com/cui-liqiang/sonar-mantra

      现在已经做成了可配置的方式,不过配置的方式还很techi,需要修改jar包中的一个文本文件以及潜在的修改一些java文件。

      其作用简单描述一下:对于某一个分析的指标(比如测试覆盖率),我指定一个阈值(比如80%)。如果某次运行的测试覆盖率小于这个值,那么我就会检查这次的值是否比上次分析成功的时候小了,如果小了,那么就让这次分析失败,从而可以触发相关构建的失败。

      代码库中有一个文本文件用来做配置,一个可能的配置如下:

    coverage,80
    violations_density,80

      这个的意思就是我要检查coverage,阈值是80%。同时我也要检查violations_density,阈值也是80%。注意这里的这些值都是跟数据库里面存的那些值对应的,这些检查项也是跟数据库字段对应的。比如coverage在数据库里面存的就是80,而不是80%。这也是为什么我说这种配置方式很techi。在添加新的一个检查项的同时,需要实现一个继承于DeltaMeasure的新类,来指定失败条件(因为不是所有检查项都是值下降就是失败)。

      每次构建的历史记录并没有保存在数据库里面,因为并没有相应的字段存放。所以我放到了$SONAR_HOME/extentions/plugins/里面,当然需要指定SONAR_HOME这个环境变量才行。

          上个图看看效果:

      一个典型的maven工程,下面是build配置。

      因为把测试删掉,build失败的样子:

  • 相关阅读:
    转:深入 AngularUI Router
    angularJS $scope的$apply方法实现model刷新
    CSS 如何让 height:100%; 起作用
    【AngularJs】---$sce 输出Html
    angular 组件之间传值
    kendo Grid 列添加自定义模板
    关于“内控点”
    关于总结
    咏春
    一只老鼠夹
  • 原文地址:https://www.cnblogs.com/cuiliqiang/p/2757871.html
Copyright © 2011-2022 走看看