source: main/trunk/release-kits/kits/rk3/installer/build.xml@ 23811

Last change on this file since 23811 was 23811, checked in by sjm84, 13 years ago

Several changes to integrate FLAX release building as an option in the release kits

File size: 14.0 KB
Line 
1<?xml version="1.0"?>
2<!--
3This is the build.xml run by AntInstaller for the installer
4-->
5<project name="Installation">
6
7 <!-- this is required to pick up the properties generated during the install pages -->
8 <property file="${basedir}/ant.install.properties"/>
9
10 <!-- custom tasks -->
11 <path id="project.classpath"><pathelement path="${antinstaller.jar}"/></path>
12
13 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
14 <!-- if linux|mac -->
15 <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpathref="project.classpath"/>
16 <!-- /if -->
17 <!-- if windows -->
18 <taskdef name="shortcut" classname="com.orangevolt.tools.ant.Win32ShortcutTask" classpathref="project.classpath"/>
19 <taskdef name="winprops" classname="com.orangevolt.tools.ant.Win32PropertiesTask" classpathref="project.classpath"/>
20 <typedef name="getfreepath" classname="org.greenstone.anttasks.GetFreePath" classpathref="project.classpath"/>
21 <!-- /if -->
22
23 <!-- create a local and strictly unix installDir String -->
24 <path id="installDir.path"><pathelement location="${installDir}"/></path>
25 <property name="installDir.local" refid="installDir.path"/>
26 <pathconvert targetos="unix" property="installDir.unix" refid="installDir.path"/>
27
28 <!-- if windows -->
29 <!-- load windows properties -->
30 <winprops/>
31 <!-- /if -->
32
33 <!-- work out whether a jre is bundled with this installer -->
34 <available file="../jre/bin" property="bundled.java.exists"/>
35
36 <!-- determine if there is an existing installation in the installDir-->
37 <available file="${installDir}\installation.properties" property="is.overinstall"/>
38
39 <!-- target to copy the bundled jre into place -->
40 <target name="Initialising" if="bundled.java.exists">
41 <mkdir dir="${installDir}"/>
42 <copy todir="${installDir}/packages/jre" failonerror="false">
43 <fileset dir="../jre"/>
44 </copy>
45 <chmod dir="${installDir}/packages/jre/bin" includes="*" perm="775"/>
46 </target>
47
48 <!-- target to load in the messages left by the last installation -->
49 <target name="Looking For Previous Installation" if="is.overinstall">
50 <property file="${installDir}\installation.properties"/>
51 <delete dir="${installed.startmenu.path}" failonerror="false"/>
52 </target>
53
54 <target name="Installing Core System">
55
56 <!-- rip out build.xml to the temp dir so we can fake and <antcall> with <ant> -->
57 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="build.xml"/></patternset></unzip>
58
59
60 <!-- if windows -->
61 <echo>Figuring out the start menu path</echo>
62 <getfreepath path="${win32.personal.programs_menu}\Greenstone-@version@" property="startmenu.path"/>
63 <path id="startmenu.path.path" path="${startmenu.path}"/>
64 <pathconvert targetos="unix" property="startmenu.path.unix" refid="startmenu.path.path"/>
65
66 <echo>Extracting 7za tool</echo>
67 <unzip src="${antinstaller.jar}" dest="${basedir}">
68 <patternset><include name="7za.exe"/></patternset>
69 </unzip>
70 <!-- /if -->
71
72 <echo>Extracting core component</echo>
73 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="core.lzma"/></patternset></unzip>
74 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x core.lzma"/></exec><!-- /if -->
75 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/core.lzma" output="${basedir}/core.comp"/><!-- /if -->
76 <delete file="core.lzma"/>
77 <unzip src="${basedir}/core.comp" dest="${installDir}"/>
78 <delete file="core.comp"/>
79
80 <echo>Setting binaries to executable</echo>
81 <chmod dir="${installDir}" includes="*.sh" perm="775"/>
82 <chmod dir="${installDir}/bin/script" includes="*" perm="775"/>
83 <chmod dir="${installDir}/bin" includes="*" perm="775"/>
84 <!-- if linux -->
85 <chmod dir="${installDir}/gs2build/bin/linux" includes="*" perm="775"/>
86 <!-- /if -->
87 <!-- if mac -->
88 <chmod dir="${installDir}/gs2build/bin/darwin" includes="*" perm="775"/>
89 <!-- /if -->
90 <chmod dir="${installDir}/gs2build/bin/script" includes="**/*" perm="775"/>
91 <chmod dir="${installDir}/gli" includes="*.sh" perm="775"/>
92 <!--<chmod file="${installDir}/packages/ant/bin/ant" perm="775"/>-->
93 <!--
94 source is not included for now
95 <chmod dir="${installDir}/gs2build" includes="**/configure" perm="775"/>
96 <chmod dir="${installDir}/gs2build/common-src/packages/gdbm/gdbm-1.8.3" includes="mkinstalldirs" perm="775"/>
97 <chmod file="${installDir}/src/packages/javagdbm/configure" perm="775"/>
98 -->
99
100 <echo>Setting tomcat ports</echo>
101 <rsr file="${installDir}/build.properties">
102 <job pattern="^(tomcat\.server[=:]).*" replacement="$1${tomcat.server}" />
103 <job pattern="^(tomcat\.port[=:]).*" replacement="$1${tomcat.port}" />
104 <job pattern="^(tomcat\.shutdown.port[=:]).*" replacement="$1${tomcat.shutdown.port}" />
105 </rsr>
106
107 <echo>Setting up global properties</echo>
108 <copy file="${installDir}/resources/java/global.properties.in" tofile="${installDir}/web/WEB-INF/classes/global.properties" overwrite="true"/>
109 <rsr file="${installDir}/web/WEB-INF/classes/global.properties">
110 <job pattern="^(gsdl3\.home[:=]).*" replacement="$1${installDir.unix}/web" />
111 <job pattern="^(tomcat.server[:=]).*" replacement="$1${tomcat.server}" />
112 <job pattern="^(tomcat\.port[:=]).*" replacement="$1${tomcat.port}" />
113 </rsr>
114
115 <echo>Setting up log4j properties</echo>
116 <copy file="${installDir}/resources/java/log4j.properties.in" tofile="${installDir}/web/WEB-INF/classes/log4j.properties" overwrite="true"/>
117 <rsr file="${installDir}/web/WEB-INF/classes/log4j.properties" pattern="@gsdl3home@" replacement="${installDir.unix}/web" />
118
119 <!-- if windows -->
120 <echo message="Setting GSDLHOME in gs2build\setup.bat"/>
121 <!-- No quotes around GSDLHOME filepath in setup.bat. since the set operations of batchfiles don't want spaces in their assignments, and where quotes are needed in setup.bat, setup.bat handles this itself -->
122 <rsr file="${installDir}/gs2build/setup.bat" pattern="&quot;?\*\*GSDLHOME\*\*&quot;?" replacement="${installDir.local}\gs2build" />
123 <!-- /if -->
124
125 <echo>Creating the english dictionary</echo>
126 <copy file="${installDir}/gli/classes/dictionary.properties" tofile="${installDir}/gli/classes/dictionary_en.properties"/>
127
128 <echo>Creating usage.txt</echo>
129 <echo file="${installDir}/gs2build/etc/usage.txt"></echo>
130
131 <echo>Creating installation properties file</echo>
132 <echo file="${installDir}\installation.properties">installed.startmenu.path:${startmenu.path.unix}</echo>
133
134 <echo>Finished</echo>
135
136 </target>
137
138 <target name="Installing ImageMagick">
139
140 <echo>Installing ImageMagick</echo>
141 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="imagemagick.lzma"/></patternset></unzip>
142 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x imagemagick.lzma"/></exec><!-- /if -->
143 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/imagemagick.lzma" output="${basedir}/imagemagick.comp"/><!-- /if -->
144 <delete file="imagemagick.lzma"/>
145 <unzip src="${basedir}/imagemagick.comp" dest="${installDir}"/>
146 <delete file="imagemagick.comp"/>
147
148 <echo>Setting binaries to executable</echo>
149 <!-- if linux -->
150 <chmod dir="${installDir}/gs2build/bin/linux/imagemagick/bin" includes="*" perm="775"/>
151 <!-- /if -->
152 <!-- if mac -->
153 <chmod dir="${installDir}/gs2build/bin/darwin/imagemagick/bin" includes="*" perm="775"/>
154 <!-- /if -->
155
156 </target>
157
158 <target name="Installing Ghostscript">
159
160 <echo>Installing Ghostscript</echo>
161 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="ghostscript.lzma"/></patternset></unzip>
162 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ghostscript.lzma"/></exec><!-- /if -->
163 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/ghostscript.lzma" output="${basedir}/ghostscript.comp"/><!-- /if -->
164 <delete file="ghostscript.lzma"/>
165 <unzip src="${basedir}/ghostscript.comp" dest="${installDir}"/>
166 <delete file="ghostscript.comp"/>
167
168 <echo>Setting binaries to executable</echo>
169 <!-- if linux -->
170 <chmod dir="${installDir}/gs2build/bin/linux/ghostscript/bin" includes="*" perm="775"/>
171 <!-- /if -->
172 <!-- if mac -->
173 <chmod dir="${installDir}/gs2build/bin/darwin/ghostscript/bin" includes="*" perm="775"/>
174 <!-- /if -->
175
176 </target>
177
178 <!-- start amp -->
179
180 <target name="Installing AMP">
181 <echo>Installing Apache, MySQL and PHP</echo>
182 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="amp.lzma"/></patternset></unzip>
183 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x amp.lzma"/></exec><!-- /if -->
184 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/amp.lzma" output="${basedir}/amp.comp"/><!-- /if -->
185 <delete file="amp.lzma"/>
186 <unzip src="${basedir}/amp.comp" dest="${installDir}/ext/amp"/>
187 <delete file="amp.comp"/>
188
189 <!-- if linux|mac -->
190 <echo>Setting binaries to executable</echo>
191 <chmod dir="${installDir}/ext/amp" includes="*" perm="775"/>
192 <!-- /if -->
193 </target>
194
195 <!-- end amp -->
196
197 <target name="Installing Tomcat">
198
199 <echo>Installing Tomcat (packages/tomcat)</echo>
200 <mkdir dir="packages"/>
201 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="tomcat.lzma"/></patternset></unzip>
202 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x tomcat.lzma"/></exec><!-- /if -->
203 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/tomcat.lzma" output="${basedir}/tomcat.comp"/><!-- /if -->
204 <delete file="tomcat.lzma"/>
205 <unzip src="${basedir}/tomcat.comp" dest="${installDir}"/>
206 <delete file="tomcat.comp"/>
207
208
209 <echo>Changing tomcat ports tomcat's server.xml</echo>
210 <copy file="${installDir}/resources/tomcat/server_tomcat6.xml" tofile="${installDir}/packages/tomcat/conf/server.xml" overwrite="true"/>
211 <rsr file="${installDir}/packages/tomcat/conf/server.xml">
212 <job pattern="@port@" replacement="${tomcat.port}"/>
213 <job pattern="@shutdown-port@" replacement="${tomcat.shutdown.port}"/>
214 </rsr>
215
216 <!-- FLAX START -->
217 <echo>Copying over FlaxWebService.wsdl and changing tomcat server/ports</echo>
218 <copy file="${installDir}/flax-resources/FlaxWebService.wsdl" tofile="${installDir}/web/FlaxWebService.wsdl" overwrite="true"/>
219 <rsr file="${installDir}/web/FlaxWebService.wsdl">
220 <job pattern="@flaxpublicserver@" replacement="${tomcat.server}"/>
221 <job pattern="@flaxpublicport@" replacement="${tomcat.port}"/>
222 </rsr>
223 <!-- FLAX END -->
224
225 <echo>Copying greenstone3.xml to tomcat directory</echo>
226 <copy file="${installDir}/resources/tomcat/greenstone3.xml" tofile="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true"/>
227 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@gsdl3webhome@" replacement="${installDir.local}${file.separator}web" />
228 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@privilegedattribute@" replacement="privileged='true'" />
229 <echo>Set binaries to executable</echo>
230 <chmod dir="${installDir}/packages/tomcat/bin" includes="*.sh" perm="775"/>
231
232 </target>
233
234 <target name="Installing Start Menu Shortcuts">
235
236 <echo>Installing Start Menu Shortcuts</echo>
237
238 <mkdir dir="${startmenu.path}\Documentation"/>
239
240 <!-- NO FLAX START -->
241
242 <shortcut
243 file="${startmenu.path}\Greenstone3 Server.lnk"
244 execute="${installDir}\gs3-server.bat"
245 workingDirectory="${installDir}"
246 iconFile="${installDir}\resources\images\server.ico"
247 iconIndex="0" />
248
249 <shortcut
250 file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
251 execute="${installDir}\gli\gli.bat"
252 workingDirectory="${installDir}\gli"
253 iconFile="${installDir}\resources\images\librarian.ico"
254 iconIndex="0" />
255
256 <shortcut
257 file="${startmenu.path}\Greenstone Editor for Metadata Sets (GEMS).lnk"
258 execute="${installDir}\gli\gems.bat"
259 workingDirectory="${installDir}\gli"
260 iconFile="${installDir}\resources\images\metadata.ico"
261 iconIndex="0" />
262
263 <shortcut
264 file="${startmenu.path}\Uninstall.lnk"
265 execute="${installDir}\Uninstall.bat"
266 workingDirectory="${installDir}"
267 iconFile="${installDir}\resources\images\uninstall.ico"
268 iconIndex="0" />
269
270 <shortcut
271 file="${startmenu.path}\Documentation\README.lnk"
272 execute="${installDir}\README.txt" />
273
274 <shortcut
275 file="${startmenu.path}\Documentation\Greenstone3 Users' Guide.lnk"
276 execute="${installDir}\documentation\manual\manual.pdf" />
277
278 <shortcut
279 file="${startmenu.path}\Documentation\Greenstone2 Users' Guide.lnk"
280 execute="${installDir}\documentation\manual\gs2_user_en.pdf" />
281
282 <shortcut
283 file="${startmenu.path}\Documentation\Greenstone Wiki.url"
284 url="http://wiki.greenstone.org" />
285
286 <shortcut
287 file="${startmenu.path}\Documentation\Greenstone Website.url"
288 url="http://www.greenstone.org" />
289
290 <!-- NO FLAX END -->
291
292 <!-- FLAX START-->
293
294 <shortcut
295 file="${startmenu.path}\Start FLAX Server.lnk"
296 execute="${installDir}\gs3-server.bat"
297 workingDirectory="${installDir}"
298 iconFile="${installDir}\resources\images\server.ico"
299 iconIndex="0" />
300
301 <shortcut
302 file="${startmenu.path}\Uninstall.lnk"
303 execute="${installDir}\Uninstall.bat"
304 workingDirectory="${installDir}"
305 iconFile="${installDir}\resources\images\uninstall.ico"
306 iconIndex="0" />
307
308 <!-- FLAX END -->
309 </target>
310
311 <!-- util target to extract the given component -->
312 <!-- pass in ${component.name} as a param -->
313 <!-- unused at this time as causes display errors in installer gui!
314 <target name="extract-component">
315 <!- - extract the component into place - ->
316 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="${component.name}.lzma"/></patternset></unzip>
317 <!- - if windows - ->
318 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ${component.name}.lzma"/></exec>
319 <!- - /if - ->
320 <!- - if linux|mac - ->
321 <sevenzip task="decode" input="${basedir}/${component.name}.lzma" output="${basedir}/${component.name}.comp"/>
322 <!- - /if - ->
323 <delete file="${component.name}.lzma"/>
324 <unzip src="${basedir}/${component.name}.comp" dest="${installDir}"/>
325 <delete file="${component.name}.comp"/>
326 </target>
327 -->
328
329</project>
Note: See TracBrowser for help on using the repository browser.