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" />
14 <delete dir=
"${build.dir}" failonerror=
"false" />
18 <mkdir dir=
"${build.dir}" />
19 <call target=
"copydistdependencies" />
22 <target name=
"copydistdependencies">
23 <copy todir=
"${build.dir}">
24 <fileset basedir=
"${sharedlibrary.dir}/boo">
25 <include name=
"*.dll" />
28 <copy todir=
"${build.dir}">
29 <fileset basedir=
"${sharedlibrary.dir}/cassini">
30 <include name=
"*.*" />
33 <copy todir=
"${build.dir}">
34 <fileset basedir=
"${sharedlibrary.dir}/ibatis">
35 <include name=
"*.dll" />
38 <copy todir=
"${build.dir}">
39 <fileset basedir=
"${sharedlibrary.dir}/log4net">
40 <include name=
"*.dll" />
43 <copy todir=
"${build.dir}">
44 <fileset basedir=
"${sharedlibrary.dir}/netron">
45 <include name=
"*.dll" />
48 <copy todir=
"${build.dir}">
49 <fileset basedir=
"${sharedlibrary.dir}/nhibernate">
50 <include name=
"*.*" />
53 <copy todir=
"${build.dir}">
54 <fileset basedir=
"${sharedlibrary.dir}/nlog">
55 <include name=
"*.*" />
58 <copy todir=
"${build.dir}">
59 <fileset basedir=
"${sharedlibrary.dir}/nvelocity">
60 <include name=
"*.*" />
63 <copy todir=
"${build.dir}">
64 <fileset basedir=
"${sharedlibrary.dir}/prevalence">
65 <include name=
"*.*" />
70 <target name=
"activerecord" depends=
"init">
71 <nant buildfile=
"ActiveRecord/activerecord.build" target=
"build" inheritall=
"true" />
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" />
79 <target name=
"container" depends=
"init">
80 <nant buildfile=
"InversionOfControl/container.build" target=
"build" inheritall=
"true" />
83 <target name=
"services" depends=
"init">
84 <nant buildfile=
"Services/services.build" target=
"build" inheritall=
"true" />
87 <target name=
"facilities" depends=
"init">
88 <nant buildfile=
"Facilities/facilities.build" target=
"build" inheritall=
"true" />
91 <target name=
"components" depends=
"init">
92 <nant buildfile=
"Components/components.build" target=
"build" inheritall=
"true" />
95 <target name=
"monorail" depends=
"init">
96 <nant buildfile=
"MonoRail/monorail.build" target=
"build" inheritall=
"true" />
99 <target name=
"aspectsharp" depends=
"init">
100 <nant buildfile=
"AspectSharp/aspectsharp.build" target=
"build" inheritall=
"true" />
103 <target name=
"samples">
107 <target name=
"dist" depends=
"zipsource, zipsamples, zip11, zip20, zipdoc">
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" />
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" />
130 <target name=
"deletereleasenotes">
131 <delete dir=
"${tempdir}" />
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/*.*" />
140 <fileset basedir=
"${base.dir}/setup">
141 <include name=
"License.rtf" />
143 <fileset basedir=
"${tempdir}">
144 <include name=
"*.txt" />
147 <call target=
"deletereleasenotes" />
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/*.*" />
156 <fileset basedir=
"${base.dir}/setup">
157 <include name=
"License.rtf" />
159 <fileset basedir=
"${tempdir}">
160 <include name=
"*.txt" />
163 <call target=
"deletereleasenotes" />
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()}/*.*" />
172 <fileset basedir=
"${base.dir}/setup">
173 <include name=
"License.rtf" />
175 <fileset basedir=
"${tempdir}">
176 <include name=
"*.txt" />
179 <call target=
"deletereleasenotes" />
182 <target name=
"zipdoc">
183 <zip zipfile=
"${base.dir}/Castle-api-doc.zip">
184 <fileset basedir=
"${base.dir}/docs">
185 <include name=
"Castle.chm" />
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" />
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" />
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" />
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" />
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" />
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" />
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"/>
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"/>
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"/>
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"/>
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"/>
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" />
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">
413 <!-- Hardcode projects folders to speed up assemblies search -->
415 <include name=
"${build.dir}"/>
419 <echo message=
"${foldername}" />
421 <foreach item=
"File" property=
"file">
424 <include name=
"${foldername}/Castle.*.dll"/>
425 <include name=
"${foldername}/AspectSharp*.dll"/>
426 <include name=
"${foldername}/NVelocity.dll"/>
427 <exclude name=
"Castle.*.Tests.dll"/>
431 <property name=
"xml.file" value=
"${path::change-extension( file, 'xml' )}"/>
432 <copy todir=
"${tempBin.dir}" if=
"${file::exists( xml.file )}" flatten=
"true">
434 <include name=
"${file}"/>
435 <include name=
"${xml.file}"/>
444 <description>Cleans up prior to documentation generation.
</description>
445 <target name=
"cleanup">
448 <include name=
"${doc.dir}/**"/>
449 <exclude name=
"**/*.chm"/>
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\*.*" />
483 <target name=
"update-from-svn">
485 <exec program="C:\devtools\svn-win32-1.2.3\bin\svn.exe">