1

我是 SONAR 的初学者,我只需要一个示例 ant 构建文件的帮助,以使用 SONAR 的默认 Sun 检查质量配置文件运行我的 java 项目名称“Hello World”。我还没有在任何地方找到任何适合声纳的 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。

4

2 回答 2

1

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

于 2011-08-24T10:46:45.947 回答
1

您可以参考下面特定于声纳的 ant 脚本。您可以将它添加到您的 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>

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

于 2014-04-08T05:18:53.040 回答