root/main/trunk/release-kits/kits/rk3/ant-scripts/compile.xml @ 27778

Revision 27778, 11.3 KB (checked in by davidb, 7 years ago)

Specific perl-5.8 perl-5.10 now not needed. XMLParser.pm looks for XML-Parser directory and added that in to @INC if present

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.in" 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.in" 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            <if><bool><or>
52                <equals arg1="${post.2.83.version}" arg2="true"/>
53            </or></bool>
54                <echo>EXPORTING GNOME LIB EXTENSION</echo>
55                <exec executable="svn">
56                    <arg value="export"/>
57                    <arg value="${svn.root}/gs2-extensions/gnome-lib/trunk/gnome-lib-minimal-${os.shell}${arch}${extension-x64}.tar.gz"/>
58                    <arg value="${basedir}/compiled/ext/gnome-lib-${os.shell}.tar.gz"/>
59                </exec>
60
61                <exec executable="tar" dir="${basedir}/compiled/ext">
62                    <arg value="xvzf"/>
63                    <arg value="gnome-lib-${os.shell}.tar.gz"/>
64                </exec>
65
66                <exec executable="/bin/bash" dir="${basedir}/compiled/ext/gnome-lib-minimal">
67                    <arg value="-c"/>
68                    <arg value="source setup.bash_old &amp;&amp; source devel.bash"/>
69                </exec>
70                <echo>DONE COMPILING GNOME LIB EXTENSION</echo>
71            </if>
72        </if>
73
74        <!-- run greenstone3's ant install and ant dist-tidy -->
75        <ant dir="compiled" inheritAll="false">
76            <target name="install"/>
77            <target name="dist-tidy"/>
78            <propertyset refid="forward.properties"/>
79            <property name="properties.accepted" value="true"/>
80        </ant>
81
82        <!-- Delete all collections apart from the Lucene demo collection -->
83        <delete dir="${basedir}/compiled/web/sites/localsite/collect/gberg"/>
84        <delete dir="${basedir}/compiled/web/sites/localsite/collect/gs2mgdemo"/>
85        <delete dir="${basedir}/compiled/web/sites/localsite/collect/gs2mgppdemo"/>
86        <delete dir="${basedir}/compiled/web/sites/localsite/collect/infomine"/>       
87
88        <!-- Delete the entire gnome support library on Linux -->
89        <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
90            <delete dir="${basedir}/compiled/ext/gnome-lib-minimal"/>
91            <delete file="${basedir}/compiled/ext/gnome-lib-linux.tar.gz"/>
92        </if>
93
94        <!-- Delete all but the lib folder of the gnome support library on Mac -->
95        <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
96            <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/cascade-make"/>
97            <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/packages"/>
98            <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/bin"/>
99            <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/etc"/>
100            <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/include"/>
101            <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/share"/>
102            <delete file="${basedir}/compiled/ext/gnome-lib-minimal/setup.bat"/>
103            <delete file="${basedir}/compiled/ext/gnome-lib-minimal/CASCADE-MAKE.sh"/>
104            <delete file="${basedir}/compiled/ext/gnome-lib-darwin.tar.gz"/>
105        </if>
106
107        <!-- insert an xml parser (matched to the version of Perl being used by the release kit) -->
108        <copy todir="compiled/gs2build/perllib/cpan">
109            <fileset dir="${rk.home}/shared/linux" includes="XML-Parser/**/*"/>
110        </copy>
111
112        <!-- insert ant -->
113        <mkdir dir="compiled/packages"/>
114        <get src="http://www.greenstone.org/gs3files/apache-ant-1.8.0-bin.tar.gz" dest="compiled/packages/apache-ant-1.8.0-bin.tar.gz"/>
115        <untar src="compiled/packages/apache-ant-1.8.0-bin.tar.gz" dest="compiled/packages/" compression="gzip"/>
116        <move file="compiled/packages/apache-ant-1.8.0" tofile="compiled/packages/ant"/>
117        <delete file="compiled/packages/apache-ant-1.8.0-bin.tar.gz"/>
118
119        <!-- put the uninstaller in place -->
120        <antcall target="insert-and-compile-uninstaller"/>
121
122        <!-- (windows only) -->
123        <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
124            <!-- insert perl -->
125            <unzip src="${rk.home}/shared/windows/perl.zip" dest="compiled/gs2build/bin/windows"/>
126        </if>
127
128        <!-- minify tomcat -->
129        <delete dir="compiled/packages/tomcat/webapps/docs"/>
130        <delete dir="compiled/packages/tomcat/webapps/examples"/>
131
132        <!-- tidy up gli to make it smaller -->
133        <antcall target="gli-tidy-for-dist"><param name="glibasedir" value="compiled/gli"/></antcall>
134
135        <!-- strip out .svn dirs -->
136        <antcall target="strip-svn-dirs"><param name="dir" value="compiled"/></antcall>
137
138        <!-- (linux only) -->
139        <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
140            <!-- grab imagemagick binaries -->
141            <delete dir="compiled/gs2build/bin/linux/imagemagick"/>
142
143            <exec executable="svn">
144               <arg value="export"/>
145               <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-linux${extension-x64}.tar.gz"/>
146               <arg value="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
147            </exec>
148
149            <exec executable="tar" dir="compiled/ext">
150               <arg value="xvzf"/>
151               <arg value="imagemagick-linux${extension-x64}.tar.gz"/>
152            </exec>
153            <delete file="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
154            <move todir="compiled/gs2build/bin/linux/imagemagick">
155               <fileset dir="compiled/ext/imagemagick/linux"/>
156            </move>
157            <delete dir="compiled/ext/imagemagick"/>
158
159            <!--<delete dir="compiled/gs2build/bin/linux/imagemagick"/>
160            <exec executable="svn">
161                <arg value="export"/>
162                <arg value="${svn.root}/main/${branch.path}/binaries/linux/imagemagick"/>
163                <arg value="compiled/gs2build/bin/linux/imagemagick"/>
164            </exec>-->
165
166            <!-- grab wv binaries -->
167            <delete dir="compiled/gs2build/bin/linux/wv"/>
168            <exec executable="svn">
169                <arg value="export"/>
170                <arg value="${svn.root}/main/${branch.path}/binaries/linux/wv"/>
171                <arg value="compiled/gs2build/bin/linux/wv"/>
172            </exec>
173        <!-- (mac only) -->
174        <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
175            <!-- grab imagemagick binaries -->
176
177            <delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
178
179            <exec executable="svn">
180               <arg value="export"/>
181               <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-darwin-10.5.tar.gz"/>
182               <arg value="compiled/ext/imagemagick-darwin-10.5.tar.gz"/>
183            </exec>
184
185            <exec executable="tar" dir="compiled/ext">
186               <arg value="xvzf"/>
187               <arg value="imagemagick-darwin-10.5.tar.gz"/>
188            </exec>
189            <delete file="compiled/ext/imagemagick-darwin-10.5.tar.gz"/>
190            <move todir="compiled/gs2build/bin/darwin/imagemagick">
191               <fileset dir="compiled/ext/imagemagick/darwin"/>
192            </move>
193            <delete dir="compiled/ext/imagemagick"/>
194
195            <!--<delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
196            <exec executable="svn">
197                <arg value="export"/>
198                <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/imagemagick"/>
199                <arg value="compiled/gs2build/bin/darwin/imagemagick"/>
200            </exec>-->
201
202            <if><bool><not><equals arg1="${forward.install.flax}" arg2="true"/></not></bool>
203                <!-- grab ghostscript binaries -->
204                <delete dir="compiled/gs2build/bin/darwin/ghostscript"/>
205                <exec executable="svn">
206                    <arg value="export"/>
207                    <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/ghostscript"/>
208                    <arg value="compiled/gs2build/bin/darwin/ghostscript"/>
209                </exec>
210            </if>
211        </if></else></if>
212
213        <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
214            <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
215                <arg line="-S"/>
216                <arg line="gs2build/bin/script/import.pl -removeold -site localsite lucene-jdbm-demo"/>
217                <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
218                <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
219                <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
220                <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
221                <env key="GSDLOS" value="windows"/>
222                <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
223            </exec>
224            <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
225                <arg line="-S"/>
226                <arg line="gs2build/bin/script/buildcol.pl -removeold -site localsite lucene-jdbm-demo"/>
227                <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
228                <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
229                <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
230                <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
231                <env key="GSDLOS" value="windows"/>
232                <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
233            </exec>
234            <delete dir="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
235            <move file="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/building" tofile="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
236        <else>
237            <echo file="${basedir}/compiled/buildscript.sh">
238                #!/bin/bash
239                source gs3-setup.sh
240                /usr/bin/perl -S ${basedir}/compiled/gs2build/bin/script/import.pl -site localsite lucene-jdbm-demo
241                /usr/bin/perl -S ${basedir}/compiled/gs2build/bin/script/buildcol.pl -site localsite lucene-jdbm-demo
242                rm -rf ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index
243                mv ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/building ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index
244            </echo>
245            <chmod perm="775" file="${basedir}/compiled/buildscript.sh"/>
246            <exec dir="${basedir}/compiled" executable="/bin/bash">
247                <arg line="buildscript.sh"/>
248            </exec>
249            <delete file="${basedir}/compiled/buildscript.sh"/>
250        </else>
251        </if>
252       
253    </target>
254
255</project>
Note: See TracBrowser for help on using the browser.