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 "STATUS eq RUNNING"" />
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>