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

Revision 29294, 16.7 KB (checked in by ak19, 5 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

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 browser.