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

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

Further CD changes

File size: 18.5 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 <copy todir="cdrom/Tutorial Exercises/sample_files">
159 <fileset dir="documentation/tutorial_sample_files"/>
160 </copy>
161
162 <!--<zip destfile="cdrom/Tutorial Exercises/sample_files/beatles.zip" basedir="documentation/tutorial_sample_files/beatles"/>
163 <zip destfile="cdrom/Tutorial Exercises/sample_files/custom.zip" basedir="documentation/tutorial_sample_files/custom"/>
164 <zip destfile="cdrom/Tutorial Exercises/sample_files/demo_NewFiles.zip" basedir="documentation/tutorial_sample_files/demo_NewFiles"/>
165 <zip destfile="cdrom/Tutorial Exercises/sample_files/dspace.zip" basedir="documentation/tutorial_sample_files/dspace"/>
166 <zip destfile="cdrom/Tutorial Exercises/sample_files/images.zip" basedir="documentation/tutorial_sample_files/images"/>
167 <zip destfile="cdrom/Tutorial Exercises/sample_files/isis.zip" basedir="documentation/tutorial_sample_files/isis"/>
168 <zip destfile="cdrom/Tutorial Exercises/sample_files/marc.zip" basedir="documentation/tutorial_sample_files/marc"/>
169 <zip destfile="cdrom/Tutorial Exercises/sample_files/niupepa.zip" basedir="documentation/tutorial_sample_files/niupepa"/>
170 <zip destfile="cdrom/Tutorial Exercises/sample_files/oai.zip" basedir="documentation/tutorial_sample_files/oai"/>
171 <zip destfile="cdrom/Tutorial Exercises/sample_files/simple_html.zip" basedir="documentation/tutorial_sample_files/simple_html"/>
172 <zip destfile="cdrom/Tutorial Exercises/sample_files/tudor.zip" basedir="documentation/tutorial_sample_files/tudor"/>
173 <zip destfile="cdrom/Tutorial Exercises/sample_files/Word_and_PDF.zip" basedir="documentation/tutorial_sample_files/Word_and_PDF"/>-->
174
175 <!-- checkout manuals and build them -->
176 <if><bool><or><equals arg1="${branch.path}" arg2="trunk"/><isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/></or></bool>
177 <exec executable="svn">
178 <arg value="checkout"/>
179 <arg value="${svn.root}/documentation/${branch.path}/manuals"/>
180 <arg value="documentation/manuals"/>
181 </exec>
182 <exec executable="svn">
183 <arg value="checkout"/>
184 <arg value="${svn.root}/documentation/${branch.path}/shared"/>
185 <arg value="documentation/shared"/>
186 </exec>
187 <else>
188 <exec executable="svn">
189 <arg value="checkout"/>
190 <arg value="${svn.root}/main/${branch.path}/documentation/manuals"/>
191 <arg value="documentation/manuals"/>
192 </exec>
193 <exec executable="svn">
194 <arg value="checkout"/>
195 <arg value="${svn.root}/main/${branch.path}/documentation/shared"/>
196 <arg value="documentation/shared"/>
197 </exec>
198 </else>
199 </if>
200
201 <exec executable="svn">
202 <arg value="checkout"/>
203 <arg value="${svn.root}/main/${branch.path}/gli"/>
204 <arg value="documentation/gli"/>
205 </exec>
206
207 <unzip src="documentation/shared/fop.zip" dest="documentation/shared"/>
208 <chmod perm="a+x" file="documentation/shared/fop/fop.sh"/>
209
210 <antcall target="generate-gli-chapter"><param name="language" value="en"/></antcall>
211 <antcall target="generate-gli-chapter"><param name="language" value="fr"/></antcall>
212 <antcall target="generate-gli-chapter"><param name="language" value="es"/></antcall>
213 <antcall target="generate-gli-chapter"><param name="language" value="ru"/></antcall>
214
215 <delete dir="documentation/manuals/build"/>
216 <exec dir="documentation/manuals" executable="/bin/bash">
217 <arg value="generate-pdf.sh"/>
218 <arg value="all"/>
219 <arg value="en es ru fr"/>
220 </exec>
221
222 <exec spawn="true" dir="documentation/manuals" executable="/bin/bash">
223 <arg value="generate-pdf.sh"/>
224 <arg value="Install"/>
225 <arg value="ar"/>
226 </exec>
227
228 <!-- put manuals in place on cdrom -->
229 <delete dir="cdrom/Documentation"/>
230 <copy todir="cdrom/Documentation/English"><fileset dir="documentation/manuals/build/en/pdf"/></copy>
231 <copy todir="cdrom/Documentation/French"><fileset dir="documentation/manuals/build/fr/pdf"/></copy>
232 <copy todir="cdrom/Documentation/Spanish"><fileset dir="documentation/manuals/build/es/pdf"/></copy>
233 <copy todir="cdrom/Documentation/Russian"><fileset dir="documentation/manuals/build/ru/pdf"/></copy>
234 <copy todir="cdrom/Documentation/Arabic"><fileset dir="documentation/manuals/build/ar/pdf"/></copy>
235
236 <!-- top off manuals with a few more from the web -->
237 <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>
238 <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>
239 <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>
240 <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>
241
242 <mkdir dir="cdrom/Documentation/Brazilian Portuguese"/>
243 <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>
244
245 <mkdir dir="cdrom/Documentation/Vietnamese"/>
246 <antcall target="get-doc">
247 <param name="docsrc" value="http://ftp.heanet.ie/disk1/sourceforge/g/project/gr/greenstone/OldFiles/Install-2.39-vi.pdf"/>
248 <param name="docdest" value="cdrom/Documentation/Vietnamese/Install-2.39-vi.pdf"/>
249 </antcall>
250 <antcall target="get-doc">
251 <param name="docsrc" value="http://ftp.heanet.ie/disk1/sourceforge/g/project/gr/greenstone/OldFiles/User-2.39-vi.pdf"/>
252 <param name="docdest" value="cdrom/Documentation/Vietnamese/User-2.39-vi.pdf"/>
253 </antcall>
254 <antcall target="get-doc">
255 <param name="docsrc" value="http://ftp.heanet.ie/disk1/sourceforge/g/project/gr/greenstone/OldFiles/Paper-2.39-vi.pdf"/>
256 <param name="docdest" value="cdrom/Documentation/Vietnamese/Paper-2.39-vi.pdf"/>
257 </antcall>
258
259 <mkdir dir="cdrom/Documentation/Kazakh"/>
260 <antcall target="get-doc">
261 <param name="docsrc" value="http://ftp.heanet.ie/disk1/sourceforge/g/project/gr/greenstone/OldFiles/Install-2.39-kz.pdf"/>
262 <param name="docdest" value="cdrom/Documentation/Kazakh/Install-2.39-kz.pdf"/>
263 </antcall>
264 <antcall target="get-doc">
265 <param name="docsrc" value="http://ftp.heanet.ie/disk1/sourceforge/g/project/gr/greenstone/OldFiles/User-2.39-kz.pdf"/>
266 <param name="docdest" value="cdrom/Documentation/Kazakh/User-2.39-kz.pdf"/>
267 </antcall>
268 <antcall target="get-doc">
269 <param name="docsrc" value="http://ftp.heanet.ie/disk1/sourceforge/g/project/gr/greenstone/OldFiles/Paper-2.39-kz.pdf"/>
270 <param name="docdest" value="cdrom/Documentation/Kazakh/Paper-2.39-kz.pdf"/>
271 </antcall>
272
273 <!-- insert the documented examples onto cdrom -->
274 <if><bool><not><equals arg1="${no.doc}" arg2="true"/></not></bool>
275 <mkdir dir="archives"/>
276 <get src="${software.archive.documented-examples}" dest="archives/documented-examples.zip"/>
277 <delete dir="cdrom/Documented Examples"/>
278 <copy toDir="cdrom">
279 <fileset dir="archives">
280 <include name="documented-examples.zip"/>
281 </fileset>
282 </copy>
283 <!--<exec executable="tar" dir="cdrom/Documented Examples"><arg value="-xzf"/><arg value="../../archives/documented-examples.tar.gz"/></exec>-->
284 </if>
285
286 <!-- insert readmes -->
287 <copy todir="cdrom"><fileset dir="${rk.home}/shared/greenstone2/docs"/></copy>
288 <antcall target="gsdl-set-dates-in-readmes"><param name="gsdl.basedir" value="${basedir}/cdrom"/></antcall>
289
290 <!-- insert linux software -->
291 <if><bool><not><equals arg1="${no.linux}" arg2="true"/></not></bool>
292 <mkdir dir="cdrom"/>
293 <mkdir dir="archives"/>
294 <get src="${software.archive.linux}" dest="archives/linux.tar.gz"/>
295 <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/linux.tar.gz"/></exec>
296 </if>
297
298 <!-- insert windows software -->
299 <if><bool><not><equals arg1="${no.windows}" arg2="true"/></not></bool>
300 <mkdir dir="cdrom"/>
301 <mkdir dir="archives"/>
302 <get src="${software.archive.windows}" dest="archives/windows.tar.gz"/>
303 <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/windows.tar.gz"/></exec>
304 </if>
305
306 <!-- insert mac software -->
307 <if><bool><not><equals arg1="${no.mac}" arg2="true"/></not></bool>
308 <mkdir dir="cdrom"/>
309 <mkdir dir="archives"/>
310 <get src="${software.archive.mac}" dest="archives/mac.tar.gz"/>
311 <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/mac.tar.gz"/></exec>
312 </if>
313
314 <!-- create autorun (windows) -->
315 <exec executable="cp">
316 <arg value="${rk.home}/kits/${rk.name}/resources/AUTORUN.INF"/>
317 <arg value="cdrom"/>
318 </exec>
319
320 <!-- finally create the cdrom image -->
321 <mkdir dir="products"/>
322 <exec executable="mkisofs">
323 <arg value="-V"/>
324 <arg value="Greenstone-${version}"/>
325 <arg value="-input-charset"/>
326 <arg value="utf-8"/>
327 <arg value="-o"/>
328 <arg value="products/Greenstone-${version}-cdrom.iso"/>
329 <arg value="-J"/>
330 <arg value="-R"/>
331 <arg value="-D"/>
332 <arg value="cdrom"/>
333 </exec>
334 <exec executable="/bin/bash" dir="products">
335 <arg value="-c"/>
336 <arg value="cat Greenstone-${version}-cdrom.iso | gzip > Greenstone-${version}-cdrom.iso.gz"/>
337 </exec>
338 <exec executable="/bin/bash" dir="products">
339 <arg value="-c"/>
340 <arg value="zip Greenstone-${version}-cdrom.zip Greenstone-${version}-cdrom.iso"/>
341 </exec>
342 </target>
343
344 <target name="properties" depends="core-properties">
345 <echo>no.linux (optional) specifies that this cd should not use files from the linux distribution</echo>
346 <echo>no.windows (optional) specifies that this cd should not use files from the windows distribution</echo>
347 <echo>no.mac (optional) specifies that this cd should not use files from the mac distribution</echo>
348 <echo>no.doc (optional) specifies that this cd should not use the documented examples</echo>
349 <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>
350 <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>
351 <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>
352 <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>
353 <echo>software.archive.linux (optional) the URL to the linux archive of components</echo>
354 <echo>software.archive.windows (optional) the URL to the windows archive of components</echo>
355 <echo>software.archive.mac (optional) the URL to the mac archive of components</echo>
356 <echo>software.archive.documented-examples (optional) the URL to the archive of documented examples</echo>
357 </target>
358
359 <!-- target to generate the manual chapter about gli in a given language -->
360 <target name="generate-gli-chapter">
361 <path id="documentation.compile.classpath">
362 <fileset dir="documentation">
363 <include name="**/*.jar"/>
364 </fileset>
365 <pathelement path="documentation/gli/classes"/>
366 <pathelement path="documentation/shared"/>
367 <pathelement path="documentation/manuals"/>
368 </path>
369 <java classname="ApplyXSLT" classpathref="documentation.compile.classpath" output="documentation/manuals/xml-source/${language}/help-${language}.xml">
370 <arg value="${language}" />
371 <arg value="documentation/manuals/processing/gen-gli-help-to-manual-chapter.xsl" />
372 <arg value="documentation/gli/help/${language}/help.xml" />
373 <arg value="compiled" />
374 </java>
375 <copy file="documentation/manuals/xml-source/${language}/help-${language}.xml" todir="documentation/manuals"/>
376 </target>
377
378 <target name="get-doc">
379 <try>
380 <get src="${docsrc}" dest="${docdest}"/>
381 <catch>
382 </catch>
383 </try>
384 </target>
385</project>
Note: See TracBrowser for help on using the repository browser.