3
<project name="SubLib" default="build" basedir=".">
4
<description>SubLib - Subtitles Library.</description>
5
<include buildfile="build.properties" />
7
<target name="prepare" description="prepares to build">
8
<mkdir dir="${build.dir}" />
11
<target name="clean" description="cleans the generated files">
12
<delete dir="${build.dir}" failonerror="false" />
15
<target name="build" depends="prepare">
16
<csc target="library" output="${library.build.path}" doc="${build.dir}/${sublib.name.lowercase}.xml">
17
<sources basedir="${src.dir}">
18
<include name="${external.name}/**/*.cs" />
19
<include name="${sublib.name}/**/*.cs" />
24
<target name="rebuild" depends="clean,build" />
26
<target name="build-as-exe" depends="prepare">
27
<csc target="exe" output="${executable.build.path}">
28
<sources basedir="${src.dir}">
29
<include name="**/*.cs" />
34
<target name="run" depends="build-as-exe">
36
<arg value="${executable.build.path}" />
40
<target name="build-docs" depends="build">
43
<include name="${library.build.path}" />
46
<include name="${docs.namespace.summary.path}" />
49
<documenter name="MSDN">
50
<property name="OutputDirectory" value="${docs.build.dir}" />
51
<property name="OutputTarget" value="Web" />
52
<property name="SkipNamespacesWithoutSummaries" value="true" />
53
<property name="AutoDocumentConstructors" value="true" />
54
<property name="AutoPropertyBackerSummaries" value="true" />
55
<property name="Preliminary" value="false" />
56
<property name="OutputTarget" value="Web" />
57
<property name="Title" value="SubLib Subtitle Library" />
58
<property name="SdkLinksOnWeb" value="true" />
59
<property name="FooterHtml" value='This documentation is part of the
60
<a href="http://sublib.sourceforge.net">SubLlib</a> project.' />
61
<property name="ShowMissingSummaries" value="false" />
62
<property name="ShowMissingReturns" value="false" />
63
<property name="ShowMissingParams" value="false" />
69
<target name="clean-release">
70
<delete dir="${release.dir}" failonerror="false" />
73
<target name="prepare-release">
74
<fail if="${not property::exists('release.version')}"
75
message="The release.version property must be defined in order to build a release." />
76
<fail if="${not property::exists('release.type')}"
77
message="The release.type property must be defined in order to build a release." />
79
<delete dir="${release.path}" failonerror="false" />
80
<mkdir dir="${release.path}" />
83
<target name="archive-release">
84
<zip zipfile="${release.path}.zip">
85
<fileset basedir="${release.dir}">
86
<include name="${release.name}/**" />
91
<target name="release-exe" depends="build-as-exe">
92
<property name="release.type" value="exe" />
93
<call target="prepare-release" />
94
<copy todir="${release.path}">
95
<fileset refid="executable.release.files" />
97
<copy todir="${release.path}">
98
<fileset refid="executable.release.build.files" />
100
<call target="archive-release" />
103
<target name="release-src" depends="build">
104
<property name="release.type" value="src" />
105
<call target="prepare-release" />
106
<copy todir="${release.path}">
107
<fileset refid="source.release.files" />
109
<call target="archive-release" />
112
<target name="release" depends="release-src, release-exe" />