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

Last change on this file since 22099 was 22099, checked in by sjm84, 13 years ago

Fixed a small error with previous commit

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