持续集成工具Sonar的使用(二)[ant+sonar]

转载 2012年03月21日 11:24:01

 

上一篇我们讲述了Sonar和Maven的结合来达到代码质量审查的效果,但是由于maven的学习成本高,并不是任何项目都适合,因此本篇我们讲述一下如何通过Sonar和ant的结合来进行代码质量审查。
 
目前来说,Sonar和Ant的集成没有做到Sonar和Maven的集成这么好,因此在使用过程中需要多写一些脚本。我们下面来介绍一下使用步骤吧:
  1、下载Sonar并解压到任何目录,注意目录中不允许有中文;
  2、点击bin\windows-x86-32\StartSonar.bat启动Sonar;
  3、下载一个ant插件:sonar-ant-task-1.1.jar,并存放到某个路径,ant脚本需要访问这个文件。
  4、编写一个ant脚本,如下:

<?xml version="1.0" encoding="UTF-8" ?>

<project name="framework-client" default="sonar" basedir=".">
  
 <property name="project.name" value="framework-client"/>
 <property name="src.dir" value="${basedir}/src/main/java" />
 <property name="lib.dir" value="${basedir}/lib"/>
 
   <!-- Out-of-the-box those parameters are optional -->
   <!-- EXAMPLE FOR MYSQL    
   <property name="sonar.jdbc.url"
        value="jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8" />
   <property name="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />
   <property name="sonar.jdbc.username" value="sonar" />
   <property name="sonar.jdbc.password" value="sonar" />
   -->

   <!-- SERVER ON A REMOTE HOST -->
   <!--
   <property key="sonar.host.url" value="http://myserver:1234" />
   -->
 
   <!-- Define the Sonar task if this hasn't been done in a common script -->
   <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
     <classpath>
       <pathelement location="${lib.dir}/sonar-ant-task-1.1.jar"/>
     </classpath>
   </taskdef>
  
   <!-- Add the target -->
   <target name="sonar">
     <!-- list of mandatories Sonar properties -->
     <property name="sonar.sources" value="${src.dir}" />
    <property name="sonar.projectKey" value="org.example:${project.name}" />

     <!-- list of optional Sonar properties -->
    <!--
     <property key="sonar.projectName" value="this value overrides the name defined in Ant root node" />
     <property key="sonar.binaries" value="list of directories which contain for example the Java bytecode" />
     <property key="sonar.tests" value="list of test source directories separated by a comma" />
     <property key="sonar.libraries" value="list of paths to libraries separated by a comma (These libraries are for example used by the Sonar Findbugs plugin)" />
    -->
    
     <sonar:sonar key="${sonar.projectKey}" version="0.9" xmlns:sonar="antlib:org.sonar.ant"/>

    </target>
</project>

  5、运行ant脚本,看到build successfully的提示后,就可以访问:http://localhost:9000/来查看代码质量审查结果了。

上述是使用Sonar和ant最简单的步骤,用了Sonar自带的嵌入式数据库Derby,以及standalone的应用服务器,当然也支持使用其它数据库,比如:mysql,只要修改一下sonar.properties的配置文件,以及在ant脚本中配置一下连接数据库的方式。另外也可以使用tomcat、jboss等应用服务器来发布Sonar应用,只要运行一下Sonar自带的一个脚本:build-war.bat就可以了,这里不再详述。

Sonar入门(三): Ant集成Sonar

Sonar也支持ant工程的构建,但是相对于maven而言,最大的不足是无法在分析过程中产生单测覆盖率报告。因此要求用户在ant项目中配置好cobertura/jacoco报告,最后执行sonar构建...

sonar ant+jacoco 编译测试并出具测试代码覆盖率报告

将如下内容 保存为一个 buildx.xml 文件. 选择该xml文件,  右键选择, run as , ant build...  ,  选择 all 1.  clean 2.  in...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

ant学习笔记—自定义Ant任务

作为现在Java构建工具中事实上的标准,Ant被设计成可以通过Java类进行扩展,而且只需要很少的Java代码,就可以编写一个新的Ant任务。其实编写一个 Ant任务非常简单,只需要编写一个带有一个e...

sonarQube的配置和使用(在本地安装)

条件: 1.已安装JAVA环境 2.已安装有PostgreSQL数据库一.下载下载地址:http://www.sonarqube.org/downloads/我下载的是5.3下载好后,解压,放到你...

使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

前言     上一篇随笔介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nexus私服,供其他模块引用。下面将主要介绍如何利用...

Jenkins-sonar持续集成使用文档

  • 2015年09月19日 11:11
  • 359KB
  • 下载

使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

前言     上一篇随笔介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nexus私服,供其他模块引用。下面将主要介绍如何...
  • limm33
  • limm33
  • 2016年11月14日 13:41
  • 582

使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

前言     但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子。假如一个项目,由A、B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端。...

Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:持续集成工具Sonar的使用(二)[ant+sonar]
举报原因:
原因补充:

(最多只允许输入30个字)