<!--
build.xml
Author: Christoph Csallner

====================================================================
Testee Ant build file, located in testee root directory
Compiles testee, calls cnc.xml to generate, compile, run, and archive tests.
Adapt properties below to your project and environment settings.
====================================================================
-->

<project name="Mini subjects" default="cnc" basedir=".">
  <description>
		Build and Check 'n Crash testee.
	</description>
	
  <!--Environment-->
	<property name="cnc.version" value="0.8.6"/>
	<property name="cnc.jar" value="c:\lib\cnc-${cnc.version}.jar"/>
	<property name="java.rt.jar" value="c:\bin\jdk-1.4.2_08\jre\lib\rt.jar"/>  <!--ESC/Java needs Java before 1.5-->
  <property name="simplify" value="Simplify-1.5.4.exe"/>
	
  <!--Project-->
	<property name="classpath" value=""/>		
  <property name="src" value="src"/> <!--no backslashes as used as pattern-->
  <property name="bin" value="cnc-bin"/>  <!--generated for classes, which will contain debug information-->
	<property name="test.src" value="cnc-test-src"/>  <!--generated for CnC-generated test case sources-->	
	<property name="test.bin" value="cnc-test-bin"/>  <!--generated for CnC-generated test case sources-->	
	<property name="testee.list.filename" value="testees.txt"/>
	
	<!--Daikon-->
	<!--  -->
	<property name="inferee.exec" value="${bin}"/>  <!--In which directory to execute the existing test suite-->
	<property name="inferee.filename" value="inferee.txt"/>
	<property name="inferee.src" value="${src}"/>
	<property name="modify.pre" value="none"/>   
	<property name="modify.post" value="none"/>


	<!---ESC/CnC-->
	<property name="cnc.params" value="-NPE"/>  <!--CnC specific, like -NPE-->
	<property name="esc.params" value="-ea -source 1.4 -loop 1.5"/>	
	<path id="esc.params.classpath">
		<pathelement location="${java.rt.jar}"/>
		<pathelement location="${cnc.jar}"/> 
		<pathelement path="${classpath}"/>
		<pathelement location="${bin}"/>
	</path>
	<path id="esc.params.sourcepath">
		<pathelement location="${src}"/>
	</path>	
	<path id="esc.params.specs">
		<pathelement location="${cnc.jar}"/>  <!--comment out to ignore JDK specs-->	
		<pathelement location="${src}"/>
	</path>	
	
	
	<!--cnc-->
	<target name="cnc">
		<unjar src="${cnc.jar}" dest=".">
			<patternset includes="use.xml,daikon-config.txt"/>
		</unjar>
		<ant antfile="use.xml" dir=".">
			<reference refid="esc.params.classpath"/>
			<reference refid="esc.params.sourcepath"/>
			<reference refid="esc.params.specs"/>
		</ant>
		<delete>
			<fileset dir="." includes="use.xml,daikon-config.txt"/>
		</delete>
	</target>
	
	<!--clean-->
	<target name="clean"	description="delete all generated files except the archive-bundle">
		<delete dir="${bin}"/>
		<delete dir="${test.src}"/>
		<delete dir="${test.bin}"/>
		<delete>
	  	<fileset dir="${basedir}">  <!--deletes . if nested patternsets omitted-->
	  		<patternset includes="*.chicory.txt,*.cnc.txt,*.daikon.txt,*.junit.txt,*.inv.gz"/>
	  	</fileset>		
		</delete>
	</target>			
</project>
