source: main/trunk/release-kits/kits/rk3/ant-scripts/compile.xml@ 35425

Last change on this file since 35425 was 35425, checked in by anupama, 8 months ago

Release-kits on windows were using a stale version of the bundled strawberry perl.zip (5.18) that was local inside the release-kits instead of grabbing the latest perl.zip (currently 5.22) that is on svn. Fixed this up in compile.xml to svn export the current perl.zip. Checked it works.

File size: 14.9 KB
Line 
1<?xml version="1.0" encoding="utf-8" ?>
2<project name="rk3-compile">
3
4 <target name="compile">
5
6 <!-- checkout greenstone3 -->
7 <exec executable="svn">
8 <arg value="checkout"/>
9 <arg value="${svn.root}/main/${branch.path}/greenstone3"/>
10 <arg value="compiled"/>
11 <arg value="-r"/><arg value="${branch.revision}"/>
12 </exec>
13
14 <if><bool><equals arg1="${with.jni}" arg2="false"/></bool>
15 <rsr file="${basedir}/compiled/build.properties.svn" pattern="with.jni=true" replacement="#with.jni=true"/>
16 </if>
17
18 <if><bool><equals arg1="${with.gli.and.gems}" arg2="false"/></bool>
19 <rsr file="${basedir}/compiled/build.properties.svn" pattern="with.gli.and.gems=true" replacement="#with.gli.and.gems=true"/>
20 </if>
21
22 <!-- make sure all c++ compilation is done statically on linux -->
23 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
24 <property name="forward.compile.static" value="true"/>
25 </if>
26
27 <!-- make sure the c++ compilation can see the support library in the extension folder -->
28 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
29 <property name="forward.use.gnomelib.ext" value="true"/>
30 </if>
31
32 <antcall target="persist-forwarded-properties">
33 <param name="greenstone3basedir" value="compiled"/>
34 </antcall>
35
36 <!-- run greenstone3's ant prepare -->
37 <ant dir="compiled" inheritAll="false">
38 <target name="prepare"/>
39 <propertyset refid="forward.properties"/>
40 <property name="properties.accepted" value="true"/>
41 </ant>
42
43 <!-- set all version numbers -->
44 <antcall target="greenstone3-set-version-numbers"><param name="greenstone3basedir" value="compiled"/></antcall>
45 <antcall target="gli-set-version-numbers"><param name="glibasedir" value="compiled/gli"/></antcall>
46 <antcall target="gsdl-set-version-numbers"><param name="gsdl.basedir" value="compiled/gs2build"/></antcall>
47
48 <!-- mac or linux: compile the support library -->
49 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
50 <!-- checkout the gnome support library extension-->
51
52 <!-- For Lions, need a specific gnome-lib-minimal tar file. The file name contains darwin12 for Lion, it contains the os.shell name (darwin/linux) for other cases.
53 Mac OS X v10.7.4 onwards is Lion/Mountain Lion, different from Leopard/Snow Leopard. See http://en.wikipedia.org/wiki/Darwin_(operating_system) -->
54 <condition property="specific.os.type" value="${os.shell}-Lion" else="${os.shell}">
55 <and>
56 <contains string="${os.shell}" substring="darwin" casesensitive="false"/>
57 <matches pattern="^(10\.7\.[4-9]|10\.[8-9]|1[1-9]|[2-9])" string="${os.version}"/>
58 </and>
59 </condition>
60
61 <if><bool><or>
62 <equals arg1="${post.2.83.version}" arg2="true"/>
63 </or></bool>
64 <echo>EXPORTING GNOME LIB EXTENSION</echo>
65 <exec executable="svn">
66 <arg value="export"/>
67 <arg value="${svn.root}/gs2-extensions/gnome-lib/trunk/gnome-lib-minimal-${specific.os.type}${arch}${extension-x64}.tar.gz"/>
68 <arg value="${basedir}/compiled/ext/gnome-lib-${specific.os.type}.tar.gz"/>
69 </exec>
70
71 <exec executable="tar" dir="${basedir}/compiled/ext">
72 <arg value="xvzf"/>
73 <arg value="gnome-lib-${specific.os.type}.tar.gz"/>
74 </exec>
75
76 <exec executable="/bin/bash" dir="${basedir}/compiled/ext/gnome-lib-minimal">
77 <arg value="-c"/>
78 <arg value="source setup.bash_old &amp;&amp; source devel.bash"/>
79 </exec>
80 <echo>DONE COMPILING GNOME LIB EXTENSION</echo>
81 </if>
82 </if>
83
84 <!-- <rsr file="${basedir}/compiled/build.xml" pattern="CFLAGS=&amp;quot;" replacement="CFLAGS=&amp;quot;-fPIC "/> -->
85
86 <!-- run greenstone3's ant install and ant dist-tidy -->
87 <ant dir="compiled" inheritAll="false">
88 <target name="install"/>
89 <target name="dist-tidy"/>
90 <propertyset refid="forward.properties"/>
91 <property name="properties.accepted" value="true"/>
92 <property name="properties.keep.src" value="${keep.src}"/>
93 </ant>
94
95 <!-- Delete all collections apart from the Lucene demo collection -->
96 <delete dir="${basedir}/compiled/web/sites/localsite/collect/gberg"/>
97 <delete dir="${basedir}/compiled/web/sites/localsite/collect/gs2mgdemo"/>
98 <delete dir="${basedir}/compiled/web/sites/localsite/collect/gs2mgppdemo"/>
99 <delete dir="${basedir}/compiled/web/sites/localsite/collect/infomine"/>
100
101 <!-- Delete the entire gnome support library on Linux -->
102 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
103 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal"/>
104 <delete file="${basedir}/compiled/ext/gnome-lib-linux.tar.gz"/>
105 </if>
106
107 <!-- Delete all but the lib folder of the gnome support library on Mac,
108 then move this smaller gnome-lib-minimal dir from the top-level ext folder
109 to gs2build/ext, since wvware on mac needs gnome-lib-minimal -->
110 <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
111 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/cascade-make"/>
112 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/packages"/>
113 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/bin"/>
114 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/etc"/>
115 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/include"/>
116 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/share"/>
117 <delete file="${basedir}/compiled/ext/gnome-lib-minimal/setup.bat"/>
118 <delete file="${basedir}/compiled/ext/gnome-lib-minimal/CASCADE-MAKE.sh"/>
119 <delete file="${basedir}/compiled/ext/gnome-lib-darwin.tar.gz"/>
120 <move file="${basedir}/compiled/ext/gnome-lib-minimal" todir="compiled/gs2build/ext"/>
121 </if>
122
123 <!-- Delete Lucene 3.3 specific ext/solr folders, since we've switched over to Lucene 4.7.2 -->
124 <delete dir="${basedir}/compiled/ext/solr/lib3" />
125 <delete dir="${basedir}/compiled/ext/solr/conf3" />
126 <delete dir="${basedir}/compiled/ext/solr/etc3" />
127
128
129 <if><bool><and>
130 <equals arg1="${rk.os}" arg2="linux"/>
131 <equals arg1="${extension-x64}" arg2="-x64"/>
132 </and></bool>
133 <property name="bitness" value="64"/>
134 <else>
135 <property name="bitness" value="32"/>
136 </else>
137 </if>
138
139 <!-- insert an xml parser (matched to the version of Perl being used by the release kit).
140 For Linux 64 bit, use the 64 bit versions.
141 For other *nix cases, including Macs, we stick to the 32 bit
142 versions since there have been no problems yet, probably
143 because our Mac has 5.12 which is not included in
144 XML-Parser so that our mac then tries to find the xml
145 parser on the system.-->
146 <if><bool><not><equals arg1="${rk.os}" arg2="windows"/></not></bool>
147 <copy todir="compiled/gs2build/perllib/cpan">
148 <fileset dir="${rk.home}/shared/linux/XML-Parser" includes="${bitness}-bit/**/*"/>
149 </copy>
150 <move file="compiled/gs2build/perllib/cpan/${bitness}-bit" tofile="compiled/gs2build/perllib/cpan/XML-Parser"/>
151 </if>
152
153 <!-- insert ant -->
154 <property name="insert.ant.version" value="1.9.13"/> <!-- value="1.8.2" -->
155 <mkdir dir="compiled/packages"/>
156 <!--<get src="http://www.greenstone.org/gs3files/apache-ant-${insert.ant.version}-bin.tar.gz" dest="compiled/packages/apache-ant-${insert.ant.version}-bin.tar.gz"/>-->
157 <exec executable="wget" failonerror="true">
158 <arg value="-P"/>
159 <arg value="compiled/packages"/>
160 <arg value="--no-check-certificate"/>
161 <arg value="https://www.greenstone.org/gs3files/apache-ant-${insert.ant.version}-bin.tar.gz"/>
162 </exec>
163 <untar src="compiled/packages/apache-ant-${insert.ant.version}-bin.tar.gz" dest="compiled/packages/" compression="gzip"/>
164 <move file="compiled/packages/apache-ant-${insert.ant.version}" tofile="compiled/packages/ant"/>
165 <delete file="compiled/packages/apache-ant-${insert.ant.version}-bin.tar.gz"/>
166
167 <!-- put the uninstaller in place -->
168 <antcall target="insert-and-compile-uninstaller"/>
169
170 <!-- (windows only) -->
171 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
172 <!-- insert perl -->
173 <!--<unzip src="${rk.home}/shared/windows/perl.zip" dest="compiled/gs2build/bin/windows"/>-->
174 <exec executable="svn" dir="compiled/gs2build/bin/windows">
175 <arg value="export"/>
176 <arg value="${svn.root}/main/trunk/release-kits/shared/windows/perl.zip"/>
177 </exec>
178 <unzip src="compiled/gs2build/bin/windows/perl.zip" dest="compiled/gs2build/bin/windows"/>
179 <delete failonerror="false" file="compiled/gs2build/bin/windows/perl.zip" />
180 </if>
181
182 <!-- minify tomcat -->
183 <delete dir="compiled/packages/tomcat/webapps/docs"/>
184 <delete dir="compiled/packages/tomcat/webapps/examples"/>
185
186 <!-- tidy up gli to make it smaller -->
187 <antcall target="gli-tidy-for-dist"><param name="glibasedir" value="compiled/gli"/></antcall>
188
189 <!-- strip out .svn dirs -->
190 <antcall target="strip-svn-dirs"><param name="dir" value="compiled"/></antcall>
191
192 <!-- get rid of bin/formatconverter on windows and get rid of bin/formatconverter.exe on linux/mac. Now we have specific OS dirs, so get rid of the irrelevant OS dirs instead -->
193 <if>
194 <bool><equals arg1="${rk.os}" arg2="windows"/></bool>
195 <delete dir="compiled/bin/darwin"/>
196 <delete dir="compiled/bin/linux"/>
197 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
198 <delete dir="compiled/bin/windows"/>
199 <delete dir="compiled/bin/linux"/>
200 <else><if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
201 <delete dir="compiled/bin/windows"/>
202 <delete dir="compiled/bin/darwin"/>
203 </if></else>
204 </if></else>
205 </if>
206
207 <!-- (linux only) -->
208 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
209 <!-- grab imagemagick binaries -->
210 <delete dir="compiled/gs2build/bin/linux/imagemagick"/>
211
212 <exec executable="svn">
213 <arg value="export"/>
214 <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-linux${extension-x64}.tar.gz"/>
215 <arg value="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
216 </exec>
217
218 <exec executable="tar" dir="compiled/ext">
219 <arg value="xvzf"/>
220 <arg value="imagemagick-linux${extension-x64}.tar.gz"/>
221 </exec>
222 <delete file="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
223 <move todir="compiled/gs2build/bin/linux/imagemagick">
224 <fileset dir="compiled/ext/imagemagick/linux"/>
225 </move>
226 <delete dir="compiled/ext/imagemagick"/>
227
228 <!--<delete dir="compiled/gs2build/bin/linux/imagemagick"/>
229 <exec executable="svn">
230 <arg value="export"/>
231 <arg value="${svn.root}/main/${branch.path}/binaries/linux/imagemagick"/>
232 <arg value="compiled/gs2build/bin/linux/imagemagick"/>
233 </exec>-->
234
235 <!-- We don't want to bundle the old pre-compiled 32 bit wv folder anymore -->
236 <!-- grab wv binaries -->
237 <!--<delete dir="compiled/gs2build/bin/linux/wv"/>
238 <exec executable="svn">
239 <arg value="export"/>
240 <arg value="${svn.root}/main/${branch.path}/binaries/linux/wv"/>
241 <arg value="compiled/gs2build/bin/linux/wv"/>
242 </exec>
243 -->
244 <!-- (mac only) -->
245 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
246 <!-- grab imagemagick binaries -->
247
248 <delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
249
250 <!--<exec executable="svn">
251 <arg value="export"/>
252 <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-darwin-10.5.tar.gz"/>
253 <arg value="compiled/ext/imagemagick-darwin-10.5.tar.gz"/>
254 </exec>
255
256 <exec executable="tar" dir="compiled/ext">
257 <arg value="xvzf"/>
258 <arg value="imagemagick-darwin-10.5.tar.gz"/>
259 </exec>
260 <delete file="compiled/ext/imagemagick-darwin-10.5.tar.gz"/>
261 <move todir="compiled/gs2build/bin/darwin/imagemagick">
262 <fileset dir="compiled/ext/imagemagick/darwin"/>
263 </move>
264 <delete dir="compiled/ext/imagemagick"/>-->
265
266 <delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
267 <exec executable="svn">
268 <arg value="export"/>
269 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/imagemagick"/>
270 <arg value="compiled/gs2build/bin/darwin/imagemagick"/>
271 </exec>
272
273 <if><bool><not><equals arg1="${forward.install.flax}" arg2="true"/></not></bool>
274 <!-- grab ghostscript binaries -->
275 <delete dir="compiled/gs2build/bin/darwin/ghostscript"/>
276 <exec executable="svn">
277 <arg value="export"/>
278 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/ghostscript"/>
279 <arg value="compiled/gs2build/bin/darwin/ghostscript"/>
280 </exec>
281 </if>
282 </if></else></if>
283
284 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
285 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
286 <arg line="-S"/>
287 <arg line="gs2build/bin/script/import.pl -removeold -site localsite lucene-jdbm-demo"/>
288 <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
289 <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
290 <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
291 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
292 <env key="GSDLOS" value="windows"/>
293 <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
294 </exec>
295 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
296 <arg line="-S"/>
297 <arg line="gs2build/bin/script/buildcol.pl -removeold -site localsite lucene-jdbm-demo"/>
298 <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
299 <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
300 <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
301 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
302 <env key="GSDLOS" value="windows"/>
303 <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
304 </exec>
305 <delete dir="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
306 <move file="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/building" tofile="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
307 <else>
308 <echo file="${basedir}/compiled/buildscript.sh">
309 #!/bin/bash
310 source gs3-setup.sh
311 /usr/bin/perl -S ${basedir}/compiled/gs2build/bin/script/import.pl -site localsite lucene-jdbm-demo
312 /usr/bin/perl -S ${basedir}/compiled/gs2build/bin/script/buildcol.pl -site localsite lucene-jdbm-demo
313 rm -rf ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index
314 mv ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/building ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index
315 </echo>
316 <chmod perm="775" file="${basedir}/compiled/buildscript.sh"/>
317 <exec dir="${basedir}/compiled" executable="/bin/bash">
318 <arg line="buildscript.sh"/>
319 </exec>
320 <delete file="${basedir}/compiled/buildscript.sh"/>
321 </else>
322 </if>
323
324 </target>
325
326</project>
Note: See TracBrowser for help on using the repository browser.