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

Last change on this file since 21890 was 21890, checked in by ak19, 14 years ago

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

File size: 12.2 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 <target name="Installing Tomcat">
179
180 <echo>Installing Tomcat (packages/tomcat)</echo>
181 <mkdir dir="packages"/>
182 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="tomcat.lzma"/></patternset></unzip>
183 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x tomcat.lzma"/></exec><!-- /if -->
184 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/tomcat.lzma" output="${basedir}/tomcat.comp"/><!-- /if -->
185 <delete file="tomcat.lzma"/>
186 <unzip src="${basedir}/tomcat.comp" dest="${installDir}"/>
187 <delete file="tomcat.comp"/>
188
189
190 <echo>Changing tomcat ports tomcat's server.xml</echo>
191 <copy file="${installDir}/resources/tomcat/server_tomcat6.xml" tofile="${installDir}/packages/tomcat/conf/server.xml" overwrite="true"/>
192 <rsr file="${installDir}/packages/tomcat/conf/server.xml">
193 <job pattern="@port@" replacement="${tomcat.port}"/>
194 <job pattern="@shutdown-port@" replacement="${tomcat.shutdown.port}"/>
195 </rsr>
196
197 <echo>Copying greenstone3.xml to tomcat directory</echo>
198 <copy file="${installDir}/resources/tomcat/greenstone3.xml" tofile="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true"/>
199 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@gsdl3webhome@" replacement="${installDir.local}${file.separator}web" />
200
201 <echo>Set binaries to executable</echo>
202 <chmod dir="${installDir}/packages/tomcat/bin" includes="*.sh" perm="775"/>
203
204 </target>
205
206 <target name="Installing Start Menu Shortcuts">
207
208 <echo>Installing Start Menu Shortcuts</echo>
209
210 <mkdir dir="${startmenu.path}\Documentation"/>
211
212 <shortcut
213 file="${startmenu.path}\Greenstone3 Server.lnk"
214 execute="${installDir}\gs3-server.bat"
215 workingDirectory="${installDir}"
216 iconFile="${installDir}\resources\images\server.ico"
217 iconIndex="0" />
218
219 <shortcut
220 file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
221 execute="${installDir}\gli\gli.bat"
222 workingDirectory="${installDir}\gli"
223 iconFile="${installDir}\resources\images\librarian.ico"
224 iconIndex="0" />
225
226 <shortcut
227 file="${startmenu.path}\Greenstone Editor for Metadata Sets (GEMS).lnk"
228 execute="${installDir}\gli\gems.bat"
229 workingDirectory="${installDir}\gli"
230 iconFile="${installDir}\resources\images\metadata.ico"
231 iconIndex="0" />
232
233 <shortcut
234 file="${startmenu.path}\Uninstall.lnk"
235 execute="${installDir}\Uninstall.bat"
236 workingDirectory="${installDir}"
237 iconFile="${installDir}\resources\images\uninstall.ico"
238 iconIndex="0" />
239
240 <shortcut
241 file="${startmenu.path}\Documentation\README.lnk"
242 execute="${installDir}\README.txt" />
243
244 <shortcut
245 file="${startmenu.path}\Documentation\Greenstone3 Users' Guide.lnk"
246 execute="${installDir}\documentation\manual\manual.pdf" />
247
248 <shortcut
249 file="${startmenu.path}\Documentation\Greenstone2 Users' Guide.lnk"
250 execute="${installDir}\documentation\manual\gs2_user_en.pdf" />
251
252 <shortcut
253 file="${startmenu.path}\Documentation\Greenstone Wiki.url"
254 url="http://wiki.greenstone.org" />
255
256 <shortcut
257 file="${startmenu.path}\Documentation\Greenstone Website.url"
258 url="http://www.greenstone.org" />
259
260 </target>
261
262 <!-- util target to extract the given component -->
263 <!-- pass in ${component.name} as a param -->
264 <!-- unused at this time as causes display errors in installer gui!
265 <target name="extract-component">
266 <!- - extract the component into place - ->
267 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="${component.name}.lzma"/></patternset></unzip>
268 <!- - if windows - ->
269 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ${component.name}.lzma"/></exec>
270 <!- - /if - ->
271 <!- - if linux|mac - ->
272 <sevenzip task="decode" input="${basedir}/${component.name}.lzma" output="${basedir}/${component.name}.comp"/>
273 <!- - /if - ->
274 <delete file="${component.name}.lzma"/>
275 <unzip src="${basedir}/${component.name}.comp" dest="${installDir}"/>
276 <delete file="${component.name}.comp"/>
277 </target>
278 -->
279
280</project>
Note: See TracBrowser for help on using the repository browser.