sonar ant build.xml文件,用于运行Java项目的默认Sun检查

时间:2011-08-24 10:19:28

标签: ant sonarqube

我是SONAR的初学者,我只需要一个示例ant构建文件的帮助,用于运行我的Java项目名称'Hello World',使用SONAR的默认Sun检查质量配置文件。我没有找到任何适当的ant指南对于声纳。我使用的是SONAR 2.10。

请帮助我开始使用SONAR。

<project name="Example" default="Sonar" basedir=".">
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
 <classpath path="C:\Program Files\Apache Software Foundation\ant\lib\sonar-ant-task-1.0.jar" />
</taskdef>
<!-- Out-of-the-box those parameters are optional -->
<property name="sonar.jdbc.url" value="jdbc:mysql://localhost:3309/sonar" />
<property name="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />
<property name="sonar.jdbc.username" value="root" />
<property name="sonar.jdbc.password" value="root" />
<!-- Additional Sonar configuration (PMD need 1.5 when using annotations)-->
<property name="sonar.java.source" value="1.5"/>
<property name="sonar.java.target" value="1.5"/>
<property name="sonar.projectName" value="Example"/>
<property name="sonar.binaries" value="C:\Documents and   Settings\tausif\Feature2\Example\bin"/>
 <!-- SERVER ON A REMOTE HOST -->
<property name="sonar.host.url" value="http://localhost:8080/sonar" />
<target name="Sonar">
<!-- The workDir directory is used by Sonar to store temporary files -->
<sonar:sonar workDir="C:\Documents and Settings\tausif\Feature2\Sonar" key="com.example:example"  xmlns:sonar="antlib:org.sonar.ant" >
  <!-- source directories (required) -->
  <sources>
    <path location="C:\Documents and Settings\tausif\Feature2\Example" />
  </sources>
</sonar:sonar>
</target>
</project>

以上两个答案对我来说非常有帮助,可以创建这个xml文件。 这是我的示例build.xml。你能检查我在里面缺少什么吗? 我将Sun检查作为默认值。我的项目名称是Example。

2 个答案:

答案 0 :(得分:1)

您可能会发现this Sonar 2.6:为Ant社区添加持续检查支持)或this使用Ant任务1.0进行分析)文档很有帮助。

答案 1 :(得分:1)

您可以参考以下特定于声纳的蚂蚁脚本。 您可以在build.xml中添加它。 以下是包含详细信息的脚本

<!-- Here you need to set the path which contains sonar specific jars required for ant  e.g. path which contains sonar-ant-task-2.1.jar -->
<path id="sonar.classpath">
    <fileset dir="${basedir}/sonar" includes="**/*.jar" />
</path>

<!-- This taskdef represents your ant lib for sonar you have to specify jar location along with jar name in class path no need to change the uri and resource-->
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
        <classpath path="${basedir}\sonar\sonar-ant-task-2.1.jar" />
</taskdef>

<!-- This is the target we use to run sonar "depends" property is optional -->
<target name="sonar" depends="clean, compile">
            <!-- specify your build version -->  
    <property name="build.version" value="0.0.0.1-Sonar"/>

            <!-- specify your organization name its optional --> 
    <property name="mysonar.organizationName" value="XYZ"/>

            <!-- specify your project Name --> 
    <property name="sonar.projectName" value="${project.name}" />

            <!-- database url which is used by the sonar -->
    <property name="sonar.jdbc.url" value="jdbc:mysql://<IP>:<Port>/sonar?useUnicode=true&amp;characterEncoding=utf8" />

            <!-- Driver name-->
    <property name="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />

            <!-- database user name --> 
    <property name="sonar.jdbc.username" value="test" />

            <!-- database password -->
    <property name="sonar.jdbc.password" value="test" />

            <!-- url on which sonar is running-->
    <property name="sonar.host.url" value="http://<IP>:<Port>" />

             <!-- project key -->
     <property name="sonar.projectKey" value="${mysonar.organizationName}:${sonar.projectName}" />

             <!-- project version--> 
     <property name="sonar.projectVersion" value="1.0" />

            <!-- location source files --> 
    <property name="sonar.sources" value="${src.home}/main/java" /> 

            <!-- location of binaries after compilation--> 
    <property name="sonar.binaries" value="${basedir}/output"/>

            <!-- location of sonar library-->  
    <sonar:sonar xmlns:sonar="antlib:org.sonar.ant">

    </sonar:sonar>
</target>

注意:确保您指定的位置正确,您也可以给出绝对路径。