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

Last change on this file since 22801 was 22801, checked in by sjm84, 14 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

File size: 18.1 KB
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 repository browser.