root/trunk/build-docs.xml

Revision 866, 15.0 kB (checked in by alban, 2 years ago)

include fake targets to avoid misparsing from eclipse

Line 
1 <project xmlns:ivy="antlib:fr.jayasoft.ivy.ant" name="freecast-docs" default="dist.docs" basedir=".">
2        
3   <!-- fake targets defined by build.xml in reality -->
4   <target name="prepare.ivy"/>
5   <target name="prepare.libraries"/>
6   <target name="prepare.version"/>
7   <target name="build"/>
8   <target name="build.test"/>
9
10   <!-- don't use this build file directly, use build-complete.xml -->
11
12   <target name="prepare.docbook" depends="prepare.docbook.retrieve, prepare.docbook.install">
13         <path id="path.docbook">
14                 <fileset dir="lib/build-docbook"/>
15         </path>
16                 <property name="track.docbook.dir" location="lib/build-docbook/docbook-xsl" />
17                
18                 <macrodef name="docbook">
19                         <attribute name="in" />
20                         <attribute name="out" />
21                         <attribute name="style" />
22                         <element name="arguments" optional="true" />
23                         <sequential>
24
25                                 <java classname="org.apache.xalan.xslt.Process" fork="true" failonerror="true" output="build/docbook.log" append="true">
26                                         <jvmarg line="-Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration" />
27                                         <jvmarg
28         line="-Xbootclasspath/p:lib/build-docbook/xercesImpl.jar;lib/build-docbook/xml-apis.jar" />
29                                         <classpath>
30                                                 <fileset dir="lib/build-docbook">
31                                                         <include name="xalan.jar"/>
32                                                 </fileset>
33                                                 <pathelement path="${track.docbook.dir}/extensions/xalan25.jar" />
34                                         </classpath>
35
36                                         <arg line="-IN @{in}" />
37                                         <arg line="-OUT @{out}" />
38                                         <arg line="-XSL @{style}" />
39                                         <arg line="-PARAM admon.graphics 1" />
40                                         <arg line="-PARAM use.extensions 1" />
41                                         <arguments />
42                                 </java>
43
44                         </sequential>
45                 </macrodef>             
46                
47   </target>
48  
49   <target name="prepare.docbook.retrieve">
50         <ivy-configure />
51         <ivy-retrieve pattern="lib/[conf]/[artifact].[ext]" conf="build-docbook" />
52   </target>
53  
54   <target name="prepare.docbook.install.check">
55         <uptodate property="prepare.docbook.install.notRequired"
56             srcfile="lib/build-docbook/docbook-xsl.zip"
57             targetfile="lib/build-docbook/docbook-xsl/.touch"/>
58   </target>
59  
60   <target name="prepare.docbook.install"
61         depends="prepare.docbook.install.check" unless="prepare.docbook.install.notRequired">
62         <tempfile property="prepare.docbook.dir"/>
63         <mkdir dir="${prepare.docbook.dir}"/>
64         <unzip src="lib/build-docbook/docbook-xsl.zip" dest="${prepare.docbook.dir}"/>
65         <move todir="lib/build-docbook/docbook-xsl">
66                 <fileset dir="${prepare.docbook.dir}"/>
67                 <regexpmapper from="^docbook-xsl-[0-9\.]+/(.*)$$" to="\1"/>
68           </move>
69           <delete dir="${prepare.docbook.dir}"/>
70           <touch file="lib/build-docbook/docbook-xsl/.touch"/>
71   </target>
72  
73   <target name="prepare.xmlreleasenotes" depends="prepare.ivy">
74         <ivy-retrieve pattern="lib/[conf]/[artifact].[ext]" conf="build-xmlreleasenotes" />
75         <taskdef classname="org.xrn.ant.XMLReleaseNotes" name="xrn">
76                 <classpath>
77                         <fileset dir="lib/build-xmlreleasenotes"/>
78                 </classpath>
79         </taskdef>
80   </target>
81
82         <target name="build.changelog" depends="prepare.xmlreleasenotes">
83         <property name="build.changelog.xrn.dir" value="lib/build-xmlreleasenotes/xmlreleasenotes"/>
84                 <mkdir dir="${build.changelog.xrn.dir}" />
85                 <xrn destination="${build.changelog.xrn.dir}" deploy="true" />
86
87                 <mkdir dir="build/xmlreleasenotes"/>
88
89                 <style in="source/org/kolaka/freecast/changelog.xml" out="build/xmlreleasenotes/changelog.html" style="${build.changelog.xrn.dir}/XMLReleaseNotes2HTML.xsl" />
90
91                 <mkdir dir="build/changelog"/>
92
93                 <tidy dest="build/changelog" failonerror="false" encoding="latin1">
94                         <filesets>
95                                 <fileset dir="build/xmlreleasenotes"/>
96                         </filesets>
97                 </tidy>
98                
99                 <copy tofile="build/changelog/stylesheet.css" file="${build.changelog.xrn.dir}/XMLReleaseNotes.css" />
100         </target>
101
102         <target name="build.docs" depends="build.docs.api, build.docs.xref, build.docs.coverage, build.docs.userguide" />
103
104         <target name="build.docs.api.check">
105                 <uptodate property="build.docs.api.notRequired" targetfile="build/docs/api/.touch">
106                         <srcfiles dir="source">
107                                 <include name="**/*.java" />
108                                 <include name="**/package.html" />
109                                 <include name="docfiles/**" />
110                         </srcfiles>
111                 </uptodate>
112         </target>
113
114         <target name="build.docs.api" depends="prepare.libraries, build.docs.api.check" unless="build.docs.api.notRequired">
115                 <mkdir dir="build/docs/api" />
116
117                 <javadoc packagenames="org.kolaka.freecast.*" sourcepath="source" destdir="build/docs/api" author="true" use="true">
118                         <link href="http://java.sun.com/j2se/1.4.2/docs/api/" />
119                         <classpath refid="path.test" />
120                         <tag name="todo" description="To do:"/>
121                 </javadoc>
122
123                 <touch file="build/docs/api/.touch" />
124         </target>
125
126         <target name="build.docs.userguide" depends="build.docs.userguide.html,build.docs.userguide.pdf" />
127
128         <target name="build.docs.userguide.prepare" depends="prepare.docbook, prepare.version">
129                 <mkdir dir="build/docs/userguide" />
130                 <tstamp>
131                         <format property="build.docs.userguide.pubdate" pattern="EEEE, MMMM d yyyy" locale="en" />
132                 </tstamp>
133                 <copy todir="build/docs/userguide" flatten="true">
134                         <fileset dir="source">
135                                 <include name="org/kolaka/freecast/userguide/userguide.xml" />
136                                 <include name="org/kolaka/freecast/userguide/gpl.xml" />
137                         </fileset>
138                         <filterset>
139                                 <filter token="pubdate" value="${build.docs.userguide.pubdate}" />
140                                 <filter token="version" value="${project.version}" />
141                         </filterset>
142                 </copy>
143                 <copy todir="build/docs/userguide" flatten="true">
144                         <fileset dir="source">
145                                 <include name="org/kolaka/freecast/userguide/*.xsl" />
146                         </fileset>
147                         <filterset>
148                                 <filter token="docbook.xsl.dir" value="${track.docbook.dir}" />
149                         </filterset>
150                 </copy>
151                 <copy todir="build/docs/userguide">
152                         <fileset dir="source/org/kolaka/freecast/config/resources">
153                                 <include name="defaults-tracker.xml" />
154                         </fileset>
155                         <fileset dir="source/org/kolaka/freecast/config">
156                                 <include name="samples/**" />
157                         </fileset>
158                         <filterchain>
159                                 <!--
160                                 <tokenfilter>
161                                         <filetokenizer/>
162                                         <replaceregex pattern="(.*)"
163                             flags="s"
164                             replace="&lt;programlisting&gt;&lt;![CDATA[\1]]&gt;&lt;/programlisting&gt;"/>
165                                 </tokenfilter>
166                                 -->
167                                 <tokenfilter>
168                                         <replaceregex pattern="\t" flags="gs" replace="  " />
169                                 </tokenfilter>
170                         </filterchain>
171                 </copy>
172                 <copy todir="build/docs/userguide/images">
173                         <fileset dir="${track.docbook.dir}/images">
174                                 <include name="**/*.png" />
175                                 <present targetdir="source/org/kolaka/freecast/userguide/images" present="srconly" />
176                         </fileset>
177                         <fileset dir="source/org/kolaka/freecast/userguide/images" />
178                 </copy>
179                 <copy todir="build/docs/userguide/images">
180                         <fileset dir="source/org/kolaka/freecast/node/swing/install">
181                                 <include name="screenshot-linux-20050322*.png" />
182                                 <include name="screenshot-linux-20050911*.png" />
183                         </fileset>
184                         <fileset dir="source/org/kolaka/freecast/manager/gui/install">
185                                 <include name="manager*-screenshot-linux-20050911*.png" />
186                                 <include name="manager*-screenshot-linux-20060513*.png" />
187                         </fileset>
188                         <mapper type="regexp" from="^(.*)-[0-9]+(.*)" to="\1\2" />
189                 </copy>
190                 <copy todir="build/docs/userguide/images" flatten="true">
191                         <fileset dir="source/org/kolaka/freecast/node/swing/install">
192                                 <include name="jws/jws15*" />
193                         </fileset>
194                 </copy>
195         </target>
196
197         <target name="build.docs.userguide.html.validate" depends="build.docs.userguide.html.check" unless="build.docs.userguide.html.notRequired">
198                 <xmlvalidate failonerror="yes" lenient="yes" warn="yes" file="build/docs/userguide/userguide.xml">
199                   <!--
200                   <dtd publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
201                            location="${track.docbook.dtd.dir}/docbookx.dtd"/>
202                   -->     
203                 </xmlvalidate>
204         </target>
205
206         <target name="build.docs.userguide.html.check">
207                 <uptodate property="build.docs.userguide.html.notRequired" targetfile="build/docs/userguide/index.html">
208                         <srcfiles dir="build/docs/userguide" />
209                 </uptodate>
210         </target>
211
212         <target name="build.docs.userguide.html" depends="build.docs.userguide.prepare, build.docs.userguide.html.check, build.docs.userguide.html.validate, build.docs.userguide.html.copy" unless="build.docs.userguide.html.notRequired">
213                 <docbook in="build/docs/userguide/userguide.xml" out="build/docs/userguide/index.html" style="build/docs/userguide/userguide-html.xsl">
214                         <arguments>
215                                 <arg line="-PARAM hunker.output.encoding UTF-8" />
216                                 <arg line="-PARAM chunk.tocs.and.lots 1" />
217                                 <arg line="-PARAM html.stylesheet css/screen.css" />
218                                 <arg line="-PARAM use.id.as.filename 1" />
219                                 <arg line="-PARAM navig.graphics 1" />
220                                 <arg line="-PARAM navig.graphics.extension .png" />
221                                 <arg line="-PARAM callouts.extension 1" />
222                                 <arg line="-PARAM textinsert.extension 1" />
223                                 <arg line="-PARAM callout.defaultcolumn 40" />
224                                 <arg line="-PARAM callout.graphics 1" />
225                                 <arg line="-PARAM ignore.image.scaling 1"/>
226                         </arguments>
227                 </docbook>
228         </target>
229
230         <target name="build.docs.userguide.html.copy">
231                 <copy todir="build/docs/userguide">
232                         <fileset dir="source/org/kolaka/freecast/userguide">
233                                 <include name="css/*" />
234                         </fileset>
235                 </copy>
236         </target>
237
238         <target name="build.docs.userguide.pdf.check">
239                 <uptodate property="build.docs.userguide.pdf.notRequired" targetfile="build/docs/userguide/userguide.pdf">
240                         <srcfiles dir="build/docs/userguide">
241                                 <include name="**/*.xml" />
242                         </srcfiles>
243                 </uptodate>
244         </target>
245
246         <target name="build.docs.userguide.pdf" depends="build.docs.userguide.prepare, build.docs.userguide.pdf.check" unless="build.docs.userguide.pdf.notRequired">
247                 <docbook in="build/docs/userguide/userguide.xml" out="build/docs/userguide/userguide.fo" style="${track.docbook.dir}/fo/docbook.xsl">
248                         <arguments>
249                                 <arg line="-PARAM paper.type A4" />
250                                 <arg line="-PARAM fop.extensions 1"/>
251                                 <arg line="-PARAM double.sided 1"/>
252                         </arguments>
253                 </docbook>
254
255                 <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop">
256                         <classpath>
257                                 <fileset dir="lib/build-docbook" includes="*.jar"/>
258                         </classpath>
259                 </taskdef>
260                 <fop format="application/pdf" fofile="build/docs/userguide/userguide.fo" outfile="build/docs/userguide/userguide.pdf" basedir="build/docs/userguide" />
261         </target>
262
263         <target name="build.docs.xref.check">
264                 <uptodate property="build.docs.xref.notRequired" targetfile="build/docs/xref/.touch">
265                         <srcfiles dir="source">
266                                 <include name="**/*.java" />
267                         </srcfiles>
268                 </uptodate>
269         </target>
270
271         <target name="build.docs.xref" depends="build.docs.xref.check" unless="build.docs.xref.notRequired">
272         <ivy-retrieve pattern="lib/[conf]/[artifact].[ext]" conf="build-antjxr" />
273     <unzip dest="lib/build-antjxr">
274         <fileset dir="lib/build-antjxr" includes="ant-jxr-data*.zip"/>
275     </unzip>
276     <taskdef name="jxr" classname="org.kolaka.ant.jxr.Jxr">
277                         <classpath>
278                                 <fileset dir="lib/build-antjxr"/>
279                         </classpath>   
280     </taskdef>
281
282                 <mkdir dir="build/docs/xref" />
283
284                 <jxr sourcedir="source" destdir="build/docs/xref" templatedir="lib/build-antjxr/templates" windowTitle="Kolaka - FreeCast" docTitle="FreeCast" bottom="Copyright 2004-2006. Alban Peignier" />
285
286                 <copy todir="build/docs/xref">
287                         <fileset dir="lib/build-antjxr/resources" />
288                 </copy>
289
290                 <touch file="build/docs/xref/.touch" />
291         </target>
292
293         <target name="build.docs.coverage.check">
294                 <uptodate property="build.docs.coverage.notRequired" targetfile="build/docs/coverage/.touch">
295                         <srcfiles dir="source">
296                                 <include name="**/*.java" />
297                         </srcfiles>
298                         <srcfiles dir="${build.core.classes.dir}" />
299                 </uptodate>
300         </target>
301        
302         <target name="build.docs.coverage" depends="prepare.libraries, build.test, build.docs.coverage.check" unless="build.docs.coverage.notRequired" if="build.docs.coverage.required">
303                 <taskdef resource="tasks.properties">
304                         <classpath refid="path.coverage" />
305                 </taskdef>
306
307                 <mkdir dir="build/coverage" />
308
309                 <instrument todir="build/coverage">
310                         <ignore regex="org.apache.log4j.*" />
311                         <fileset dir="${build.core.classes.dir}">
312                                 <include name="**/*.class" />
313                                 <exclude name="**/test/*.class" />
314                                 <exclude name="**/Main.class" />
315                                 <exclude name="**/swing/*.class" />
316                                 <exclude name="**/*Exception.class" />
317                                 <exclude name="**/RMITracker_*.class" />
318                         </fileset>
319                 </instrument>
320
321                 <mkdir dir="build/docs/coverage" />
322                 <junit printsummary="no" haltonfailure="no" includeantruntime="yes" fork="yes">
323                         <batchtest todir="build/docs/coverage">
324                                 <fileset dir="source">
325                                         <include name="**/test/*Test.java" />
326                                         <include name="**/test/*TestSuite.java" />
327                                         <exclude name="**/test/*BaseTest.java" />
328                                 </fileset>
329                         </batchtest>
330                         <classpath>
331                                 <pathelement path="build/coverage" />
332                                 <pathelement path="${build.core.classes.dir}" />
333                                 <pathelement path="${build.test.classes.dir}" />
334                                 <path refid="path.coverage" />
335                         </classpath>
336                 </junit>
337
338                 <report srcdir="source" destdir="build/docs/coverage" />
339
340                 <touch file="build/docs/coverage/.touch" />
341         </target>
342
343         <target name="dist.docs" depends="build.docs, build.changelog">
344                 <copy todir="dist/docs" includeEmptyDirs="false">
345                         <fileset dir="build/docs">
346                                 <exclude name="**/.touch" />
347                                 <exclude name="userguide/**/*.xml" />
348                                 <exclude name="userguide/**/*.xsl" />
349                                 <exclude name="userguide/*.fo" />
350                                 <exclude name="userguide/*.html" />
351                                 <exclude name="api/**/*.html" />
352                         </fileset>
353                         <fileset dir="build/changelog" />
354                 </copy>
355                 <copy todir="dist/docs" includeEmptyDirs="true">
356                         <fileset dir="build/docs">
357                                 <exclude name="api/**/*.html" />
358                         </fileset>
359                 </copy>
360                 <!-- too verbose <tidy dest="dist/docs" failonerror="false">
361                         <filesets> -->
362                 <copy todir="dist/docs">
363                                 <fileset dir="build/docs">
364                                         <include name="userguide/*.html" />
365                                         <include name="api/**/*.html" />
366                                 </fileset>
367                 </copy>
368                 <!--    </filesets>
369                 </tidy> -->
370
371                 <!-- TODO find a better way -->
372                 <mkdir dir="dist/docs/examples/audio"/>
373                 <mkdir dir="dist/docs/examples/video"/>
374                 <mkdir dir="dist/docs/examples/tracker"/>
375
376                 <xmltidy dest="dist/docs/examples">
377                   <filesets>
378                         <fileset dir="source/org/kolaka/freecast/config/samples">
379                                 <include name="**/*.xml" />
380                         </fileset>
381                   </filesets>
382                 </xmltidy>
383
384                 <mkdir dir="dist/docs/examples/jws"/>
385                 <xmltidy dest="dist/docs/examples/jws">
386                   <filesets>
387                         <fileset dir="source/org/kolaka/freecast/node/swing">
388                                 <include name="config.xml" />
389                                 <include name="descriptor.xml" />
390                         </fileset>
391                   </filesets>
392                 </xmltidy>
393         </target>
394
395         <macrodef name="tidy">
396                 <attribute name="dest" />
397                 <attribute name="failonerror" default="true" />
398                 <attribute name="encoding" default="utf8" />
399                 <element name="filesets" optional="false" />
400                 <sequential>
401                         <apply executable="tidy" dest="@{dest}" failonerror="@{failonerror}" output="build/tidy.log" append="true">
402                                 <arg line="-quiet -@{encoding} -wrap 100" />
403                                 <arg value="-o" />
404                                 <targetfile />
405                                 <srcfile />
406                                 <filesets />
407                                 <mapper type="identity" />
408                         </apply>
409                 </sequential>
410         </macrodef>
411
412         <macrodef name="xmltidy">
413                 <attribute name="dest" />
414                 <attribute name="failonerror" default="true" />
415                 <element name="filesets" optional="false" />
416                 <sequential>
417                         <apply executable="tidy" dest="@{dest}" failonerror="@{failonerror}" output="build/tidy.log" append="true">
418                                 <arg line="-xml -quiet -utf8 -wrap 100 -indent -errors" />
419                                 <arg value="-o" />
420                                 <targetfile />
421                                 <srcfile />
422                                 <filesets />
423                                 <mapper type="identity" />
424                         </apply>
425                 </sequential>
426         </macrodef>
427        
428 </project>
Note: See TracBrowser for help on using the browser.