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