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

Revision 22098, 17.9 KB (checked in by sjm84, 10 years ago)

Added new properties that can be defined to specify the software to be included on the cd, specifically, no.[linux|windows|mac|doc] and the user can now also define a file to use with [linux|windows|mac|doc].file. This release kit has also been modified so that it is now backwards compatible

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
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 browser.