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

Last change on this file since 29294 was 29294, checked in by ak19, 10 years ago

Gems Mac shortcut was still not executable, despite yesterday's commit 29291. Other .app Mac shortcuts were made executable in the installer, so now doing the same for gems

File size: 16.7 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.AddGreenstone3UserToDatabase" 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 <chmod dir="${installDir}/gs2build/bin/linux/wv/bin" includes="*" perm="775"/>
103 <!-- /if -->
104 <!-- if mac -->
105 <chmod dir="${installDir}/gs2build/bin/darwin" includes="**/*" excludes="ghostscript/** imagemagick/**" perm="775"/>
106 <!-- /if -->
107 <chmod dir="${installDir}/gs2build/bin/script" includes="**/*" perm="775"/>
108 <!-- GLI START -->
109 <chmod dir="${installDir}/gli" includes="*.sh" perm="775"/>
110 <!-- GLI END -->
111
112 <chmod file="${installDir}/packages/ant/bin/ant" perm="775"/>
113 <!--
114 source is not included for now
115 <chmod dir="${installDir}/gs2build" includes="**/configure" perm="775"/>
116 <chmod dir="${installDir}/gs2build/common-src/packages/gdbm/gdbm-1.8.3" includes="mkinstalldirs" perm="775"/>
117 <chmod file="${installDir}/src/packages/javagdbm/configure" perm="775"/>
118 -->
119
120
121 <echo>Correcting perl shebangs in perl scripts</echo>
122 <ant dir="${installDir}" antfile="build.xml" target="set-perl-shebangs" inheritAll="false" />
123
124
125 <echo>Setting tomcat ports</echo>
126 <property name="tomcat.server" value="localhost"/>
127 <property name="tomcat.port" value="8383"/>
128 <property name="tomcat.shutdown.port" value="8305"/>
129 <rsr file="${installDir}/build.properties">
130 <job pattern="^(tomcat\.server[=:]).*" replacement="$1${tomcat.server}" />
131 <job pattern="^(tomcat\.port[=:]).*" replacement="$1${tomcat.port}" />
132 <job pattern="^(tomcat\.shutdown.port[=:]).*" replacement="$1${tomcat.shutdown.port}" />
133 </rsr>
134
135 <echo>Setting up global properties</echo>
136 <copy file="${installDir}/resources/web/global.properties.in" tofile="${installDir}/web/WEB-INF/classes/global.properties" overwrite="true"/>
137 <rsr file="${installDir}/web/WEB-INF/classes/global.properties">
138 <job pattern="^(gsdl3\.home[:=]).*" replacement="$1${installDir.unix}/web" />
139 <job pattern="^(tomcat.server[:=]).*" replacement="$1${tomcat.server}" />
140 <job pattern="^(tomcat\.port[:=]).*" replacement="$1${tomcat.port}" />
141 </rsr>
142
143 <echo>Setting up log4j properties</echo>
144 <copy file="${installDir}/resources/web/log4j.properties.in" tofile="${installDir}/web/WEB-INF/classes/log4j.properties" overwrite="true"/>
145 <rsr file="${installDir}/web/WEB-INF/classes/log4j.properties" pattern="@gsdl3home@" replacement="${installDir.unix}/web" />
146
147 <!-- if windows -->
148 <echo message="Setting GSDLHOME in gs2build\setup.bat"/>
149 <!-- 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 -->
150 <rsr file="${installDir}/gs2build/setup.bat" pattern="&quot;?\*\*GSDLHOME\*\*&quot;?" replacement="${installDir.local}\gs2build" />
151 <!-- /if -->
152
153 <!-- if mac -->
154 <echo>Installing Mac Shortcuts</echo>
155 <ant dir="${installDir}" antfile="build.xml" target="gen-mac-shortcuts" inheritAll="false" />
156 <!-- need to give executable permissions to the Mac shortcuts -->
157 <chmod file="${installDir}/gs3-server.app/Contents/MacOS/gs2-server" perm="775"/><!--called gs2-server, since the gs3-server.app is a copy of the one generated for gs2-->
158 <chmod file="${installDir}/gli.app/Contents/MacOS/gli" perm="775"/>
159 <chmod file="${installDir}/client-gli.app/Contents/MacOS/client-gli" perm="775"/>
160 <chmod file="${installDir}/gems.app/Contents/MacOS/gems" perm="775"/>
161
162 <!--<chmod dir="${installDir}" includes="*.app" perm="755"/>
163 <chmod dir="${installDir}" includes="*.app/**/*" perm="755"/>-->
164
165 <!-- /if -->
166
167 <!-- GLI START -->
168 <echo>Creating the english dictionary</echo>
169 <copy file="${installDir}/gli/classes/dictionary.properties" tofile="${installDir}/gli/classes/dictionary_en.properties"/>
170 <!-- GLI END -->
171
172 <echo>Creating usage.txt</echo>
173 <echo file="${installDir}/gs2build/etc/usage.txt"></echo>
174
175 <echo>Creating installation properties file</echo>
176 <echo file="${installDir}\installation.properties">installed.startmenu.path:${startmenu.path.unix}</echo>
177
178 <echo>Finished</echo>
179
180 </target>
181
182 <target name="Installing ImageMagick">
183
184 <echo>Installing ImageMagick</echo>
185 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="imagemagick.lzma"/></patternset></unzip>
186 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x imagemagick.lzma"/></exec><!-- /if -->
187 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/imagemagick.lzma" output="${basedir}/imagemagick.comp"/><!-- /if -->
188 <delete file="imagemagick.lzma"/>
189 <unzip src="${basedir}/imagemagick.comp" dest="${installDir}"/>
190 <delete file="imagemagick.comp"/>
191
192 <echo>Setting binaries to executable</echo>
193 <!-- if linux -->
194 <chmod dir="${installDir}/gs2build/bin/linux/imagemagick/bin" includes="*" perm="775"/>
195 <!-- /if -->
196 <!-- if mac -->
197 <chmod dir="${installDir}/gs2build/bin/darwin/imagemagick/bin" includes="*" perm="775"/>
198 <!-- /if -->
199
200 </target>
201
202 <!-- NO FLAX START -->
203
204 <target name="Installing Ghostscript">
205
206 <echo>Installing Ghostscript</echo>
207 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="ghostscript.lzma"/></patternset></unzip>
208 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ghostscript.lzma"/></exec><!-- /if -->
209 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/ghostscript.lzma" output="${basedir}/ghostscript.comp"/><!-- /if -->
210 <delete file="ghostscript.lzma"/>
211 <unzip src="${basedir}/ghostscript.comp" dest="${installDir}"/>
212 <delete file="ghostscript.comp"/>
213
214 <echo>Setting binaries to executable</echo>
215 <!-- if linux -->
216 <chmod dir="${installDir}/gs2build/bin/linux/ghostscript/bin" includes="*" perm="775"/>
217 <!-- /if -->
218 <!-- if mac -->
219 <chmod dir="${installDir}/gs2build/bin/darwin/ghostscript/bin" includes="*" perm="775"/>
220 <!-- /if -->
221
222 </target>
223
224 <!-- NO FLAX END -->
225
226 <!-- start amp -->
227
228 <target name="Installing AMP">
229 <echo>Installing Apache, MySQL and PHP</echo>
230 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="amp.lzma"/></patternset></unzip>
231 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x amp.lzma"/></exec><!-- /if -->
232 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/amp.lzma" output="${basedir}/amp.comp"/><!-- /if -->
233 <delete file="amp.lzma"/>
234 <unzip src="${basedir}/amp.comp" dest="${installDir}/ext/amp"/>
235 <delete file="amp.comp"/>
236
237 <!-- if linux|mac -->
238 <echo>Setting binaries to executable</echo>
239 <chmod dir="${installDir}/ext/amp" includes="*" perm="775"/>
240 <!-- /if -->
241 </target>
242
243 <!-- end amp -->
244
245 <target name="Installing Tomcat">
246
247 <echo>Installing Tomcat (packages/tomcat)</echo>
248 <mkdir dir="packages"/>
249 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="tomcat.lzma"/></patternset></unzip>
250 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x tomcat.lzma"/></exec><!-- /if -->
251 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/tomcat.lzma" output="${basedir}/tomcat.comp"/><!-- /if -->
252 <delete file="tomcat.lzma"/>
253 <unzip src="${basedir}/tomcat.comp" dest="${installDir}"/>
254 <delete file="tomcat.comp"/>
255
256
257 <echo>Changing tomcat ports tomcat's server.xml</echo>
258 <copy file="${installDir}/resources/tomcat/server_tomcat7.xml" tofile="${installDir}/packages/tomcat/conf/server.xml" overwrite="true"/>
259 <rsr file="${installDir}/packages/tomcat/conf/server.xml">
260 <job pattern="@port@" replacement="${tomcat.port}"/>
261 <job pattern="@shutdown-port@" replacement="${tomcat.shutdown.port}"/>
262 </rsr>
263
264 <echo>Copying greenstone3.xml to tomcat directory</echo>
265 <copy file="${installDir}/resources/tomcat/greenstone3.xml" tofile="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true"/>
266 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@gsdl3webhome@" replacement="${installDir.local}${file.separator}web" />
267 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@privilegedattribute@" replacement="privileged='true'" />
268
269 <!-- FLAX START -->
270 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="localsite" replacement="flax" />
271 <!-- FLAX END -->
272
273 <echo>Set binaries to executable</echo>
274 <chmod dir="${installDir}/packages/tomcat/bin" includes="*.sh" perm="775"/>
275
276 </target>
277
278 <target name="Installing Start Menu Shortcuts">
279
280 <echo>Installing Start Menu Shortcuts</echo>
281
282 <!-- NO FLAX START -->
283
284 <mkdir dir="${startmenu.path}\Documentation"/>
285
286 <shortcut
287 file="${startmenu.path}\Greenstone3 Server.lnk"
288 execute="${installDir}\gs3-server.bat"
289 workingDirectory="${installDir}"
290 iconFile="${installDir}\resources\images\server.ico"
291 iconIndex="0" />
292
293 <shortcut
294 file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
295 execute="${installDir}\gli\gli.bat"
296 workingDirectory="${installDir}\gli"
297 iconFile="${installDir}\resources\images\librarian.ico"
298 iconIndex="0" />
299
300 <shortcut
301 file="${startmenu.path}\Greenstone Editor for Metadata Sets (GEMS).lnk"
302 execute="${installDir}\gli\gems.bat"
303 workingDirectory="${installDir}\gli"
304 iconFile="${installDir}\resources\images\metadata.ico"
305 iconIndex="0" />
306
307 <shortcut
308 file="${startmenu.path}\Uninstall.lnk"
309 execute="${installDir}\uninstall\Uninstall.bat"
310 workingDirectory="${installDir}"
311 iconFile="${installDir}\resources\images\uninstall.ico"
312 iconIndex="0" />
313
314 <shortcut
315 file="${startmenu.path}\Documentation\README.lnk"
316 execute="${installDir}\README.txt" />
317
318 <shortcut
319 file="${startmenu.path}\Documentation\Greenstone3 Users' Guide.lnk"
320 execute="${installDir}\documentation\manual\manual.pdf" />
321
322 <shortcut
323 file="${startmenu.path}\Documentation\Greenstone2 Users' Guide.lnk"
324 execute="${installDir}\documentation\manual\gs2_user_en.pdf" />
325
326 <shortcut
327 file="${startmenu.path}\Documentation\Greenstone Wiki.url"
328 url="http://wiki.greenstone.org" />
329
330 <shortcut
331 file="${startmenu.path}\Documentation\Greenstone Website.url"
332 url="http://www.greenstone.org" />
333
334 <!-- NO FLAX END -->
335
336 <!-- FLAX START -->
337
338 <shortcut
339 file="${startmenu.path}\Start FLAX Server.lnk"
340 execute="${installDir}\gs3-server.bat"
341 workingDirectory="${installDir}"
342 iconFile="${installDir}\resources\images\server.ico"
343 iconIndex="0" />
344
345 <shortcut
346 file="${startmenu.path}\Uninstall.lnk"
347 execute="${installDir}\uninstall\Uninstall.bat"
348 workingDirectory="${installDir}"
349 iconFile="${installDir}\resources\images\uninstall.ico"
350 iconIndex="0" />
351
352 <!-- FLAX END -->
353 </target>
354
355 <target name="Configuring Administration Pages" if="set.admin.pwd">
356 <echo>Enabling Admin Pages</echo>
357 <rsr file="${installDir}/web/sites/localsite/siteConfig.xml" pattern="&lt;!--&lt;serviceRack name='Authentication'/&gt;--&gt;" replacement="&lt;serviceRack name='Authentication'/&gt;"/>
358 <echo>Creating admin user</echo>
359 <!--<echo>Creating admin and demo users</echo>-->
360 <ant dir="${installDir}" antfile="build.xml" target="config-admin" inheritAll="false">
361 <property name="admin.password" value="${admin.password}"/>
362 </ant>
363 <!--<adduser txt2db="org.greenstone.gsdl3.util.ChangePwdUsersDB"
364 usersDb="${installDir}/web/sites/localsite/etc/usersDB"
365 username="admin"
366 password="${admin.password}"
367 groups="administrator,colbuilder,all-collections-editor"
368 comment="created at install time"
369 email=""/>
370 <adduser
371 txt2db="org.greenstone.gsdl3.util.ChangePwdUsersDB"
372 usersDb="${installDir}/web/sites/localsite/etc/usersDB"
373 username="demo"
374 password="demo"
375 groups="demo"
376 comment="Dummy 'demo' user with password 'demo' for authen-e collection"
377 email=""/>-->
378 </target>
379
380 <!-- util target to extract the given component -->
381 <!-- pass in ${component.name} as a param -->
382 <!-- unused at this time as causes display errors in installer gui!
383 <target name="extract-component">
384 <!- - extract the component into place - ->
385 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="${component.name}.lzma"/></patternset></unzip>
386 <!- - if windows - ->
387 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ${component.name}.lzma"/></exec>
388 <!- - /if - ->
389 <!- - if linux|mac - ->
390 <sevenzip task="decode" input="${basedir}/${component.name}.lzma" output="${basedir}/${component.name}.comp"/>
391 <!- - /if - ->
392 <delete file="${component.name}.lzma"/>
393 <unzip src="${basedir}/${component.name}.comp" dest="${installDir}"/>
394 <delete file="${component.name}.comp"/>
395 </target>
396 -->
397
398</project>
Note: See TracBrowser for help on using the repository browser.