source: trunk/gsdl3/dist-resources/dist-build.xml@ 13373

Last change on this file since 13373 was 13373, checked in by kjdon, 17 years ago

working on the create dist targets

  • Property svn:keywords set to Author Date Id Revision
File size: 12.1 KB
Line 
1<?xml version="1.0"?>
2
3<!-- ======================================================================
4 March 2005
5
6 Greenstone3 build and install script
7
8 kjdon
9 ====================================================================== -->
10<project name="greenstone3-distribution" default="usage" basedir="..">
11
12 <!-- include standard build file -->
13 <import file="../build.xml"/>
14
15 <property name="documented.collections.home" value="/home/nzdl/for-distributions/collect"/>
16 <!-- ====================== DISTRIBUTION Targets ========================= -->
17
18 <!-- these two, do we need tomcat and axis for compilation??-->
19 <!-- Create the binaries for windows distribution -->
20 <target name="prepare-windows" depends="init">
21 <cvs command="export -D '1 second ago'" package="mgpp"
22 dest="${src.packages.home}"
23 cvsRoot="${cvs.root}" />
24 <cvs command="export -D '1 second ago'" package="gs2build"
25 cvsRoot="${cvs.root}" />
26 <antcall target="unzip-windows-packages"/>
27 <antcall target="checkout-winbin"/>
28 <antcall target="get-windows-binaries"/>
29 <antcall target="get-perl-for-windows"/>
30 <antcall target="rename-gs2build-files-windows"/>
31 <antcall target="compile-windows-c++"/>
32 <antcall target="compile-packages"/>
33 </target>
34
35 <!-- Create the binaries for Mac distribution -->
36 <target name="prepare-macos-1" depends="init">
37 <cvs command="export -D '1 second ago'" package="mgpp"
38 dest="${src.packages.home}"
39 cvsRoot="${cvs.root}" />
40 <cvs command="export -D '1 second ago'" package="gs2build"
41 cvsRoot="${cvs.root}" />
42 <antcall target="rename-gs2build-files-unix"/>
43 <antcall target="delete-windows-files"/>
44 <antcall target="get-macos-extra"/>
45 <antcall target="configure-c++"/>
46 </target>
47
48 <target name="prepare-macos-2" depends="init">
49 <antcall target="compile-packages"/>
50 <antcall target="compile-gs2build"/>
51 </target>
52
53 <!-- Get the binaries for linux distribution -->
54 <target name="prepare-linux-1" depends="init">
55 <cvs command="export -D '1 second ago'" package="mgpp"
56 dest="${src.packages.home}"
57 cvsRoot="${cvs.root}" />
58 <cvs command="export -D '1 second ago'" package="gs2build"
59 cvsRoot="${cvs.root}" />
60 <cvs command="export -D '1 second ago'" package="gli"
61 cvsRoot="${cvs.root}" />
62 <delete file="${gli.home}/gli.bat"/>
63 <delete file="${gli.home}/gli.sh"/>
64 <antcall target="rename-gs2build-files-unix"/>
65 <!--<antcall target="checkout-winbin"/>
66 <antcall target="get-windows-binaries"/>
67 <antcall target="get-perl-for-windows"/>-->
68 <delete>
69 <fileset dir="${lib.jni}" includes="*.dll"/>
70 </delete>
71 </target>
72
73
74 <target name="prepare-linux-2" depends="init">
75 <antcall target="configure-c++"/>
76 </target>
77
78 <target name="prepare-linux-3" depends="init">
79 <antcall target="compile-packages"/>
80 <antcall target="compile-gs2build"/>
81 </target>
82
83 <!-- creates the base distribution. Needs binaries copied in to it from other
84 greenstones (prepare-for-dists) -->
85 <target name="create-distribution-1" depends="init" description="do all the initial downloading and setting up">
86 <cvs command="export -D '1 second ago'" package="mgpp"
87 dest="${src.packages.home}"
88 cvsRoot="${cvs.root}" />
89 <cvs command="export -D '1 second ago'" package="gs2build"
90 cvsRoot="${cvs.root}" />
91 <cvs command="export -D '1 second ago'" package="gli"
92 cvsRoot="${cvs.root}" />
93 <delete file="${gli.home}/gli.bat"/>
94 <delete file="${gli.home}/gli.sh"/>
95 <antcall target="rename-gs2build-files-dist"/>
96 <delete dir="${gs2build-extra.home}"/>
97
98 <!--<antcall target="unzip-windows-packages"/> do we need this?-->
99 <antcall target="get-macos-extra"/>
100 <antcall target="download-tomcat"/>
101 <delete file="${packages.home}/apache-tomcat-5.5.12.zip"/>
102 <delete file="${packages.home}/apache-tomcat-5.5.12-compat.zip"/>
103 <antcall target="prepare-axis"/>
104 <delete file="${packages.home}/axis-bin-1_2_1.zip"/>
105 <!-- delete old axis dir -->
106 <delete dir="${packages.home}/axis"/>
107 <mkdir dir="${web.home}/applet"/>
108 <mkdir dir="${web.home}/logs"/>
109
110 <antcall target="prepare-collections"/>
111 <antcall target="install-macos-extra"/>
112 <!-- documented collections -->
113 <antcall target="get-documented-collections"/>
114
115 <delete file="${basedir}/README-CVS.txt"/>
116 <delete file="${basedir}/TODO.txt"/>
117
118 <!-- make the extra directories needed for a release -->
119 <mkdir dir="${basedir}/Linux/bin"/>
120 <mkdir dir="${basedir}/Linux/lib/jni"/>
121 <mkdir dir="${basedir}/Darwin/bin"/>
122 <mkdir dir="${basedir}/Darwin/lib/jni"/>
123 <mkdir dir="${basedir}/Windows/lib/jni"/>
124 <mkdir dir="${basedir}/Windows/bin"/>
125 <mkdir dir="${gs2build.home}/Unix/bin/linux"/>
126 <mkdir dir="${gs2build.home}/Unix/bin/darwin"/>
127 <mkdir dir="${gs2build.home}/Windows/bin/windows"/>
128 <mkdir dir="${gs2build.home}/source/Windows"/>
129 <mkdir dir="${gs2build.home}/source/Unix"/>
130
131 </target>
132
133 <target name="create-distribution-2" description="do all the compilation">
134 <!-- compile the java stuff -->
135 <antcall target="compile-web"/>
136 <antcall target="configure-packages"/>
137 <antcall target="compile-packages"/>
138 <antcall target="distclean-packages"/>
139 <antcall target="compile-core"/>
140 <antcall target="compile-gli"/>
141 </target>
142
143 <target name="create-distribution-3" depends="init" description="Do the rearranging of source code etc">
144
145 <!-- move top-level os dependent files -->
146 <copy todir="Linux">
147 <fileset dir="${basedir}">
148 <include name="*.sh"/>
149 </fileset>
150 </copy>
151 <move todir="Darwin">
152 <fileset dir="${basedir}">
153 <include name="*.sh"/>
154 </fileset>
155 </move>
156 <move todir="Windows">
157 <fileset dir="${basedir}">
158 <include name="*.bat"/>
159 </fileset>
160 </move>
161
162 <!-- rearrange collection building stuff -->
163 <move file="${gs2build.home}/win32.mak" tofile="${gs2build.home}/source/Windows/win32.mak"/>
164 <move file="${gs2build.home}/setup.bat" tofile="${gs2build.home}/source/Windows/setup.bat"/>
165 <move file="${gs2build.home}/WIN32cfg.h" tofile="${gs2build.home}/source/Windows/WIN32cfg.h"/>
166 <move todir="${gs2build.home}/source/Unix/">
167 <fileset dir="${gs2build.home}">
168 <include name="config*"/>
169 <include name="ac*"/>
170 <include name="install-sh"/>
171 <include name="setup.bash"/>
172 <include name="Makefile.in"/>
173 </fileset>
174 </move>
175 <!-- general source files -->
176 <move todir="${gs2build.home}/source/src" failonerror="false">
177 <fileset dir="${gs2build.home}/src" defaultexcludes="no"/>
178 </move>
179 <move todir="${gs2build.home}/source/lib" failonerror="false">
180 <fileset dir="${gs2build.home}/lib" defaultexcludes="no"/>
181 </move>
182 <copy file="${gs2build-extra.home}/lib.win32.mak" tofile="${gs2build.home}/source/lib/win32.mak"/>
183 <move todir="${gs2build.home}/source/packages" failonerror="false">
184 <fileset dir="${gs2build.home}/packages" defaultexcludes="no"/>
185 </move>
186
187
188 <!-- clean up -->
189 <xslt in="${basedir}/build.xml" out="${basedir}/dist-build.xml" style="${basedir}/dist-resources/convert-build-xml.xsl"/>
190 <delete dir="${basedir}/build"/>
191 <delete dir="${basedir}/lib/jni"/>
192 </target>
193
194
195 <target name="create-source-distribution" depends="init">
196 <cvs command="export -D '1 second ago'" package="mgpp"
197 dest="${src.packages.home}"
198 cvsRoot="${cvs.root}" />
199 <cvs command="export -D '1 second ago'" package="gs2build"
200 cvsRoot="${cvs.root}" />
201 <cvs command="export -D '1 second ago'" package="gli"
202 cvsRoot="${cvs.root}" />
203 <delete file="${gli.home}/gli.bat"/>
204 <delete file="${gli.home}/gli.sh"/>
205 <antcall target="rename-gs2build-files-dist"/>
206 <delete dir="${gs2build-extra.home}"/>
207 <antcall target="download-tomcat"/>
208 <delete file="${packages.home}/apache-tomcat-5.5.12.zip"/>
209 <delete file="${packages.home}/apache-tomcat-5.5.12-compat.zip"/>
210
211 <antcall target="prepare-collections"/>
212 <antcall target="prepare-axis"/>
213 <delete file="${packages.home}/axis-bin-1_2_1.zip"/>
214 <!-- delete old axis dir -->
215 <delete dir="${packages.home}/axis"/>
216 <!-- download the mac XML parser just in case: it will only be unpacked if on a mac -->
217 <get src="http://www.greenstone.org/gs3files/XML-Parser.tar.gz"
218 dest="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"
219 usetimestamp="true"/>
220 <xslt in="${basedir}/build.xml" out="${basedir}/dist-build.xml" style="${basedir}/dist-resources/convert-build-xml-source.xsl"/>
221 <!--<delete dir="${basedir}/dist-resources"/>-->
222
223 </target>
224
225 <!-- this target must be run once source dist unpacked -->
226 <target name="prepare-for-source-dist" depends="init">
227 <antcall target="unzip-windows-packages"/>
228 <!-- install tomcat compat package if necessary -->
229 <condition property="need.tomcat.compat">
230 <equals arg1="1.4" arg2="${ant.java.version}"/>
231 </condition>
232 <antcall target="install-tomcat-compat"/>
233 <condition property="need.xml.jars">
234 <equals arg1="1.5" arg2="${ant.java.version}"/>
235 </condition>
236 <antcall target="rename-xml-jars"/>
237
238 <!-- set gsdlhome in setup.bat -->
239 <antcall target="gs2build-edit-setup-bat"/>
240 <antcall target="prepare-web"/>
241 </target>
242
243 <target name="rename-gs2build-files-dist" depends="init,rename-gs2build-files-unix">
244 <copy file="${gs2build-extra.home}/lib.win32.mak" tofile="${gs2build.home}/lib/win32.mak"/>
245 <copy file="${gs2build-extra.home}/win32.mak" tofile="${gs2build.home}/win32.mak"/>
246 <copy file="${gs2build-extra.home}/setup.bat" tofile="${gs2build.home}/setup.bat"/>
247 </target>
248
249 <target name="delete-windows-files" depends="init" unless="current.os.iswindows">
250 <delete dir="${basedir}/winutil"/>
251 <delete>
252 <fileset dir="${lib.jni}" includes="*.dll"/>
253 </delete>
254 </target>
255
256 <target name="get-perl-for-windows" if="current.os.iswindows">
257 <get src="http://www.greenstone.org/gs3files/perl-for-windows.zip"
258 dest="${gs2build.home}/bin/windows/perl-for-windows.zip"
259 usetimestamp="true"/>
260 <unzip src="${gs2build.home}/bin/windows/perl-for-windows.zip"
261 dest="${gs2build.home}/bin/windows"/>
262 <delete file="${gs2build.home}/bin/windows/perl-for-windows.zip"/>
263 </target>
264
265 <target name="distclean-packages" depends="init,clean-packages-c++">
266 <!-- mg : just call the make target -->
267 <exec executable="make" os="${os.unix}"
268 dir="${mg.home}">
269 <arg value="distclean"/>
270 </exec>
271 <!-- mgpp -->
272 <exec executable="make" os="${os.unix}"
273 dir="${mgpp.home}">
274 <arg value="distclean"/>
275 </exec>
276 <!-- javagdbm -->
277 <exec executable="make" os="${os.unix}"
278 dir="${javagdbm.home}">
279 <arg value="distclean"/>
280 </exec>
281 </target>
282
283 <!-- copy the doc eg colls from /home/nzdl - note we don't include the formatting ones -->
284 <target name="get-documented-collections" depends="init">
285 <property name="collect.home" value="${basedir}/web/sites/localsite/collect"/>
286 <copy todir="${collect.home}/MARC-e">
287 <fileset dir="${documented.collections.home}/MARC-e"/>
288 </copy>
289 <copy todir="${collect.home}/cltbib-e">
290 <fileset dir="${documented.collections.home}/cltbib-e"/>
291 </copy>
292 <copy todir="${collect.home}/dls-e">
293 <fileset dir="${documented.collections.home}/dls-e"/>
294 </copy>
295 <copy todir="${collect.home}/dspace-e">
296 <fileset dir="${documented.collections.home}/dspace-e"/>
297 </copy>
298 <copy todir="${collect.home}/gsarch-e">
299 <fileset dir="${documented.collections.home}/gsarch-e"/>
300 </copy>
301 <copy todir="${collect.home}/image-e">
302 <fileset dir="${documented.collections.home}/isis-e"/>
303 </copy>
304 <copy todir="${collect.home}/oai-e">
305 <fileset dir="${documented.collections.home}/oai-e"/>
306 </copy>
307 <copy todir="${collect.home}/pagedimg-e">
308 <fileset dir="${documented.collections.home}/pagedimg-e"/>
309 </copy>
310 <copy todir="${collect.home}/wrdpdf-e">
311 <fileset dir="${documented.collections.home}/wrdpdf-e"/>
312 </copy>
313 </target>
314
315</project>
316
317
Note: See TracBrowser for help on using the repository browser.