source: release-kits/shared/greenstone3/installer/build.xml@ 20190

Last change on this file since 20190 was 20190, checked in by oranfry, 15 years ago

copy correct uninstaller script on windows, and prevent erroneous progress output at install

File size: 11.8 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/java" 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" pattern="(tomcat.port[=:]).*" replacement="$1${tomcat.port}" />
102 <rsr file="${installDir}/build.properties" pattern="(tomcat.shutdown.port[=:]).*" replacement="$1${tomcat.shutdown.port}" />
103
104 <echo>Setting up global properties</echo>
105 <copy file="${installDir}/resources/java/global.properties.in" tofile="${installDir}/web/WEB-INF/classes/global.properties" overwrite="true"/>
106 <rsr file="${installDir}/web/WEB-INF/classes/global.properties">
107 <job pattern="@gsdl3home@" replacement="${installDir.unix}/web" />
108 <job pattern="@tomcat.server@" replacement="${tomcat.server}" />
109 <job pattern="@tomcat.port@" replacement="${tomcat.port}" />
110 </rsr>
111
112 <echo>Setting up log4j properties</echo>
113 <copy file="${installDir}/resources/java/log4j.properties.in" tofile="${installDir}/web/WEB-INF/classes/log4j.properties" overwrite="true"/>
114 <rsr file="${installDir}/web/WEB-INF/classes/log4j.properties" pattern="@gsdl3home@" replacement="${installDir.unix}/web" />
115
116 <!-- if windows -->
117 <echo message="Setting GSDLHOME in gs2build\setup.bat"/>
118 <rsr file="${installDir}/gs2build/setup.bat" pattern="\*\*GSDLHOME\*\*" replacement="${installDir.local}\gs2build" />
119 <!-- /if -->
120
121 <echo>Creating the english dictionary</echo>
122 <copy file="${installDir}/gli/classes/dictionary.properties" tofile="${installDir}/gli/classes/dictionary_en.properties"/>
123
124 <echo>Creating usage.txt</echo>
125 <echo file="${installDir}/gs2build/etc/usage.txt"></echo>
126
127 <echo>Creating installation properties file</echo>
128 <echo file="${installDir}\installation.properties">installed.startmenu.path:${startmenu.path.unix}</echo>
129
130 <echo>Finished</echo>
131
132 </target>
133
134 <target name="Installing ImageMagick">
135
136 <echo>Installing ImageMagick</echo>
137 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="imagemagick.lzma"/></patternset></unzip>
138 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x imagemagick.lzma"/></exec><!-- /if -->
139 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/imagemagick.lzma" output="${basedir}/imagemagick.comp"/><!-- /if -->
140 <delete file="imagemagick.lzma"/>
141 <unzip src="${basedir}/imagemagick.comp" dest="${installDir}"/>
142 <delete file="imagemagick.comp"/>
143
144 <echo>Setting binaries to executable</echo>
145 <!-- if linux -->
146 <chmod dir="${installDir}/gs2build/bin/linux/imagemagick/bin" includes="*" perm="775"/>
147 <!-- /if -->
148 <!-- if mac -->
149 <chmod dir="${installDir}/gs2build/bin/darwin/imagemagick/bin" includes="*" perm="775"/>
150 <!-- /if -->
151
152 </target>
153
154 <target name="Installing Ghostscript">
155
156 <echo>Installing Ghostscript</echo>
157 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="ghostscript.lzma"/></patternset></unzip>
158 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ghostscript.lzma"/></exec><!-- /if -->
159 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/ghostscript.lzma" output="${basedir}/ghostscript.comp"/><!-- /if -->
160 <delete file="ghostscript.lzma"/>
161 <unzip src="${basedir}/ghostscript.comp" dest="${installDir}"/>
162 <delete file="ghostscript.comp"/>
163
164 <echo>Setting binaries to executable</echo>
165 <!-- if linux -->
166 <chmod dir="${installDir}/gs2build/bin/linux/ghostscript/bin" includes="*" perm="775"/>
167 <!-- /if -->
168 <!-- if mac -->
169 <chmod dir="${installDir}/gs2build/bin/darwin/ghostscript/bin" includes="*" perm="775"/>
170 <!-- /if -->
171
172 </target>
173
174 <target name="Installing Tomcat">
175
176 <echo>Installing Tomcat (packages/tomcat)</echo>
177 <mkdir dir="packages"/>
178 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="tomcat.lzma"/></patternset></unzip>
179 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x tomcat.lzma"/></exec><!-- /if -->
180 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/tomcat.lzma" output="${basedir}/tomcat.comp"/><!-- /if -->
181 <delete file="tomcat.lzma"/>
182 <unzip src="${basedir}/tomcat.comp" dest="${installDir}"/>
183 <delete file="tomcat.comp"/>
184
185
186 <echo>Changing tomcat ports tomcat's server.xml</echo>
187 <copy file="${installDir}/resources/tomcat/server_tomcat6.xml" tofile="${installDir}/packages/tomcat/conf/server.xml" overwrite="true"/>
188 <rsr file="${installDir}/packages/tomcat/conf/server.xml">
189 <job pattern="@port@" replacement="${tomcat.port}"/>
190 <job pattern="@shutdown-port@" replacement="${tomcat.shutdown.port}"/>
191 </rsr>
192
193 <echo>Copying greenstone3.xml to tomcat directory</echo>
194 <copy file="${installDir}/resources/tomcat/greenstone3.xml" tofile="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true"/>
195 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@gsdl3webhome@" replacement="${installDir.local}${file.separator}web" />
196
197 <echo>Set binaries to executable</echo>
198 <chmod dir="${installDir}/packages/tomcat/bin" includes="*.sh" perm="775"/>
199
200 </target>
201
202 <target name="Installing Start Menu Shortcuts">
203
204 <echo>Installing Start Menu Shortcuts</echo>
205
206 <mkdir dir="${startmenu.path}\Documentation"/>
207
208 <shortcut
209 file="${startmenu.path}\Greenstone3 Server.lnk"
210 execute="${installDir}\gs3-server.bat"
211 workingDirectory="${installDir}"
212 iconFile="${installDir}\resources\images\serverico.ico"
213 iconIndex="0" />
214
215 <shortcut
216 file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
217 execute="${installDir}\gli\gli.bat"
218 workingDirectory="${installDir}\gli"
219 iconFile="${installDir}\resources\images\gs3.ico"
220 iconIndex="0" />
221
222 <shortcut
223 file="${startmenu.path}\Greenstone Editor for Metadata Sets (GEMS).lnk"
224 execute="${installDir}\gli\gems.bat"
225 workingDirectory="${installDir}\gli"
226 iconFile="${installDir}\resources\images\gems.ico"
227 iconIndex="0" />
228
229 <shortcut
230 file="${startmenu.path}\Uninstall.lnk"
231 execute="${installDir}\Uninstall.bat"
232 workingDirectory="${installDir}"
233 iconFile="${installDir}\resources\images\uninstall.ico"
234 iconIndex="0" />
235
236 <shortcut
237 file="${startmenu.path}\Documentation\README.lnk"
238 execute="${installDir}\README.txt" />
239
240 <shortcut
241 file="${startmenu.path}\Documentation\Greenstone3 Users' Guide.lnk"
242 execute="${installDir}\documentation\manual\manual.pdf" />
243
244 <shortcut
245 file="${startmenu.path}\Documentation\Greenstone2 Users' Guide.lnk"
246 execute="${installDir}\documentation\manual\gs2_user_en.pdf" />
247
248 <shortcut
249 file="${startmenu.path}\Documentation\Greenstone Wiki.url"
250 url="http://wiki.greenstone.org" />
251
252 <shortcut
253 file="${startmenu.path}\Documentation\Greenstone Website.url"
254 url="http://www.greenstone.org" />
255
256 </target>
257
258 <!-- util target to extract the given component -->
259 <!-- pass in ${component.name} as a param -->
260 <!-- unused at this time as causes display errors in installer gui!
261 <target name="extract-component">
262 <!- - extract the component into place - ->
263 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="${component.name}.lzma"/></patternset></unzip>
264 <!- - if windows - ->
265 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ${component.name}.lzma"/></exec>
266 <!- - /if - ->
267 <!- - if linux|mac - ->
268 <sevenzip task="decode" input="${basedir}/${component.name}.lzma" output="${basedir}/${component.name}.comp"/>
269 <!- - /if - ->
270 <delete file="${component.name}.lzma"/>
271 <unzip src="${basedir}/${component.name}.comp" dest="${installDir}"/>
272 <delete file="${component.name}.comp"/>
273 </target>
274 -->
275
276</project>
Note: See TracBrowser for help on using the repository browser.