main
 1<project name="spec.dox" default="run">
 2	<property name="nant.settings.currentframework" value="net-3.5" />
 3	
 4	<property name="base.dir" value="${directory::get-parent-directory( project::get-base-directory() )}" />
 5 	<property name="build.dir" value="${base.dir}\build" />
 6	<property name="build.tools.dir" value="${build.dir}\tools" />
 7	<property name="build.lib.dir" value="${build.dir}\lib" />
 8	<property name="build.compile.dir" value="${build.dir}\compile" />
 9	<property name="build.res.dir" value="${build.dir}\res" />
10
11	<property name="product.dir" value="${base.dir}/product" />
12	
13	<property name="name.to.compile.to" value="${project::get-name()}.exe"/>
14
15	<include buildfile="project.test.build"/>
16	<include buildfile="local.properties.xml"/>
17	
18	<target name="clean.up">
19		<exec program="taskkill.exe" commandline="/f /im:notepad.exe /FI &quot;STATUS eq RUNNING&quot;" />		
20		<delete dir="${build.compile.dir}" />
21		<mkdir dir="${build.compile.dir}" />
22	</target>
23	
24	<target name="compile" depends="clean.up">
25		<csc target="exe" output="${build.compile.dir}\${name.to.compile.to}" debug="${debug}" win32icon="${build.res.dir}\mokhan.ico" platform="${platform}">
26			<sources basedir="${product.dir}">
27				<include name="**\*.cs" />
28				<exclude name="**\AssemblyInfo.cs" />
29				<exclude name="**\*Specs.cs" />
30				<exclude name="${product.dir}\Spec.Dox\Test\**\*.cs" />
31			</sources>
32			<references>
33				<include name="${build.lib.dir}\app\**\*.dll" />
34			</references>
35		</csc>
36	</target>
37
38	<target name="expand.template.file">
39		<copy file="${target}.template" tofile="${target}" overwrite="true" >
40			<filterchain>
41				<replacetokens>
42					<token key="log.level" value="${log.level}" />
43					<token key="debug" value="${debug}" />
44				</replacetokens>
45			</filterchain>
46		</copy>
47	</target>
48
49	<target name="copy.dependencies">
50		<copy todir="${build.compile.dir}" flatten="true">
51			<fileset basedir="${build.lib.dir}\app">
52				<include name="**/*.dll" />
53			</fileset>
54		</copy>
55	</target>
56
57	<target name="deploy" depends="compile, copy.dependencies">
58		
59	</target>
60
61	<target name="generate.report" depends="deploy">
62		<property name="build.compile.dir" value="${build.compile.dir}\test" />
63		<call target="test.compile" />
64		
65		<property name="build.compile.dir" value="${build.dir}\compile" />
66		<exec 
67			program="${build.compile.dir}\${name.to.compile.to}"
68			commandline="${build.compile.dir}\test\${test.output.dll} TestAttribute" 
69		/>
70	</target>
71
72	<target name="run" depends="generate.report">
73		<echo message="${path.to.browser} ${build.compile.dir}\report.html" />
74		<exec
75			program="${path.to.browser}"
76			commandline="&quot;${build.compile.dir}\test\report.html&quot;"
77			/>
78	</target>
79
80</project>