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, 3 years 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
RevLine 
[20335]1<?xml version="1.0" encoding="utf-8" ?>
2<project name="rk3-compile">
3
4 <target name="compile">
[21630]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"/>
[21652]11 <arg value="-r"/><arg value="${branch.revision}"/>
[21630]12 </exec>
13
[23811]14 <if><bool><equals arg1="${with.jni}" arg2="false"/></bool>
[32320]15 <rsr file="${basedir}/compiled/build.properties.svn" pattern="with.jni=true" replacement="#with.jni=true"/>
[23811]16 </if>
17
18 <if><bool><equals arg1="${with.gli.and.gems}" arg2="false"/></bool>
[32320]19 <rsr file="${basedir}/compiled/build.properties.svn" pattern="with.gli.and.gems=true" replacement="#with.gli.and.gems=true"/>
[23811]20 </if>
21
[21748]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
[22851]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>
[27186]29 <property name="forward.use.gnomelib.ext" value="true"/>
[22851]30 </if>
31
32 <antcall target="persist-forwarded-properties">
33 <param name="greenstone3basedir" value="compiled"/>
34 </antcall>
35
[21630]36 <!-- run greenstone3's ant prepare -->
[20335]37 <ant dir="compiled" inheritAll="false">
38 <target name="prepare"/>
39 <propertyset refid="forward.properties"/>
[21748]40 <property name="properties.accepted" value="true"/>
[20335]41 </ant>
[21630]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
[22836]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-->
[28301]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}">
[28512]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>
[28301]59 </condition>
60
[22939]61 <if><bool><or>
[23618]62 <equals arg1="${post.2.83.version}" arg2="true"/>
[22939]63 </or></bool>
[23612]64 <echo>EXPORTING GNOME LIB EXTENSION</echo>
[22836]65 <exec executable="svn">
[23612]66 <arg value="export"/>
[28301]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"/>
[22836]69 </exec>
[23612]70
71 <exec executable="tar" dir="${basedir}/compiled/ext">
72 <arg value="xvzf"/>
[28301]73 <arg value="gnome-lib-${specific.os.type}.tar.gz"/>
[23612]74 </exec>
75
76 <exec executable="/bin/bash" dir="${basedir}/compiled/ext/gnome-lib-minimal">
[22836]77 <arg value="-c"/>
[24389]78 <arg value="source setup.bash_old &amp;&amp; source devel.bash"/>
[22836]79 </exec>
[22939]80 <echo>DONE COMPILING GNOME LIB EXTENSION</echo>
[22941]81 </if>
[22836]82 </if>
83
[32320]84 <!-- <rsr file="${basedir}/compiled/build.xml" pattern="CFLAGS=&amp;quot;" replacement="CFLAGS=&amp;quot;-fPIC "/> -->
85
[21630]86 <!-- run greenstone3's ant install and ant dist-tidy -->
[20335]87 <ant dir="compiled" inheritAll="false">
88 <target name="install"/>
89 <target name="dist-tidy"/>
90 <propertyset refid="forward.properties"/>
[21748]91 <property name="properties.accepted" value="true"/>
[29393]92 <property name="properties.keep.src" value="${keep.src}"/>
[20335]93 </ant>
94
[23967]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
[22851]101 <!-- Delete the entire gnome support library on Linux -->
102 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
[23618]103 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal"/>
104 <delete file="${basedir}/compiled/ext/gnome-lib-linux.tar.gz"/>
[22851]105 </if>
106
[28282]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 -->
[22851]110 <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
[23618]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"/>
[28282]120 <move file="${basedir}/compiled/ext/gnome-lib-minimal" todir="compiled/gs2build/ext"/>
[22851]121 </if>
[29236]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" />
[22851]127
[29205]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.
[29242]141 For other *nix cases, including Macs, we stick to the 32 bit
[29205]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.-->
[29242]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
[21842]153 <!-- insert ant -->
[32497]154 <property name="insert.ant.version" value="1.9.13"/> <!-- value="1.8.2" -->
[21842]155 <mkdir dir="compiled/packages"/>
[34606]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"/>
[34621]161 <arg value="https://www.greenstone.org/gs3files/apache-ant-${insert.ant.version}-bin.tar.gz"/>
[34606]162 </exec>
[27797]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"/>
[21630]166
167 <!-- put the uninstaller in place -->
168 <antcall target="insert-and-compile-uninstaller"/>
169
170 <!-- (windows only) -->
[20335]171 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
[21630]172 <!-- insert perl -->
[35425]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" />
[20335]180 </if>
[21630]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
[29303]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 -->
[29236]193 <if>
194 <bool><equals arg1="${rk.os}" arg2="windows"/></bool>
[29303]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>
[29236]205 </if>
206
[24089]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"/>
[27731]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"/>
[24089]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"/>
[27731]233 </exec>-->
[24089]234
[32971]235 <!-- We don't want to bundle the old pre-compiled 32 bit wv folder anymore -->
[24089]236 <!-- grab wv binaries -->
[32971]237 <!--<delete dir="compiled/gs2build/bin/linux/wv"/>
[24089]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>
[32971]243 -->
[24089]244 <!-- (mac only) -->
245 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
246 <!-- grab imagemagick binaries -->
[27731]247
248 <delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
249
[27888]250 <!--<exec executable="svn">
[27731]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>
[27888]264 <delete dir="compiled/ext/imagemagick"/>-->
[27731]265
[27888]266 <delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
[24089]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"/>
[27888]271 </exec>
[24089]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
[24053]284 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
[24084]285 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
[24053]286 <arg line="-S"/>
[24094]287 <arg line="gs2build/bin/script/import.pl -removeold -site localsite lucene-jdbm-demo"/>
[24053]288 <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
[24085]289 <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
290 <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
[24053]291 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
[24094]292 <env key="GSDLOS" value="windows"/>
[24097]293 <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
[24053]294 </exec>
[24084]295 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
[24053]296 <arg line="-S"/>
[24094]297 <arg line="gs2build/bin/script/buildcol.pl -removeold -site localsite lucene-jdbm-demo"/>
[24053]298 <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
[24085]299 <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
300 <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
[24053]301 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
[24094]302 <env key="GSDLOS" value="windows"/>
[24097]303 <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
[24053]304 </exec>
[24088]305 <delete dir="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
[24092]306 <move file="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/building" tofile="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
[24053]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>
[24089]323
[20335]324 </target>
325
326</project>
Note: See TracBrowser for help on using the repository browser.