<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
  Copyright (c) 2012 Original authors and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.html
  
  Contributors:
      Original authors and others - initial API and implementation
-->

<!-- 
	Common set of Ant tasks 
	These taks are invoked once for each module, via subant call
-->
<project basedir="." default="build" name="nattable">
	<tstamp />
	
	<property name="datetime.stamp" value="${DSTAMP}${TSTAMP}" />
	
	<property environment="env" />
	
	<!-- Look in the user home for the clipse install. You can override by
		using -DECLIPSE_HOME="xxx" on the command line -->
	<property name="ECLIPSE_HOME" value="${user.home}/eclipse_rcp_3_5" />
	<property name="debuglevel" value="source,lines,vars" />
	<property name="target" value="1.5" />
	<property name="source" value="1.5" />
	<property name="version" value="2.0.0" />

	<!-- src and binaries -->
	<property name="src.dir" value="src" />
	<property name="build.tools.dir" value="../deps/tools" />
	<property name="target.dir" value="target" />
	
	<!-- Class files go here -->
	<property name="build.dir" value="${target.dir}/bin" />
	
	<!-- Jars go here -->
	<property name="dist.dir" value="${target.dir}/dist" />
	<property name="emma.metadata.dir" location="${target.dir}/emma/metadata" />

	<!-- Junit test reports -->
	<property name="junit.reports.dir" value="${target.dir}/reports/junit" />

	<!-- Findbugs reports -->
	<property name="findbugs.report.dir" value="${target.dir}/reports/findbugs" />
	
	
	<!-- Eclipse deps linked off an eclipse RCP install -->
	<filelist id="eclipse.lib" dir="${ECLIPSE_HOME}/plugins">
		<file name="org.apache.commons.lang_2.3.0.v200803061910.jar" />
		<file name="org.apache.commons.logging_1.0.4.v200904062259.jar" />
		<file name="org.eclipse.core.commands_3.5.0.I20090525-2000.jar" />
		<file name="org.eclipse.core.runtime_3.5.0.v20090525.jar" />
		<file name="org.eclipse.equinox.common_3.5.0.v20090520-1800.jar" />
		<file name="org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar" />
		<file name="org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar" />
		<file name="org.eclipse.jface_3.5.0.I20090525-2000.jar" />
		<file name="org.eclipse.equinox.common_3.5.0.v20090520-1800.jar" />
		<file name="org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar" />
		<file name="org.eclipse.osgi_3.5.0.v20090520.jar" />
		<file name="org.hamcrest.core_1.1.0.v20090501071000.jar" />
		<file name="org.junit4_4.5.0.v20090423/junit.jar" />
		<!-- SWT jar names are platform dependent -->
		<file name="org.eclipse.swt_3.5.0.v3550b.jar" />
	</filelist>
	
	<!-- SWT libs, pick up the available SWT jar depending on the platform --> 
	<filelist id="swt.lib" dir="${ECLIPSE_HOME}/plugins">
		<file name="org.eclipse.swt.gtk.linux.x86_3.5.0.v3550b.jar"/>
		<file name="org.eclipse.swt.win32.win32.x86_3.5.0.v3550b.jar"/>
	</filelist>

	<!-- Glazed lists --> 
	<filelist id="glazedlists.lib" dir="../deps/plugins">
		<file name="glazedlists_java15-1.8.0.jar"/>
	</filelist>

	<!-- Setup Emma (code coverage) -->
	<path id="emma.lib">
		<pathelement location="${build.tools.dir}/emma.jar" />
		<pathelement location="${build.tools.dir}/emma_ant.jar" />
	</path>
	<taskdef resource="emma_ant.properties" classpathref="emma.lib" />
	
	<!-- Setup findbugs (static analysis) -->
	<property name="FINDBUGS_HOME" value="${user.home}/findbugs-1.3.9" />
	<path id="findbugs.lib" location="${FINDBUGS_HOME}/lib/findbugs-ant.jar" />
	<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref="findbugs.lib"/>

	<path id="build.classpath">
		<filelist refid="eclipse.lib" />
		<filelist refid="swt.lib" />
		<filelist refid="glazedlists.lib" />
		<path refid="emma.lib" />
		<path refid="build.dependencies" />
	</path>

	<target name="init" description="Create dirs and copy source">
		<mkdir dir="${build.dir}" />
		<mkdir dir="${dist.dir}" />

		<copy includeemptydirs="false" todir="${build.dir}">
			<fileset dir="${src.dir}">
				<exclude name="**/*.launch" />
			</fileset>
		</copy>
	</target>

	<!-- Clean -->
	<target name="clean">
		<echo message="Eclipse home: ${ECLIPSE_HOME}" />
		<echo message="Findbugs home: ${FINDBUGS_HOME}" />
		<delete dir="${target.dir}" />
	</target>

	<!-- 
		Build
			At the conclusion of the build the jars are generated and the class files
			are instrumented for recording coverage
	-->
	<target name="build" depends="init" description="Compile all sources for the module">
		<echo message="Building ${basedir}/${src.dir}" />

		<javac fork="true" memoryInitialSize="128m" memoryMaximumSize="512m" debug="true" verbose="false" 
			debuglevel="${debuglevel}" destdir="${build.dir}" srcdir="${src.dir}" 
			source="${source}" target="${target}">
			<src path="${src.dir}" />
			<classpath>
				<path refid="build.classpath" />
				<pathelement location="${build.dir}" />
			</classpath>
		</javac>

		<!-- 
			Build Jars and insrument for code coverage
				Emma instruments the classfiles in place. Hence the jar need to be
				build before the code is instrumented 
		-->
		<antcall>
			<target name="jar" />
			<target name="srcjar" />
		</antcall>
	</target>

	<!-- Jar -->
	<target name="jar">
		<echo message="Creating jar in ${dist.dir}" />
		<jar jarfile="${dist.dir}/${jar.file.prefix}_${version}.${datetime.stamp}.jar" manifest="${basedir}/META-INF/MANIFEST.MF">
			<fileset dir="${build.dir}">
				<exclude name="**/*.java" />
			</fileset>
			<manifest>
				<attribute name="Build-date" value="${datetime.stamp}"/>
			</manifest>
		</jar>
	</target>

	<!-- Source Jar -->
	<target name="srcjar" unless="no.source.jar">
		<echo message="Creating source jar in ${dist.dir}" />
		<jar jarfile="${dist.dir}/${jar.file.prefix}.source_${version}.${datetime.stamp}.jar" manifest="${basedir}/META-INF/MANIFEST.MF">
			<fileset dir="${build.dir}"/>
			<manifest>
				<attribute name="Build-date" value="${datetime.stamp}"/>
			</manifest>
		</jar>
	</target>

	<!-- Junit Test -->
	<target name="test">
		<echo message="Instrumenting code in ${basedir}" />
		<antcall target="emma.instrument" />
		
		<echo message="Running tests in ${basedir}" />
		<mkdir dir="${emma.metadata.dir}" />
		<mkdir dir="${junit.reports.dir}" />
		<junit printsummary="yes" haltonerror="no" showoutput="true" fork="true">
			<classpath>
				<path refid="build.classpath" />
				<pathelement location="${build.dir}" />
			</classpath>

			<!-- Plug in emma code coverage -->
			<jvmarg value="-Demma.coverage.out.file=${emma.metadata.dir}/coverage.emma" />
			<jvmarg value="-Demma.coverage.out.merge=true" />
			<jvmarg value="-Dosgi.bundlefile.limit=100"/>

			<formatter type="xml" />

			<batchtest todir="${junit.reports.dir}">
				<fileset dir="${build.dir}" includes="**/*Test.class" />
			</batchtest>
		</junit>

		<!-- Create pretty report(s) -->
		<antcall target="junit.report"/>
		<antcall target="findbugs" />
	</target>

	<!-- 
		Emma. Instrument the code for coverage analysis
		Test files are not instrumented. This is truned off by setting the do.not.instrument
		property in the test projects
	-->
	<target name="emma.instrument" unless="do.not.instrument">
		<emma enabled="true">
			<!-- Modifies the class files in place -->
			<instr metadatafile="${emma.metadata.dir}/metadata.emma" 
				merge="true" mode="overwrite">
				<instrpath>
					<pathelement location="${build.dir}" />
				</instrpath>
				<!-- exclude UI classes -->
				<filter  includes="org.eclipse.nebula.widgets.*" excludes="**/*Dialog.class" />
			</instr>
		</emma>
	</target>
	
	<!-- 
		Find Bugs
		Assumes that the jar has been built and is available in the ${dist.dir}
	-->
	<target name="findbugs" unless="do.not.findbugs">
		<echo message="Findbugs home: ${FINDBUGS_HOME}"/>
		<mkdir dir="${findbugs.report.dir}"/>
		<findbugs home="${FINDBUGS_HOME}/lib" output="xml" outputFile="${findbugs.report.dir}/findbugs-output.xml"
			jvmargs="-Xmx256m">
         <class location="${dist.dir}" />
         <auxClasspath refid="build.classpath"/>
         <sourcePath path="${src.dir}" />
      </findbugs>
   </target>

	<!-- JUnit report -->
	<target name="junit.report">
		<junitreport todir="${junit.reports.dir}">
			<fileset dir="${junit.reports.dir}">
				<include name="TEST-*.xml" />
			</fileset>
			<report format="frames" todir="${junit.reports.dir}/html" />
		</junitreport>
	</target>

</project>
