<project name="CS8803_P3" default="dist" basedir=".">
	<description>
		simple example build file
	</description>

	<!-- set global properties for this build -->
	<property name="build" location="classes" />
	<property name="dist" location="dist" />
	<property name="docs" location="docs" />
	<property name="grammars" location="grammars" />
	<property name="lib" location="lib" />
	<property name="res" location="res" />
	<property name="rules" location="rules" />
	<property name="project.name" value="CS8803_P3" />
	<property name="src" location="src" />
	<property name="test" location="test" />
		
	<path id="build.classpath">
		<fileset dir="${lib}">
			<include name="**/*.jar" />
		</fileset>
	</path>

	<path id="classpath.test">
		<path refid="build.classpath" />
		<pathelement location="lib/junit-4.10.jar" />
		<pathelement location="${build}" />
	</path>
	
	<target name="clean" description="clean up">
		<!-- Delete the ${build} and ${dist} directory trees -->
		<delete dir="${build}" />
		<delete dir="${dist}" />
	</target>

	<target name="compile" depends="copy-resources">
		<!-- Compile the java code from ${src} into ${build} -->
		<javac srcdir="${src}" destdir="${build}" classpathref="build.classpath" debug="true" source="1.6" target="1.6"/>
	</target>
	
	  <target name="compile-test" depends="compile">
	    <javac srcdir="${test}" destdir="${build}" debug="true">
	      <classpath refid="classpath.test"/>
	    </javac>
	  </target>
	
	<target name="copy-resources" depends="init" >
		<copy todir="${build}/res">
			<fileset dir="${res}">
				<include name="**/*" />
			</fileset>
		</copy>
		<copy todir="${dist}/grammars">
			<fileset dir="${grammars}">
				<include name="**/*" />
			</fileset>
		</copy>
		<copy todir="${dist}/rules">
			<fileset dir="${rules}">
				<include name="**/*" />
			</fileset>
		</copy>
		<copy file="DetailedInfo.txt" todir="${dist}" failonerror="false" overwrite="true"/>
		<copy file="player.txt" todir="${dist}" failonerror="false" overwrite="true" />
	</target>

	<target name="dist" depends="copy-resources, compile"
		description="generate the distribution">
		<jar jarfile="${dist}/${project.name}.jar">
			<fileset dir="${build}" excludes="**/*Test.class" />
			<manifest>
				<attribute name="Main-Class" value="dk.itu.mario.engine.Play" />
				<attribute name="Class-Path" value="../lib/antlr-3.4-complete-no-antlrv2.jar ../lib/drools-api-5.2.0.M1.jar.jar ../lib/drools-compiler-5.3.0.Final.jar ../lib/drools-core-5.3.0.Final.jar ../lib/drools-decisiontables-5.3.0.Final.jar ../lib/drools-jsr94-5.3.0.Final.jar ../lib/ecj.jar ../lib/jdom.jar ../lib/knowledge-api-5.3.0.Final.jar ../lib/mvel2-2.1.Beta8.jar ../lib/slf4j-api-1.6.4.jar ../lib/xstream-1.4.2.jar ../lib/xuggle-xuggler.jar" />
			</manifest>
		</jar>
	</target>

	  <!-- Creates Javadoc -->
	  <target name="docs" depends="compile">
	    <javadoc packagenames="src" sourcepath="${src}" destdir="${docs}">
	            <!-- Define which files / directory should get included, we include all -->
	            <fileset dir="${src}">
	                    <include name="**" />
	            </fileset>
	    </javadoc>
	  </target>
	
	<target name="init">
		<!-- Create the time stamp -->
		<tstamp />
		<!-- Create the build directory structure used by compile -->
		<mkdir dir="${build}" />
	</target>

	  <target name="test" depends="compile-test">
	    <junit haltonfailure="true">
	      <classpath refid="classpath.test" />
	      <formatter type="brief" usefile="false" />
	      <batchtest>
	        <fileset dir="${build}" includes="**/*Test.class" />
	      </batchtest>
	    </junit>
	  </target>
</project>
