root/main/trunk/release-kits/kits/cdrk2/ant-scripts/build.xml @ 22801

Revision 22801, 18.1 KB (checked in by sjm84, 9 years ago)

Documentation being retrieved from external sites can now fail without stopping the release kit, the link to the documented examples also needed to be modified

Line 
1<?xml version="1.0" encoding="utf-8" ?>
2<!--
3    ..........................................................
4    March 2009
5    CD Release Kit for Greenstone2 (cdrk2)
6    Oran Fry
7    ..........................................................
8  -->
9
10<project name="cdrk2-build" default="cdrk2">
11
12    <!-- IMPORT OTHER ANT SCRIPTS -->
13    <import file="${rk.home}/shared/core/ant-scripts/shared.xml"/>
14    <import file="${rk.home}/shared/greenstone2/ant-scripts/greenstone2-shared.xml"/>
15
16    <!-- THE MAIN TARGET -->
17    <target name="cdrk2" depends="init">
18
19        <property name="linux.file" value="null"/>
20        <property name="mac.file" value="null"/>
21        <property name="windows.file" value="null"/>
22        <property name="doc.file" value="null"/>
23
24        <if><bool><not><equals arg1="${linux.file}" arg2="null"/></not></bool>
25            <property name="software.archive.linux" value="file://${linux.file}"/>
26        </if>
27       
28        <if><bool><not><equals arg1="${mac.file}" arg2="null"/></not></bool>
29            <property name="software.archive.mac" value="file://${mac.file}"/>
30        </if>
31       
32        <if><bool><not><equals arg1="${windows.file}" arg2="null"/></not></bool>
33            <property name="software.archive.windows" value="file://${windows.file}"/>
34        </if>
35       
36        <if><bool><not><equals arg1="${doc.file}" arg2="null"/></not></bool>
37            <property name="software.archive.documented-examples" value="file://${doc.file}"/>
38        </if>
39       
40        <!-- figure out where the compiled software is coming from -->
41        <property name="software.archive.linux" value="http://www.greenstone.org/caveat-emptor/cdrom-components-${version}-candidate-${date}-linux.tar.gz"/>
42        <property name="software.archive.windows" value="http://www.greenstone.org/caveat-emptor/cdrom-components-${version}-candidate-${date}-windows.tar.gz"/>
43        <property name="software.archive.mac" value="http://www.greenstone.org/caveat-emptor/cdrom-components-${version}-candidate-${date}-mac.tar.gz"/>
44        <property name="software.archive.documented-examples" value="http://www.greenstone.org/caveat-emptor/Greenstone-documented-examples-${date}.tar.gz"/>
45       
46        <!-- show the properties we're using -->
47        <if><bool><not><equals arg1="${no.linux}" arg2="true"/></not></bool>
48            <echo message="software.archive.linux:                    ${software.archive.linux}"/>
49        </if>
50
51        <if><bool><not><equals arg1="${no.windows}" arg2="true"/></not></bool>
52            <echo message="software.archive.windows:                  ${software.archive.windows}"/>
53        </if>
54
55        <if><bool><not><equals arg1="${no.mac}" arg2="true"/></not></bool>
56            <echo message="software.archive.mac:                      ${software.archive.mac}"/>
57        </if>
58
59        <if><bool><not><equals arg1="${no.doc}" arg2="true"/></not></bool>
60            <echo message="software.archive.documented-examples:      ${software.archive.documented-examples}"/>
61        </if>
62
63        <!-- create a directory for the cdrom contents -->
64        <mkdir dir="cdrom"/>
65
66        <!-- checkout and compile documentation java/fop code -->
67        <if><bool><or><equals arg1="${branch.path}" arg2="trunk"/><isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/></or></bool>
68            <exec executable="svn">
69                <arg value="export"/>
70                <arg value="${svn.root}/documentation/${branch.path}/shared"/>
71                <arg value="documentation/shared"/>
72            </exec>
73         
74        <else>
75            <exec executable="svn">
76                <arg value="export"/>
77                <arg value="${svn.root}/main/${branch.path}/documentation/shared"/>
78                <arg value="documentation/shared"/>
79            </exec>
80        </else>
81        </if>
82
83        <javac srcdir="documentation/shared" destdir="documentation/shared" debug="on" classpath="documentation/shared/xalan.jar">
84            <include name="*.java"/>
85        </javac>
86
87        <!-- checkout tutorials and build them -->
88        <if><bool><or><equals arg1="${branch.path}" arg2="trunk"/><isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/></or></bool> 
89            <exec executable="svn">
90                <arg value="checkout"/>
91                <arg value="${svn.root}/documentation/${branch.path}/tutorials"/><arg value="documentation/tutorials"/>
92            </exec>
93            <exec executable="svn">
94                <arg value="checkout"/>
95                <arg value="${svn.root}/main/${branch.path}/gli"/>
96                <arg value="documentation/gli"/>
97            </exec>
98            <exec executable="svn">
99                <arg value="checkout"/>
100                <arg value="${svn.root}/main/${branch.path}/greenstone2/perllib"/>
101                <arg value="documentation/perllib"/>
102            </exec>
103            <exec executable="svn">
104                <arg value="checkout"/>
105                <arg value="${svn.root}/main/${branch.path}/greenstone2/macros"/>
106                <arg value="documentation/macros"/>
107            </exec>
108            <exec executable="svn">
109                <arg value="checkout"/>
110                <arg value="${svn.root}/documentation/${branch.path}/tutorial_sample_files"/>
111                <arg value="documentation/tutorial_sample_files"/>
112            </exec>
113         
114        <else>
115            <exec executable="svn">
116                <arg value="checkout"/>
117                <arg value="${svn.root}/main/${branch.path}/documentation/tutorials"/>
118                <arg value="documentation/tutorials"/>
119            </exec>
120            <exec executable="svn">
121                <arg value="checkout"/>
122                <arg value="${svn.root}/main/${branch.path}/gli"/>
123                <arg value="documentation/gli"/>
124            </exec>
125            <exec executable="svn">
126                <arg value="checkout"/>
127                <arg value="${svn.root}/main/${branch.path}/gsdl/perllib"/>
128                <arg value="documentation/perllib"/>
129            </exec>
130            <exec executable="svn">
131                <arg value="checkout"/>
132                <arg value="${svn.root}/main/${branch.path}/gsdl/macros"/>
133                <arg value="documentation/macros"/>
134            </exec>
135            <exec executable="svn">
136                <arg value="checkout"/>
137                <arg value="${svn.root}/main/${branch.path}/documentation/tutorial_sample_files"/>
138                <arg value="documentation/tutorial_sample_files"/>
139            </exec>
140        </else>
141        </if>
142
143        <delete dir="documentation/tutorials/html"/>
144        <exec dir="documentation/tutorials" executable="/bin/bash">
145            <arg value="generate-html.sh"/>
146            <env key="GSDLHOME" value="${basedir}/documentation"/>
147        </exec>
148        <delete dir="cdrom/Tutorial Exercises"/>
149        <mkdir dir="cdrom/Tutorial Exercises/sample_files"/>
150
151        <!-- copy tutorial html into place on the cd -->
152        <copy todir="cdrom/Tutorial Exercises/English"><fileset dir="documentation/tutorials/html/en"/></copy>
153        <copy todir="cdrom/Tutorial Exercises/French"><fileset dir="documentation/tutorials/html/fr"/></copy>
154        <copy todir="cdrom/Tutorial Exercises/Spanish"><fileset dir="documentation/tutorials/html/es"/></copy>
155        <copy todir="cdrom/Tutorial Exercises/Russian"><fileset dir="documentation/tutorials/html/ru"/></copy>
156
157        <!-- create tutorial sample files zips in place on the cdrom -->
158        <zip destfile="cdrom/Tutorial Exercises/sample_files/beatles.zip" basedir="documentation/tutorial_sample_files/beatles"/>
159        <zip destfile="cdrom/Tutorial Exercises/sample_files/custom.zip" basedir="documentation/tutorial_sample_files/custom"/>
160        <zip destfile="cdrom/Tutorial Exercises/sample_files/demo_NewFiles.zip" basedir="documentation/tutorial_sample_files/demo_NewFiles"/>
161        <zip destfile="cdrom/Tutorial Exercises/sample_files/dspace.zip" basedir="documentation/tutorial_sample_files/dspace"/>
162        <zip destfile="cdrom/Tutorial Exercises/sample_files/images.zip" basedir="documentation/tutorial_sample_files/images"/>
163        <zip destfile="cdrom/Tutorial Exercises/sample_files/isis.zip" basedir="documentation/tutorial_sample_files/isis"/>
164        <zip destfile="cdrom/Tutorial Exercises/sample_files/marc.zip" basedir="documentation/tutorial_sample_files/marc"/>
165        <zip destfile="cdrom/Tutorial Exercises/sample_files/niupepa.zip" basedir="documentation/tutorial_sample_files/niupepa"/>
166        <zip destfile="cdrom/Tutorial Exercises/sample_files/oai.zip" basedir="documentation/tutorial_sample_files/oai"/>
167        <zip destfile="cdrom/Tutorial Exercises/sample_files/simple_html.zip" basedir="documentation/tutorial_sample_files/simple_html"/>
168        <zip destfile="cdrom/Tutorial Exercises/sample_files/tudor.zip" basedir="documentation/tutorial_sample_files/tudor"/>
169        <zip destfile="cdrom/Tutorial Exercises/sample_files/Word_and_PDF.zip" basedir="documentation/tutorial_sample_files/Word_and_PDF"/>
170
171        <!-- checkout manuals ad build them -->
172        <if><bool><or><equals arg1="${branch.path}" arg2="trunk"/><isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/></or></bool>
173            <exec executable="svn">
174                <arg value="checkout"/>
175                <arg value="${svn.root}/documentation/${branch.path}/manuals"/>
176                <arg value="documentation/manuals"/>
177            </exec>
178            <exec executable="svn">
179                <arg value="checkout"/>
180                <arg value="${svn.root}/documentation/${branch.path}/shared"/>
181                <arg value="documentation/shared"/>
182            </exec>   
183        <else>
184            <exec executable="svn">
185                <arg value="checkout"/>
186                <arg value="${svn.root}/main/${branch.path}/documentation/manuals"/>
187                <arg value="documentation/manuals"/>
188            </exec>
189            <exec executable="svn">
190                <arg value="checkout"/>
191                <arg value="${svn.root}/main/${branch.path}/documentation/shared"/>
192                <arg value="documentation/shared"/>
193            </exec>
194        </else>
195        </if>
196
197        <exec executable="svn">
198            <arg value="checkout"/>
199            <arg value="${svn.root}/main/${branch.path}/gli"/>
200            <arg value="documentation/gli"/>
201        </exec>
202
203        <unzip src="documentation/shared/fop.zip" dest="documentation/shared"/>
204        <chmod perm="a+x" file="documentation/shared/fop/fop.sh"/>
205
206        <antcall target="generate-gli-chapter"><param name="language" value="en"/></antcall>
207        <antcall target="generate-gli-chapter"><param name="language" value="fr"/></antcall>
208        <antcall target="generate-gli-chapter"><param name="language" value="es"/></antcall>
209        <antcall target="generate-gli-chapter"><param name="language" value="ru"/></antcall>
210
211        <delete dir="documentation/manuals/build"/>
212        <exec dir="documentation/manuals" executable="/bin/bash">
213            <arg value="generate-pdf.sh"/>
214            <arg value="all"/>
215            <arg value="en es ru fr"/>
216        </exec>
217
218        <exec spawn="true" dir="documentation/manuals" executable="/bin/bash">
219            <arg value="generate-pdf.sh"/>
220            <arg value="Install"/>
221            <arg value="ar"/>
222        </exec>
223
224        <!-- put manuals in place on cdrom -->
225        <delete dir="cdrom/Documentation"/>
226        <copy todir="cdrom/Documentation/English"><fileset dir="documentation/manuals/build/en/pdf"/></copy>
227        <copy todir="cdrom/Documentation/French"><fileset dir="documentation/manuals/build/fr/pdf"/></copy>
228        <copy todir="cdrom/Documentation/Spanish"><fileset dir="documentation/manuals/build/es/pdf"/></copy>
229        <copy todir="cdrom/Documentation/Russian"><fileset dir="documentation/manuals/build/ru/pdf"/></copy>
230        <copy todir="cdrom/Documentation/Arabic"><fileset dir="documentation/manuals/build/ar/pdf"/></copy>
231
232        <!-- top off manuals with a few more from the web -->
233        <antcall target="get-doc"><param name="docsrc" value="http://wiki.greenstone.org/wiki/gsdoc/others/CDS-ISIS_to_DL.pdf"/><param name="docdest" value="cdrom/Documentation/English/CDS-ISIS_to_DL.pdf"/></antcall>
234        <antcall target="get-doc"><param name="docsrc" value="http://www.greenstone.org/docs/inside_greenstone.pdf"/><param name="docdest" value="cdrom/Documentation/English/inside_greenstone.pdf"/></antcall>
235        <antcall target="get-doc"><param name="docsrc" value="http://www.greenstone.org/manuals/gsdl2/ar/pdf/Users_Guide_Arabic.doc"/><param name="docdest" value="cdrom/Documentation/Arabic/Users_Guide_Arabic.doc"/></antcall>
236        <antcall target="get-doc"><param name="docsrc" value="http://www.greenstone.org/manuals/gsdl2/ar/pdf/Install_ar.pdf"/><param name="docdest" value="cdrom/Documentation/Arabic/Install_ar.pdf"/></antcall>
237
238        <mkdir dir="cdrom/Documentation/Brazilian Portuguese"/>
239        <antcall target="get-doc"><param name="docsrc" value="http://www.greenstone.org/manuals/gsdl2/pt-br/pdf/Install_pt-br.pdf"/><param name="docdest" value="cdrom/Documentation/Brazilian Portuguese/Install_pt-br.pdf"/></antcall>
240
241        <mkdir dir="cdrom/Documentation/Vietnamese"/>
242        <antcall target="get-doc"><param name="docsrc" value="http://prdownloads.sourceforge.net/greenstone/Install-2.39-vi.pdf"/><param name="docdest" value="cdrom/Documentation/Vietnamese/Install-2.39-vi.pdf"/></antcall> 
243        <antcall target="get-doc"><param name="docsrc" value="http://prdownloads.sourceforge.net/greenstone/User-2.39-vi.pdf"/><param name="docdest" value="cdrom/Documentation/Vietnamese/User-2.39-vi.pdf"/></antcall>
244        <antcall target="get-doc"><param name="docsrc" value="http://prdownloads.sourceforge.net/greenstone/Paper-2.39-vi.pdf"/><param name="docdest" value="cdrom/Documentation/Vietnamese/Paper-2.39-vi.pdf"/></antcall>
245
246        <mkdir dir="cdrom/Documentation/Kazakh"/>
247        <antcall target="get-doc"><param name="docsrc" value="http://prdownloads.sourceforge.net/greenstone/Install-2.39-kz.pdf"/><param name="docdest" value="cdrom/Documentation/Kazakh/Install-2.39-kz.pdf"/></antcall>
248        <antcall target="get-doc"><param name="docsrc" value="http://prdownloads.sourceforge.net/greenstone/User-2.39-kz.pdf"/><param name="docdest" value="cdrom/Documentation/Kazakh/User-2.39-kz.pdf"/></antcall>
249        <antcall target="get-doc"><param name="docsrc" value="http://prdownloads.sourceforge.net/greenstone/Paper-2.39-kz.pdf"/><param name="docdest" value="cdrom/Documentation/Kazakh/Paper-2.39-kz.pdf"/></antcall>
250
251        <!-- insert the documented examples onto cdrom -->
252        <if><bool><not><equals arg1="${no.doc}" arg2="true"/></not></bool>
253            <mkdir dir="archives"/>
254            <get src="${software.archive.documented-examples}" dest="archives/documented-examples.tar.gz"/>       
255            <delete dir="cdrom/Documented Examples"/>
256            <copy toDir="cdrom">
257                <fileset dir="${rk.home}/kits/${rk.name}/resources">
258                    <include name="Documented Examples/**/*"/>
259                    <include name="Documented Examples"/>
260                </fileset>
261            </copy>
262            <exec executable="tar" dir="cdrom/Documented Examples"><arg value="-xzf"/><arg value="../../archives/documented-examples.tar.gz"/></exec>
263        </if>
264
265        <!-- insert readmes -->
266        <copy todir="cdrom"><fileset dir="${rk.home}/shared/greenstone2/docs"/></copy>
267        <antcall target="gsdl-set-dates-in-readmes"><param name="gsdl.basedir" value="${basedir}/cdrom"/></antcall>
268
269        <!-- insert linux software -->
270        <if><bool><not><equals arg1="${no.linux}" arg2="true"/></not></bool>
271            <mkdir dir="cdrom"/>
272            <mkdir dir="archives"/>
273            <get src="${software.archive.linux}" dest="archives/linux.tar.gz"/>
274            <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/linux.tar.gz"/></exec>
275        </if>
276
277        <!-- insert windows software -->
278        <if><bool><not><equals arg1="${no.windows}" arg2="true"/></not></bool>
279            <mkdir dir="cdrom"/>
280            <mkdir dir="archives"/>
281            <get src="${software.archive.windows}" dest="archives/windows.tar.gz"/>
282            <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/windows.tar.gz"/></exec>
283        </if>
284
285        <!-- insert mac software -->
286        <if><bool><not><equals arg1="${no.mac}" arg2="true"/></not></bool>
287            <mkdir dir="cdrom"/>
288            <mkdir dir="archives"/>
289            <get src="${software.archive.mac}" dest="archives/mac.tar.gz"/>
290            <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/mac.tar.gz"/></exec>
291        </if>
292
293        <!-- create autorun (windows) -->
294        <exec executable="cp">
295            <arg value="${rk.home}/kits/${rk.name}/resources/AUTORUN.INF"/>
296            <arg value="cdrom"/>
297        </exec>
298
299        <!-- finally create the cdrom image -->
300        <mkdir dir="products"/>
301        <exec executable="mkisofs">
302            <arg value="-V"/>
303            <arg value="Greenstone-${version}"/>
304            <arg value="-input-charset"/>
305            <arg value="utf-8"/>
306            <arg value="-o"/>
307            <arg value="products/Greenstone-${version}-cdrom.iso"/>
308            <arg value="-J"/>
309            <arg value="-R"/>
310            <arg value="-D"/>
311            <arg value="cdrom"/>
312        </exec>
313        <exec executable="/bin/bash" dir="products">
314            <arg value="-c"/>
315            <arg value="cat Greenstone-${version}-cdrom.iso | gzip > Greenstone-${version}-cdrom.iso.gz"/>
316        </exec>
317        <exec executable="/bin/bash" dir="products">
318            <arg value="-c"/>
319            <arg value="zip Greenstone-${version}-cdrom.zip Greenstone-${version}-cdrom.iso"/>
320        </exec>
321    </target>
322
323    <target name="properties" depends="core-properties">
324        <echo>no.linux                                    (optional)  specifies that this cd should not use files from the linux distribution</echo>
325        <echo>no.windows                                  (optional)  specifies that this cd should not use files from the windows distribution</echo>
326        <echo>no.mac                                      (optional)  specifies that this cd should not use files from the mac distribution</echo>
327        <echo>no.doc                                      (optional)  specifies that this cd should not use the documented examples</echo>
328        <echo>linux.file                                  (optional)  use this if you would like to specify a file path to the linux software archive rather than a URL</echo>
329        <echo>windows.file                                (optional)  use this if you would like to specify a file path to the windows software archive rather than a URL</echo>
330        <echo>mac.file                                    (optional)  use this if you would like to specify a file path to the mac software archive rather than a URL</echo>
331        <echo>doc.file                                    (optional)  use this if you would like to specify a file path to the documented examples software archive rather than a URL</echo>
332        <echo>software.archive.linux                      (optional)  the URL to the linux archive of components</echo>
333        <echo>software.archive.windows                    (optional)  the URL to the windows archive of components</echo>
334        <echo>software.archive.mac                        (optional)  the URL to the mac archive of components</echo>
335        <echo>software.archive.documented-examples        (optional)  the URL to the archive of documented examples</echo>
336    </target>
337
338    <!-- target to generate the manual chapter about gli in a given language -->
339    <target name="generate-gli-chapter">
340        <path id="documentation.compile.classpath">
341            <fileset dir="documentation">
342                <include name="**/*.jar"/>
343            </fileset>
344            <pathelement path="documentation/gli/classes"/>
345            <pathelement path="documentation/shared"/>
346            <pathelement path="documentation/manuals"/>
347        </path>
348        <java classname="ApplyXSLT" classpathref="documentation.compile.classpath" output="documentation/manuals/xml-source/${language}/help-${language}.xml">
349            <arg value="${language}" />
350            <arg value="documentation/manuals/processing/gen-gli-help-to-manual-chapter.xsl" />
351            <arg value="documentation/gli/help/${language}/help.xml" />
352            <arg value="compiled" />
353        </java>
354        <copy file="documentation/manuals/xml-source/${language}/help-${language}.xml" todir="documentation/manuals"/>
355    </target>
356
357    <target name="get-doc">
358        <try>
359            <get src="${docsrc}" dest="${docdest}"/>
360        <catch>
361        </catch>
362        </try>
363    </target>
364</project>
Note: See TracBrowser for help on using the browser.