main
 1<?xml version="1.0" encoding="utf-8" ?>
 2  <project name="gorilla.mvc">	
 3	<property name="project.name" value="${project::get-name()}" />
 4	<property name="nant.settings.currentframework" value="net-3.5" />
 5
 6	<property name="base.dir" value="${directory::get-parent-directory(project::get-base-directory())}" />
 7	<property name="product.dir" value="${base.dir}\product" />
 8	
 9	<property name="build.dir" value="${base.dir}\build" />
10	<property name="thirdparty.dir" value="${base.dir}\third.party" />
11
12	<property name="build.tools.dir" value="${thirdparty.dir}\tools" />
13	<property name="build.lib.dir" value="${thirdparty.dir}\lib" />
14	<property name="build.compile.dir" value="${build.dir}\compile" />
15	<property name="build.artifacts.dir" value="${build.dir}\artifacts" />
16	
17	<property name="app.output" value="${project.name}.dll" />
18	
19	<include buildfile="project.test.build" />
20	<include buildfile="project.test.reports.build" />
21	<include buildfile="local.properties.xml" />
22		
23	<target name="clean">
24		<exec program="taskkill.exe" commandline="/f /im ${editor.exe} /FI &quot;STATUS eq RUNNING&quot;"  />
25		<delete dir="${build.compile.dir}" />
26	</target>
27	
28	<target name="init" depends="clean">
29		<mkdir dir="${build.compile.dir}" />
30	</target>
31	
32	<target name="app.compile" depends="init">
33		<csc output="${build.compile.dir}\${app.output}" debug="${debug}" target="library">
34			<sources>
35				<include name="${product.dir}\**\*.cs" />
36				<exclude name="${product.dir}\**\AssemblyInfo.cs" />
37				<exclude name="${product.dir}\**\*Specs.cs" />
38			</sources>			
39			<references>
40				<include name="${build.lib.dir}\**\*.dll" />
41				<include name="${build.artifacts.dir}\**\*.dll" />
42			</references>
43		</csc>
44	</target>
45
46	<target name="expand.template.file">
47		<copy file="${target}.template" tofile="${target}" overwrite="true">
48			<filterchain>
49				<replacetokens>
50					<token key="log.level" value="${log.level}" />
51					<token key="assembly.title" value="${assembly.title}" />
52					<token key="assembly.description" value="${assembly.description}" />
53					<token key="assembly.company" value="${assembly.company}" />
54					<token key="assembly.version" value="${assembly.version}" />
55				</replacetokens>
56			</filterchain>
57		</copy>
58	</target>
59	
60</project>