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

Revision 21890, 12.2 KB (checked in by ak19, 10 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

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