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

Last change on this file since 24437 was 24437, checked in by ak19, 13 years ago

Changes to release-kit to get the admin page to appear in the GS3 installer. Needed to add in a typedef reference in GS3 for the GS custom addusertask of ant that Oran wrote. Encryption of password requires lib\Crypt.class to be generated from crypt.jar. The other changes were copied from how the GS2 admin page works.

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