Analyse with ANT - a sonar way

After the Javaone conference in Moscow, i have found some free hours to play with Sonar. Here is a quick steps to start analyzing with ANT projects. Sonar provides Analyze with ANT document to play around with ANT, i have just modify some parts.
Here is it.
1) Download the Sonar Ant Task and put it in your ${ANT_HOME}/lib directory
2) Modify your ANT build.xml as follows:
<?xml version = '1.0' encoding = 'windows-1251'?>

<project name="abc" default="build" basedir=".">
 <!-- 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 path="E:\java\ant\1.8\apache-ant-1.8.0\lib" />
 <!-- Out-of-the-box those parameters are optional -->
 <property name="sonar.jdbc.url" value="jdbc:oracle:thin:@xyz/" />
 <property name="sonar.jdbc.driverClassName" value="oracle.jdbc.driver.OracleDriver" />
 <property name="sonar.jdbc.username" value="sonar" />
 <property name="sonar.jdbc.password" value="sonar" />
 <!-- Additional Sonar configuration (PMD need 1.5 when using annotations)-->
 <property name="" value="1.5"/>
 <property name="" value="1.5"/>

 <property name="" value="" />

 <property name="ear.file" value="konfiskat.ear"/>

 <property file=""/>

 <property name="build.dir"    value="build"/>
 <property name="classes.dir"  value="${build.dir}/classes"/>
 <property name="classes2.dir" value="classes"/>
 <property name="deploy.dir"   value="deploy"/>
 <property name="doc.dir"      value="docs"/>
 <property name="jar.dir"      value="${build.dir}/jar"/>
 <property name="lib.dir.1"    value="lib"/>
 <property name="lib.dir.2"    value="${lib.common.dir}"/>
 <property name="lib.dir.3"    value="common_lib"/>
 <property name="lib.dir.4"    value="${jdev.libs.dir}"/>
 <property name="src.dir"      value="src"/>
 <property name="config.dir"   value="${src.dir}/META-INF"/>
 <property name="temp.dir"   value="${src.dir}/temp"/>

 <path id="classpath">
  <fileset dir="${lib.dir.3}" includes="**/*.jar"/>
  <fileset dir="${lib.dir.2}" includes="**/, **/jboss-j2ee.jar"/>
  <fileset dir="${lib.dir.4}" includes="**/*.jar"/>

 <path id="srcpath">
  <pathelement location="${src.dir}"/>
 <!-- Add the target -->
 <target name="sonar">
  <!-- The workDir directory is used by Sonar to store temporary files -->
  <sonar:sonar workDir="${temp.dir}" key="org.example:example" version="0.1-SNAPSHOT" xmlns:sonar="antlib:org.sonar.ant">

   <!-- source directories (required) -->
    <path location="${src.dir}" />

   <!-- binaries directories, which contain for example the compiled Java bytecode (optional) -->
    <path location="${classes.dir}" />

   <!-- path to libraries (optional). These libraries are for example used by the Java Findbugs plugin -->
    <path refid="classpath"/>

 <target name="clean">

 <target name="init" depends="clean"/>

 <target name="compile" depends="init">
  <mkdir dir="${classes.dir}"/>
  <javac destdir="${classes.dir}"
   <src refid="srcpath"/>

 <target name="doc" depends="compile">


 <target name="build" depends="doc">
  <mkdir dir="${jar.dir}"/>
  <jar destfile="${jar.dir}/toOAS.jar">
    <attribute name="Class-Path" value=" xercesImpl.jar"/>
   <metainf dir="${config.dir}">
    <include name="ejb-jar.xml"/>
    <include name="orion-ejb-jar.xml"/>
   <fileset dir="${classes.dir}">
    <include name="**/*.*"/>
   <fileset dir="${src.dir}">
    <include name="*.properties"/>

  <mkdir dir="${deploy.dir}"/>

  <echo file="${jar.dir}/application.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <application> <display-name>ReadMQ</display-name> <module> <ejb>toOAS.jar</ejb> </module> </application>]]>

  <ear destfile="${deploy.dir}/${ear.file}"
   <fileset dir="${jar.dir}" includes="*.jar"/>
   <fileset dir="${lib.dir.2}">
    <include name=""/>
    <include name="xercesImpl.jar"/>


 <target name="all" depends="build"/>

Post a Comment