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

Last change on this file since 22699 was 22699, checked in by sjm84, 12 years ago

Tidied up this file to make it easier to read

File size: 17.2 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-${version}-candidate-${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 <get src="http://wiki.greenstone.org/wiki/gsdoc/others/CDS-ISIS_to_DL.pdf" dest="cdrom/Documentation/English/CDS-ISIS_to_DL.pdf"/>
234 <get src="http://www.greenstone.org/docs/inside_greenstone.pdf" dest="cdrom/Documentation/English/inside_greenstone.pdf"/>
235
236 <get src="http://www.greenstone.org/manuals/gsdl2/ar/pdf/Users_Guide_Arabic.doc" dest="cdrom/Documentation/Arabic/Users_Guide_Arabic.doc"/>
237 <get src="http://www.greenstone.org/manuals/gsdl2/ar/pdf/Install_ar.pdf" dest="cdrom/Documentation/Arabic/Install_ar.pdf"/>
238
239 <mkdir dir="cdrom/Documentation/Brazilian Portuguese"/>
240 <get src="http://www.greenstone.org/manuals/gsdl2/pt-br/pdf/Install_pt-br.pdf" dest="cdrom/Documentation/Brazilian Portuguese/Install_pt-br.pdf"/>
241
242 <mkdir dir="cdrom/Documentation/Vietnamese"/>
243 <get src="http://prdownloads.sourceforge.net/greenstone/Install-2.39-vi.pdf" dest="cdrom/Documentation/Vietnamese/Install-2.39-vi.pdf"/>
244 <get src="http://prdownloads.sourceforge.net/greenstone/User-2.39-vi.pdf" dest="cdrom/Documentation/Vietnamese/User-2.39-vi.pdf"/>
245 <get src="http://prdownloads.sourceforge.net/greenstone/Paper-2.39-vi.pdf" dest="cdrom/Documentation/Vietnamese/Paper-2.39-vi.pdf"/>
246
247 <mkdir dir="cdrom/Documentation/Kazakh"/>
248 <get src="http://prdownloads.sourceforge.net/greenstone/Install-2.39-kz.pdf" dest="cdrom/Documentation/Kazakh/Install-2.39-kz.pdf"/>
249 <get src="http://prdownloads.sourceforge.net/greenstone/User-2.39-kz.pdf" dest="cdrom/Documentation/Kazakh/User-2.39-kz.pdf"/>
250 <get src="http://prdownloads.sourceforge.net/greenstone/Paper-2.39-kz.pdf" dest="cdrom/Documentation/Kazakh/Paper-2.39-kz.pdf"/>
251
252 <!-- insert the documented examples onto cdrom -->
253 <if><bool><not><equals arg1="${no.doc}" arg2="true"/></not></bool>
254 <mkdir dir="archives"/>
255 <get src="${software.archive.documented-examples}" dest="archives/documented-examples.tar.gz"/>
256 <delete dir="cdrom/Documented Examples"/>
257 <copy toDir="cdrom">
258 <fileset dir="${rk.home}/kits/${rk.name}/resources">
259 <include name="Documented Examples/**/*"/>
260 <include name="Documented Examples"/>
261 </fileset>
262 </copy>
263 <exec executable="tar" dir="cdrom/Documented Examples"><arg value="-xzf"/><arg value="../../archives/documented-examples.tar.gz"/></exec>
264 </if>
265
266 <!-- insert readmes -->
267 <copy todir="cdrom"><fileset dir="${rk.home}/shared/greenstone2/docs"/></copy>
268 <antcall target="gsdl-set-dates-in-readmes"><param name="gsdl.basedir" value="${basedir}/cdrom"/></antcall>
269
270 <!-- insert linux software -->
271 <if><bool><not><equals arg1="${no.linux}" arg2="true"/></not></bool>
272 <mkdir dir="cdrom"/>
273 <mkdir dir="archives"/>
274 <get src="${software.archive.linux}" dest="archives/linux.tar.gz"/>
275 <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/linux.tar.gz"/></exec>
276 </if>
277
278 <!-- insert windows software -->
279 <if><bool><not><equals arg1="${no.windows}" arg2="true"/></not></bool>
280 <mkdir dir="cdrom"/>
281 <mkdir dir="archives"/>
282 <get src="${software.archive.windows}" dest="archives/windows.tar.gz"/>
283 <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/windows.tar.gz"/></exec>
284 </if>
285
286 <!-- insert mac software -->
287 <if><bool><not><equals arg1="${no.mac}" arg2="true"/></not></bool>
288 <mkdir dir="cdrom"/>
289 <mkdir dir="archives"/>
290 <get src="${software.archive.mac}" dest="archives/mac.tar.gz"/>
291 <exec executable="tar" dir="cdrom"><arg value="-xzf"/><arg value="../archives/mac.tar.gz"/></exec>
292 </if>
293
294 <!-- create autorun (windows) -->
295 <exec executable="cp">
296 <arg value="${rk.home}/kits/${rk.name}/resources/AUTORUN.INF"/>
297 <arg value="cdrom"/>
298 </exec>
299
300 <!-- finally create the cdrom image -->
301 <mkdir dir="products"/>
302 <exec executable="mkisofs">
303 <arg value="-V"/>
304 <arg value="Greenstone-${version}"/>
305 <arg value="-input-charset"/>
306 <arg value="utf-8"/>
307 <arg value="-o"/>
308 <arg value="products/Greenstone-${version}-cdrom.iso"/>
309 <arg value="-J"/>
310 <arg value="-R"/>
311 <arg value="-D"/>
312 <arg value="cdrom"/>
313 </exec>
314 <exec executable="/bin/bash" dir="products">
315 <arg value="-c"/>
316 <arg value="cat Greenstone-${version}-cdrom.iso | gzip > Greenstone-${version}-cdrom.iso.gz"/>
317 </exec>
318 <exec executable="/bin/bash" dir="products">
319 <arg value="-c"/>
320 <arg value="zip Greenstone-${version}-cdrom.zip Greenstone-${version}-cdrom.iso"/>
321 </exec>
322 </target>
323
324 <target name="properties" depends="core-properties">
325 <echo>no.linux (optional) specifies that this cd should not use files from the linux distribution</echo>
326 <echo>no.windows (optional) specifies that this cd should not use files from the windows distribution</echo>
327 <echo>no.mac (optional) specifies that this cd should not use files from the mac distribution</echo>
328 <echo>no.doc (optional) specifies that this cd should not use the documented examples</echo>
329 <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>
330 <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>
331 <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>
332 <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>
333 <echo>software.archive.linux (optional) the URL to the linux archive of components</echo>
334 <echo>software.archive.windows (optional) the URL to the windows archive of components</echo>
335 <echo>software.archive.mac (optional) the URL to the mac archive of components</echo>
336 <echo>software.archive.documented-examples (optional) the URL to the archive of documented examples</echo>
337 </target>
338
339 <!-- target to generate the manual chapter about gli in a given language -->
340 <target name="generate-gli-chapter">
341 <path id="documentation.compile.classpath">
342 <fileset dir="documentation">
343 <include name="**/*.jar"/>
344 </fileset>
345 <pathelement path="documentation/gli/classes"/>
346 <pathelement path="documentation/shared"/>
347 <pathelement path="documentation/manuals"/>
348 </path>
349 <java classname="ApplyXSLT" classpathref="documentation.compile.classpath" output="documentation/manuals/xml-source/${language}/help-${language}.xml">
350 <arg value="${language}" />
351 <arg value="documentation/manuals/processing/gen-gli-help-to-manual-chapter.xsl" />
352 <arg value="documentation/gli/help/${language}/help.xml" />
353 <arg value="compiled" />
354 </java>
355 <copy file="documentation/manuals/xml-source/${language}/help-${language}.xml" todir="documentation/manuals"/>
356 </target>
357
358</project>
Note: See TracBrowser for help on using the repository browser.