歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用sonar-ws-client獲取違規數、代碼行數

使用sonar-ws-client獲取違規數、代碼行數

日期:2017/2/28 13:59:59   编辑:Linux教程

sonar是開源的質量管理工具。 違規數、代碼行數是sonar質量度量(Measure)的兩個指標(Metric)。 sonar-ws-client是sonar webservice的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

Sonar 的詳細介紹:請點這裡
Sonar 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved