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

原创
2014/08/13 11:16
阅读数 3.8K

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


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
6 收藏
0
分享
返回顶部
顶部