Added support for the time span primitive
[castle.git] / all.build
blob90304ef76f2fce98b3508806b5c94163d66c9d81
1 <?xml version="1.0" encoding='iso-8859-1' ?>
2 <project name="all" default="build">
4 <property name="base.dir" value="${path::get-full-path( project::get-base-directory() )}" />
5 <property name="skipcaspol" value="true" />
6 <property name="sharedlibrary.dir" value="${base.dir}/SharedLibs" />
7 <property name="tempdir" value="tempdir" />
9 <include buildfile="common.inc" />
11 <target name="build" depends="clean, init, tools, container, components, services, activerecord, monorail, aspectsharp, facilities, samples" />
13 <target name="clean">
14 <delete dir="${build.dir}" failonerror="false" />
15 </target>
17 <target name="init">
18 <mkdir dir="${build.dir}" />
19 <call target="copydistdependencies" />
20 </target>
22 <target name="copydistdependencies">
23 <copy todir="${build.dir}">
24 <fileset basedir="${sharedlibrary.dir}/boo">
25 <include name="*.dll" />
26 </fileset>
27 </copy>
28 <copy todir="${build.dir}">
29 <fileset basedir="${sharedlibrary.dir}/cassini">
30 <include name="*.*" />
31 </fileset>
32 </copy>
33 <copy todir="${build.dir}">
34 <fileset basedir="${sharedlibrary.dir}/ibatis">
35 <include name="*.dll" />
36 </fileset>
37 </copy>
38 <copy todir="${build.dir}">
39 <fileset basedir="${sharedlibrary.dir}/log4net">
40 <include name="*.dll" />
41 </fileset>
42 </copy>
43 <copy todir="${build.dir}">
44 <fileset basedir="${sharedlibrary.dir}/netron">
45 <include name="*.dll" />
46 </fileset>
47 </copy>
48 <copy todir="${build.dir}">
49 <fileset basedir="${sharedlibrary.dir}/nhibernate">
50 <include name="*.*" />
51 </fileset>
52 </copy>
53 <copy todir="${build.dir}">
54 <fileset basedir="${sharedlibrary.dir}/nlog">
55 <include name="*.*" />
56 </fileset>
57 </copy>
58 <copy todir="${build.dir}">
59 <fileset basedir="${sharedlibrary.dir}/nvelocity">
60 <include name="*.*" />
61 </fileset>
62 </copy>
63 <copy todir="${build.dir}">
64 <fileset basedir="${sharedlibrary.dir}/prevalence">
65 <include name="*.*" />
66 </fileset>
67 </copy>
68 </target>
70 <target name="activerecord" depends="init">
71 <nant buildfile="ActiveRecord/activerecord.build" target="build" inheritall="true" />
72 </target>
74 <target name="tools" depends="init">
75 <nant buildfile="Tools/DynamicProxy/DynamicProxy.build" target="build" inheritall="true" />
76 <nant buildfile="Tools/NVelocity/nvelocity.build" target="build" inheritall="true" />
77 </target>
79 <target name="container" depends="init">
80 <nant buildfile="InversionOfControl/container.build" target="build" inheritall="true" />
81 </target>
83 <target name="services" depends="init">
84 <nant buildfile="Services/services.build" target="build" inheritall="true" />
85 </target>
87 <target name="facilities" depends="init">
88 <nant buildfile="Facilities/facilities.build" target="build" inheritall="true" />
89 </target>
91 <target name="components" depends="init">
92 <nant buildfile="Components/components.build" target="build" inheritall="true" />
93 </target>
95 <target name="monorail" depends="init">
96 <nant buildfile="MonoRail/monorail.build" target="build" inheritall="true" />
97 </target>
99 <target name="aspectsharp" depends="init">
100 <nant buildfile="AspectSharp/aspectsharp.build" target="build" inheritall="true" />
101 </target>
103 <target name="samples">
105 </target>
107 <target name="dist" depends="zipsource, zipsamples, zip11, zip20, zipdoc">
108 <!--
109 <nant buildfile="Tools/DynamicProxy/DynamicProxy.build" target="dist" inheritall="true" />
110 <nant buildfile="AspectSharp/aspectsharp.build" target="distribution" inheritall="true" />
111 <nant buildfile="InversionOfControl/container.build" target="dist" inheritall="true" />
112 <nant buildfile="Components/components.build" target="dist" inheritall="true" />
113 <nant buildfile="ActiveRecord/activerecord.build" target="dist" inheritall="true" />
114 <nant buildfile="MonoRail/monorail.build" target="dist" inheritall="true" />
115 <nant buildfile="Services/services.build" target="dist" inheritall="true" />
116 <nant buildfile="Facilities/facilities.build" target="dist" inheritall="true" />
118 </target>
120 <target name="createreleasenotes">
121 <mkdir dir="${tempdir}" />
123 <copy file="ActiveRecord/Changes.txt" tofile="${tempdir}/ActiveRecord Release Notes.txt" />
124 <copy file="MonoRail/Changes.txt" tofile="${tempdir}/MonoRail Release Notes.txt" />
125 <copy file="InversionOfControl/Changes.txt" tofile="${tempdir}/InversionOfControl Release Notes.txt" />
126 <copy file="ActiveRecord/Changes.txt" tofile="${tempdir}/ActiveRecord Release Notes.txt" />
127 <copy file="Tools/DynamicProxy/Changes.txt" tofile="${tempdir}/DynamicProxy Release Notes.txt" />
128 </target>
130 <target name="deletereleasenotes">
131 <delete dir="${tempdir}" />
132 </target>
134 <target name="zip11">
135 <call target="createreleasenotes" />
136 <zip zipfile="${base.dir}/Castle-net-1.1.zip">
137 <fileset basedir="${base.dir}/build">
138 <include name="net-1.1/*.*" />
139 </fileset>
140 <fileset basedir="${base.dir}/setup">
141 <include name="License.rtf" />
142 </fileset>
143 <fileset basedir="${tempdir}">
144 <include name="*.txt" />
145 </fileset>
146 </zip>
147 <call target="deletereleasenotes" />
148 </target>
150 <target name="zip20">
151 <call target="createreleasenotes" />
152 <zip zipfile="${base.dir}/Castle-net-2.0.zip">
153 <fileset basedir="${base.dir}/build">
154 <include name="net-2.0/*.*" />
155 </fileset>
156 <fileset basedir="${base.dir}/setup">
157 <include name="License.rtf" />
158 </fileset>
159 <fileset basedir="${tempdir}">
160 <include name="*.txt" />
161 </fileset>
162 </zip>
163 <call target="deletereleasenotes" />
164 </target>
166 <target name="zip-build" depends="build">
167 <call target="createreleasenotes" />
168 <zip zipfile="${base.dir}/Castle-${framework::get-target-framework()}-${CCNetLabel}-.zip">
169 <fileset basedir="${base.dir}/build">
170 <include name="${framework::get-target-framework()}/*.*" />
171 </fileset>
172 <fileset basedir="${base.dir}/setup">
173 <include name="License.rtf" />
174 </fileset>
175 <fileset basedir="${tempdir}">
176 <include name="*.txt" />
177 </fileset>
178 </zip>
179 <call target="deletereleasenotes" />
180 </target>
182 <target name="zipdoc">
183 <zip zipfile="${base.dir}/Castle-api-doc.zip">
184 <fileset basedir="${base.dir}/docs">
185 <include name="Castle.chm" />
186 </fileset>
187 </zip>
188 </target>
190 <target name="zipsamples">
191 <zip zipfile="${base.dir}/Samples/ActiveRecord-Samples.zip">
192 <fileset basedir="${base.dir}/Samples/ActiveRecord">
193 <include name="**/*.build" />
194 <include name="**/*.sln" />
195 <include name="**/*.cs" />
196 <include name="**/*.ico" />
197 <include name="**/*.csproj" />
198 <include name="**/*.xml" />
199 <include name="**/*.config" />
200 <include name="**/*.lang" />
201 <include name="**/*.txt" />
202 <include name="**/*.inc" />
203 <include name="**/*.vm" />
204 <include name="*.snk" />
205 <exclude name="**\obj\Debug\*.*" />
206 <exclude name="**\bin\*.*" />
207 <exclude name="**\*.user" />
208 </fileset>
209 </zip>
210 <zip zipfile="${base.dir}/Samples/Facilities-Samples.zip">
211 <fileset basedir="${base.dir}/Samples/Facilities">
212 <include name="**/*.build" />
213 <include name="**/*.sln" />
214 <include name="**/*.cs" />
215 <include name="**/*.ico" />
216 <include name="**/*.csproj" />
217 <include name="**/*.xml" />
218 <include name="**/*.config" />
219 <include name="**/*.lang" />
220 <include name="**/*.txt" />
221 <include name="**/*.inc" />
222 <include name="**/*.vm" />
223 <include name="*.snk" />
224 <exclude name="**\obj\Debug\*.*" />
225 <exclude name="**\bin\*.*" />
226 <exclude name="**\*.user" />
227 </fileset>
228 </zip>
229 <zip zipfile="${base.dir}/Samples/InversionOfControl-Samples.zip">
230 <fileset basedir="${base.dir}/Samples/InversionOfControl">
231 <include name="**/*.build" />
232 <include name="**/*.sln" />
233 <include name="**/*.cs" />
234 <include name="**/*.ico" />
235 <include name="**/*.csproj" />
236 <include name="**/*.xml" />
237 <include name="**/*.config" />
238 <include name="**/*.lang" />
239 <include name="**/*.txt" />
240 <include name="**/*.inc" />
241 <include name="**/*.vm" />
242 <include name="*.snk" />
243 <exclude name="**\obj\Debug\*.*" />
244 <exclude name="**\bin\*.*" />
245 <exclude name="**\*.user" />
246 </fileset>
247 </zip>
248 <zip zipfile="${base.dir}/Samples/MonoRail-Samples.zip">
249 <fileset basedir="${base.dir}/Samples/MonoRail">
250 <include name="**/*.build" />
251 <include name="**/*.sln" />
252 <include name="**/*.cs" />
253 <include name="**/*.ico" />
254 <include name="**/*.csproj" />
255 <include name="**/*.xml" />
256 <include name="**/*.config" />
257 <include name="**/*.lang" />
258 <include name="**/*.txt" />
259 <include name="**/*.inc" />
260 <include name="**/*.vm" />
261 <include name="*.snk" />
262 <exclude name="**\obj\Debug\*.*" />
263 <exclude name="**\bin\*.*" />
264 <exclude name="**\*.user" />
265 </fileset>
266 </zip>
267 <zip zipfile="${base.dir}/Samples/Castle-Samples.zip">
268 <fileset basedir="${base.dir}/Samples/Castle">
269 <include name="**/*.build" />
270 <include name="**/*.sln" />
271 <include name="**/*.cs" />
272 <include name="**/*.ico" />
273 <include name="**/*.csproj" />
274 <include name="**/*.xml" />
275 <include name="**/*.config" />
276 <include name="**/*.lang" />
277 <include name="**/*.txt" />
278 <include name="**/*.inc" />
279 <include name="**/*.vm" />
280 <include name="*.snk" />
281 <exclude name="**\obj\Debug\*.*" />
282 <exclude name="**\bin\*.*" />
283 <exclude name="**\*.user" />
284 </fileset>
285 </zip>
286 </target>
288 <target name="zipsource">
289 <zip zipfile="Castle-src.zip">
290 <fileset basedir="${base.dir}">
291 <include name="**/*.build" />
292 <include name="**/*.sln" />
293 <include name="**/*.cs" />
294 <include name="**/*.ico" />
295 <include name="**/*.csproj" />
296 <include name="**/*.xml" />
297 <include name="**/*.config" />
298 <include name="**/*.lang" />
299 <include name="**/*.txt" />
300 <include name="**/*.inc" />
301 <include name="**/*.vm" />
302 <include name="**/*.gif" />
303 <include name="**/*.resx" />
304 <include name="*.snk" />
305 <include name="SharedLibs/**/*.dll" />
306 <include name="SharedLibs/**/*.rtf" />
307 <include name="ActiveRecord/Generator/lib/*.dll" />
309 <exclude name="**\obj\Debug\*.*" />
310 <exclude name="**\bin\*.*" />
311 <exclude name="**\*.user" />
312 <exclude name="/Rook" />
313 <exclude name="/Sandbox" />
314 <exclude name="/setup" />
315 </fileset>
316 </zip>
317 </target>
319 <description>Documentation generation.</description><property name="base.dir" value="." />
320 <property name="doc.dir" value="${base.dir}/docs" />
321 <property name="tempBin.dir" value="${doc.dir}/bin"/>
322 <property name="outputDocs.file" value="Castle"/>
324 <description>Docs generation properties.</description>
325 <property name="ShowMissing" value="false"/>
326 <property name="ShowPrivate" value="false"/>
327 <property name="OutputTarget" value="HTMLHelp"/>
329 <description>Generates documentation with default properties.</description>
330 <target name="releaseDocs" depends="cleanup">
331 <call target="copyFilesToDocument"/>
332 <call target="generateReleaseDocs"/>
333 </target>
335 <description>Generates documentation for developers, with all missing information indicated and private members visible.</description>
336 <target name="devDocs" depends="cleanup">
337 <property name="ShowMissing" value="true"/>
338 <property name="ShowPrivate" value="true"/>
339 <property name="outputDocs.file" value="CastleDev"/>
340 <call target="copyFilesToDocument"/>
341 <call target="generateReleaseDocs"/>
342 </target>
344 <description>Generates documentation for release.</description>
345 <target name="generateReleaseDocs">
346 <ndoc failonerror="true">
347 <assemblies basedir="${tempBin.dir}">
348 <include name="Castle.*.dll"/>
349 </assemblies>
350 <referencepaths>
351 <include name="ActiveRecord/lib"/>
352 <include name="AspectSharp/bin"/>
353 <include name="Monorail/lib"/>
354 <include name="Tools/DynamicProxy/bin"/>
355 <include name="Tools/NVelocity/bin"/>
357 <!-- Components -->
358 <include name="SharedLibs/Prevalence"/>
359 <include name="SharedLibs/Db4o/net-1.1"/>
360 <include name="SharedLibs/IBatis"/>
361 <include name="SharedLibs/NHibernate"/>
362 <include name="SharedLibs/boo"/>
363 <include name="SharedLibs/cassini"/>
364 <include name="SharedLibs/log4net"/>
365 <include name="SharedLibs/netron"/>
366 <include name="SharedLibs/Nlog"/>
367 <include name="SharedLibs/log4net"/>
368 <include name="SharedLibs/Nvelocity"/>
369 <include name="SharedLibs/stringtemplate/net-1.1"/>
370 </referencepaths>
371 <documenters>
372 <documenter name="MSDN">
373 <property name="OutputTarget" value="${OutputTarget}" />
374 <property name="Preliminary" value="true" />
375 <property name="BinaryTOC" value="true" />
376 <property name="CleanIntermediates" value="true" />
377 <property name="SdkLinksOnWeb" value="true" />
379 <property name="OutputDirectory" value="${doc.dir}" />
380 <property name="HtmlHelpName" value="${outputDocs.file}" />
381 <property name="IncludeFavorites" value="True" />
382 <property name="SplitTOCs" value="False" />
384 <property name="Title" value="Castle API documentation" />
385 <property name="DefaulTOC" value="Castle.MicroKernel" />
387 <property name="ShowVisualBasic" value="True" />
388 <property name="ShowMissingSummaries" value="${ShowMissing}" />
389 <property name="ShowMissingRemarks" value="${ShowMissing}" />
390 <property name="ShowMissingParams" value="${ShowMissing}" />
391 <property name="ShowMissingReturns" value="${ShowMissing}" />
392 <property name="ShowMissingValues" value="${ShowMissing}" />
393 <property name="DocumentEmptyNamespaces" value="${ShowMissing}" />
395 <property name="AutoPropertyBackerSummaries" value="true" />
396 <property name="AutoDocumentConstructors" value="true" />
397 <property name="DocumentProtected" value="True" />
398 <property name="DocumentInternals" value="${ShowPrivate}" />
399 <property name="DocumentPrivates" value="${ShowPrivate}" />
401 <property name="IncludeAssemblyVersion" value="True" />
402 <property name="CopyrightText" value="Copyright 2004,2006 - Castle Project (original author or authors)" />
403 <property name="CopyrightHref" value="http://www.castleproject.org" />
404 </documenter>
405 </documenters>
406 </ndoc>
407 </target>
409 <description>Copies all files to be documented to a single location to speed up the documentation process.</description>
410 <target name="copyFilesToDocument">
411 <foreach item="Folder" property="foldername">
412 <in>
413 <!-- Hardcode projects folders to speed up assemblies search -->
414 <items>
415 <include name="${build.dir}"/>
416 </items>
417 </in>
418 <do>
419 <echo message="${foldername}" />
421 <foreach item="File" property="file">
422 <in>
423 <items>
424 <include name="${foldername}/Castle.*.dll"/>
425 <include name="${foldername}/AspectSharp*.dll"/>
426 <include name="${foldername}/NVelocity.dll"/>
427 <exclude name="Castle.*.Tests.dll"/>
428 </items>
429 </in>
430 <do>
431 <property name="xml.file" value="${path::change-extension( file, 'xml' )}"/>
432 <copy todir="${tempBin.dir}" if="${file::exists( xml.file )}" flatten="true">
433 <fileset>
434 <include name="${file}"/>
435 <include name="${xml.file}"/>
436 </fileset>
437 </copy>
438 </do>
439 </foreach>
440 </do>
441 </foreach>
442 </target>
444 <description>Cleans up prior to documentation generation.</description>
445 <target name="cleanup">
446 <delete>
447 <fileset>
448 <include name="${doc.dir}/**"/>
449 <exclude name="**/*.chm"/>
450 </fileset>
451 </delete>
452 </target>
454 <target name="ziptrunk">
455 <zip zipfile="Castle-all.zip">
456 <fileset basedir="${base.dir}">
457 <include name="all.build" />
458 <include name="common.inc" />
459 <include name="CastleKey.snk" />
460 <include name="How to build.txt" />
462 <include name="ActiveRecord/**.*" />
463 <include name="AspectSharp/**.*" />
464 <include name="Components/**.*" />
465 <include name="Deps/**.*" />
466 <include name="Facilities/**.*" />
467 <include name="InversionOfControl/**.*" />
468 <include name="MonoRail/**.*" />
469 <include name="Services/**.*" />
470 <include name="Tools/**.*" />
472 <exclude name="**\*.user" />
473 <exclude name="**\*.pdb" />
474 <exclude name="**\*.zip" />
475 <exclude name="**\*.chm" />
476 <exclude name="**\*.resharperoptions" />
477 <exclude name="**\*.suo" />
478 <exclude name="**\obj\Debug\*.*" />
479 </fileset>
480 </zip>
481 </target>
483 <target name="update-from-svn">
484 <!--
485 <exec program="C:\devtools\svn-win32-1.2.3\bin\svn.exe">
486 <arg value=""/>
487 </exec>
489 </target>
491 </project>