文档章节

使用sonar-ws-client获取违规数、代码行数

donhui
 donhui
发布于 2014/08/13 11:16
字数 277
阅读 633
收藏 6

sonar是开源的质量管理工具。

违规数、代码行数是sonar质量度量(Measure)的两个指标(Metric)。

sonar-ws-client是sonar web service的java实现。


使用sonar-ws-client获取违规数、代码行数,demo如下:

public class SonarDemo {
    static String host = "http://xxx:9000";
    static String username = "xxx";
    static String password = "xxx";
    static String resourceKey = "org.codehaus.sonar:sonar-ws-client";
    static String[] MEASURES_TO_GET = new String[] { "violations", "lines" };

    public static void main(String[] args) {
        DecimalFormat df = new DecimalFormat("#.##");
        //创建Sonar
        Sonar sonar = new Sonar(new HttpClient4Connector(new Host(host, username, password)));
        //执行资源请求
        ResourceQuery query = ResourceQuery.createForMetrics(resourceKey, MEASURES_TO_GET);
        query.setIncludeTrends(true);
        Resource resource = sonar.find(query);
        // 循环遍历获取"violations", "lines"
        List<Measure> allMeasures = resource.getMeasures();
        for (Measure measure : allMeasures) {
            System.out.println((measure.getMetricKey() + ": " + 
            df.format(measure.getValue())));
        }
    }
}

pom文件dependency如下:

<dependency>
  <groupId>org.codehaus.sonar</groupId>
  <artifactId>sonar-ws-client</artifactId>
  <!-- 推荐使用和SonarQube server相同的版本-->
  <version>4.3</version>
</dependency>
<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.3.4</version>
</dependency>


更多sonar metric请查看官方文档:http://docs.codehaus.org/display/SONAR/Metric+definitions

参考:http://docs.codehaus.org/display/SONAR/Using+the+Web+Service+Java+client


© 著作权归作者所有

donhui

donhui

粉丝 51
博文 88
码字总数 42327
作品 2
杭州
其他
私信 提问
SonarQube 5.4 发布,代码质量分析系统

SonarQube 5.4 发布了,Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/...

oschina
2016/03/10
1K
0
SonarQube 5.6.1 发布

SonarQube 5.6.1 发布了,Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、P...

oschina
2016/07/28
1K
0
Sonar 2.8 发布,代码质量管理平台

Sonar是一个开源平台,用于管理Java源代码的质量。从 Sonar 1.6 版本开始,Sonar从一个质量数据报告工具,转变成为现在的代码质量管理平台。 Sonar 2.8 主要改进内容包括: 1. 手工的代码评审...

红薯
2011/05/28
935
1
SonarQube 4.5.6 LTS 发布,代码质量管理平台

SonarQube 4.5.6 (LTS) 发布,此版本主要是 bug 修复,同时清理 SQALE 模块。 改进列表: Bug 修复 [SONAR-6375] - When the syntax highlightning is off, the component viewer show unesc......

oschina
2015/10/17
954
1
SonarQube 5.6.2 发布,代码质量管理平台

SonarSource发布了SonarQube 5.6.2(LTS)。Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、...

局长
2016/09/20
840
0

没有更多内容

加载失败,请刷新页面

加载更多

VMware vSphere ESXi主机的访问控制

在vShpere中,访问ESXi主机的途径很多,如下: ESXi DCUI ESXi Shell ESXi SSH ESXi Host Client vCenter --> vSphere web client / vSphere Client VMware vSphere ESXi主机的访问控制,除了......

大别阿郎
36分钟前
4
0
大神讲解CGI、FastCGI和PHP-FPM关系图解

参考资料 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM:http://www.nowamagic.net/librarys/veda/detail/1319 php中fastcgi和php-fpm是什么东西:https://www.zybuluo.com/phper/note/50231 ......

网络小虾米
45分钟前
4
0
《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全

引言 前两讲我们介绍了 DNS 相关的攻击类型,以及针对 DDoS 攻击的防范措施。这些都是更底层的知识,有同学就来问能否讲讲和我们的日常操作相关的知识点,今天我们就来说说和我们日常 DNS 操...

Mr_zebra
46分钟前
4
0
zk中ServerCnxn

实现接口Stats, Watcher 内部类 DisconnectReason CloseRequestException EndOfStreamException(流关闭) 属性 方法 getSessionTimeout 获取session失效时间 sendResponse 发送回复数据 se......

writeademo
50分钟前
4
0
如何将 Redis 用于微服务通信的事件存储

来源:Redislabs 作者:Martin Forstner 翻译:Kevin (公众号:中间件小哥) 以我的经验,将某些应用拆分成更小的、松耦合的、可协同工作的独立逻辑业务服务会更易于构建和维护。这些服务(也...

中间件小哥
54分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部