Thursday, November 29, 2012

ant build with junit my code


<project name="" default="" basedir=".">

<property file="environment.properties" prefix="env" />
<property file="build.properties" prefix="build" />
<property name="root" location="${basedir}/WebContent" />
<path id="classpath">
<fileset dir="${env.web-inf.lib.dir}" includes="*.jar"/>
<fileset dir="${env.build.lib.dir}" includes="*.jar"/>
<fileset dir="${env.web-inf.lib.dir}" includes="*.zip"/>
<pathelement path="${env.classes.dir}"/>
</path>

<target name="clean-war-directory">
<delete dir="${env.war.base.dir}"/>
</target>

<target name="create-war-directory" depends="clean-war-directory">
<mkdir dir="${env.war.web-inf.dir}"/>
<mkdir dir="${env.war.jsp.dir}"/>
<mkdir dir="${env.war.tag.dir}"/>
<mkdir dir="${env.war.classes.dir}"/>
<mkdir dir="${env.war.lib.dir}"/>
<mkdir dir="${env.war.conf.dir}"/>
<mkdir dir="${env.war.css.dir}"/>
<mkdir dir="${env.war.images.dir}"/>
<mkdir dir="${env.war.javascript.dir}"/>
<mkdir dir="${env.war.src.dir}"/>
<mkdir dir="${env.war.meta-inf.dir}"/>
<mkdir dir="${env.war.flows.dir}"/>
</target>

<target name="create-bin-directory">
<mkdir dir="${env.classes.dir}"/>
</target>

<target name="copy-war-files-into-directory" depends="">
<copy todir="${env.war.jsp.dir}" preservelastmodified="true" overwrite="true">
<fileset dir="${env.jsp.dir}" includes="**/*.jsp"/>
<fileset dir="${env.jsp.dir}" includes="**/*.inc"/>
</copy>
   <copy todir="${env.war.tag.dir}" preservelastmodified="true" overwrite="true">
<fileset dir="${env.tag.dir}" includes="**/*.tag"/>
</copy>
<copy todir="${env.war.images.dir}" overwrite="true">
<fileset dir="${env.images.dir}" includes="**/*"/>
</copy>
<copy todir="${env.war.css.dir}" overwrite="true">
<fileset dir="${env.css.dir}" includes="**/*.css"/>
</copy>
<copy todir="${env.war.javascript.dir}" overwrite="true">
<fileset dir="${env.javascript.dir}" includes="**/*"/>
</copy>
<copy todir="${env.war.web-inf.dir}" overwrite="true">
<fileset dir="${env.web-inf.dir}" includes="*.*"/>
</copy>
<copy todir="${env.war.meta-inf.dir}" overwrite="true">
<fileset dir="${env.meta-inf.dir}" includes="**/*"/>
</copy>
<copy todir="${env.war.lib.dir}" overwrite="true">
<fileset dir="${env.web-inf.lib.dir}" includes="**/*.class"/>
</copy>
<copy todir="${env.war.conf.dir}" overwrite="true">
<fileset dir="${env.conf.dir}" includes="**/*.xml"/>
</copy>
<copy todir="${env.war.flows.dir}" overwrite="true">
<fileset dir="${env.flows.dir}" includes="**/*"/>
   </copy>
<copy todir="${env.war.classes.dir}" overwrite="true">
<fileset dir="${env.classes.dir}" includes="**/*.class"/>
<fileset dir="${env.source.dir}" includes="**/*.properties"/>
</copy>
<copy todir="${env.war.src.dir}" overwrite="true">
<fileset dir="${env.source.dir}" includes="**/*.java"/>
</copy>
<copy todir="${env.war.lib.dir}">
<fileset dir="${env.web-inf.lib.dir}">
<include name="*.jar"/>
</fileset>
</copy>
<copy todir="${env.war.base.dir}" preservelastmodified="true" overwrite="true">
<fileset dir="${env.welcomefile.dir}" includes="*.jsp"/>
</copy>
</target>

<target name="compile" depends="create-war-directory,create-bin-directory">
    <javac source="1.6" destdir="${env.classes.dir}" classpathref="classpath" debug="true" optimize="false">
<src path="${env.source.dir}"/>
</javac>
  </target>
  <target name="create-manifest">
  <tstamp>
      <format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" />
  </tstamp>
  <manifest file="${root}/META-INF/MANIFEST.MF">
  <attribute name="App-Name" value="${env.app.name}"/>
  <attribute name="Built-Timestamp" value="${TODAY}"/>      
  <attribute name="Built-Date" value="${env.build.date}"/>
  <attribute name="Built-By" value="${env.user.name}"/>
  <attribute name="Implementation-Version" value="${env.build.version}"/>
     <attribute name="Issue-fixed" value="${env.issue.fixed}"/>
  </manifest>
  <echo message= "Manifest Updated" />
  </target>
<target name="create-war" depends="compile,create-manifest,copy-war-files-into-directory,test,delete-test-class">
<war basedir="${env.war.base.dir}" webxml="${env.web-inf.dir}/web.xml" destfile="${build.war.file}" manifest="${env.war.meta-inf.dir}/MANIFEST.MF">
<exclude name="WEB-INF/lib/servlet-api-2.3.jar"/>
<exclude name="WEB-INF/lib/jaxb-api-2.1.jar"/>
<exclude name="WEB-INF/lib/jaxb-impl-2.1.7.jar"/>
<exclude name="WEB-INF/lib/xercesImpl.jar"/>
</war>
</target>
<target name="create--war" depends="create-war">
<delete dir="${env.war.base.dir}"/>
<delete dir="${env.classes.dir}"/>
</target>

<property name="testdir" location="test" />
<property name="full-compile" value="true" />
<path id="classpath.test">
<fileset dir="${env.web-inf.lib.dir}" includes="*.jar"/>
<fileset dir="${env.build.lib.dir}" includes="*.jar"/>
  <pathelement location="${env.test.classes.dir}" />
  <pathelement location="${env.classes.dir}" />
 </path>
 <target name="clean-test" >
 <delete verbose="${full-compile}">
  <fileset dir="${testdir}" includes="**/*.class" />
 </delete>
 </target>
 <target name="compile-junit" depends="clean-test">
  <javac source="1.6" srcdir="${testdir}" destdir="${env.test.classes.dir}" >
  <classpath refid="classpath.test"/>
  </javac>
 </target>
 <target name="test" depends="compile-junit">
 <junit haltonfailure="yes" >
<classpath refid="classpath.test" />
<formatter type="brief" usefile="false" />
<batchtest>
<fileset dir="${testdir}">
<include name="**/*Test*.java"/>
</fileset>
</batchtest>
 </junit>
 </target>
<target name="delete-test-class">
 <delete verbose="${full-compile}">
 <fileset dir="${testdir}" includes="**/*.class" />
 </delete>
</target>


</project>

No comments:

Post a Comment