source: release-kits/wirk3/installer/build.xml@ 17636

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

overinstalls now delete the old startmenu group and install the new one instead of refreshing the old one

File size: 9.4 KB
Line 
1<?xml version="1.0"?>
2<!--
3This is the build.xml run by AntInstaller for the installer
4-->
5
6<project name="Installation" default="" basedir="${basedir}">
7
8 <!-- this is required to pick up the properties generated during the install pages -->
9 <property file="${basedir}/ant.install.properties"/>
10
11 <path id="project.classpath">
12 <pathelement path="${antinstaller.jar}"/>
13 </path>
14
15 <!-- custom tasks -->
16 <taskdef name="shortcut" classname="com.orangevolt.tools.ant.Win32ShortcutTask" classpathref="project.classpath"/>
17 <taskdef name="winprops" classname="com.orangevolt.tools.ant.Win32PropertiesTask" classpathref="project.classpath"/>
18 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
19 <typedef name="getfreepath" classname="org.greenstone.anttasks.GetFreePath" classpathref="project.classpath"/>
20
21 <!-- create a local installDir String -->
22 <path id="installDir.path">
23 <pathelement location="${installDir}"/>
24 </path>
25 <property name="installDir.local" refid="installDir.path"/>
26 <pathconvert targetos="unix" property="installDir.unix" refid="installDir.path"/>
27
28 <!-- load windows properties -->
29 <winprops/>
30
31 <!-- determine if there is an existing installation in the installDir-->
32 <available file="${installDir}\installation.properties" property="is.overinstall"/>
33
34 <target name="Looking For Previous Installation" if="is.overinstall">
35 <property file="${installDir}\installation.properties"/>
36 <delete dir="${installed.startmenu.path}" failonerror="false"/>
37 </target>
38
39 <target name="Installing Core System">
40
41 <!-- figure out the start menu path (if not already set from previous installation) -->
42 <getfreepath path="${win32.personal.programs_menu}\Greenstone-@version@" property="startmenu.path"/>
43 <path id="startmenu.path.path" path="${startmenu.path}"/>
44 <pathconvert targetos="unix" property="startmenu.path.unix" refid="startmenu.path.path"/>
45
46 <echo>basedir: ${basedir}</echo>
47 <echo>installDir: ${installDir}</echo>
48 <echo>antinstaller.jar: ${antinstaller.jar}</echo>
49 <echo>startmenu.path: ${startmenu.path}</echo>
50
51 <!-- create the installation directory -->
52 <echo message="Creating Installation directory"/>
53 <mkdir dir="${installDir}"/>
54
55 <!-- extract 7za tool -->
56 <unzip src="${antinstaller.jar}" dest="${basedir}">
57 <patternset><include name="7za.exe"/></patternset>
58 </unzip>
59
60 <!-- install files -->
61 <echo message="Installing Core Component"/>
62 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="core.lzma"/></patternset></unzip>
63 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x core.lzma"/></exec>
64 <delete file="core.lzma"/>
65 <unzip src="${basedir}/core.comp" dest="${installDir}"/>
66 <delete file="core.comp"/>
67
68 <!-- jre -->
69 <mkdir dir="${installDir}/packages"/>
70 <copy todir="${installDir}/packages/jre">
71 <fileset dir="../@windows-java.extracted@"/>
72 </copy>
73
74 <!-- rename greenstone3-build.xml back to build.xml -->
75 <move file="${installDir}/greenstone3-build.xml" tofile="${installDir}/build.xml" overwrite="true"/>
76
77 <!-- change the tomcat ports in build.properties -->
78 <echo message="Changing tomcat ports in build.properties"/>
79 <rsr file="${installDir}/build.properties" pattern="(tomcat.port[=:]).*" replacement="$1${tomcat.port}" />
80 <rsr file="${installDir}/build.properties" pattern="(tomcat.shutdown.port[=:]).*" replacement="$1${tomcat.shutdown.port}" />
81 <echo message="Changing tomcat ports in resources/tomcat/server.xml"/>
82 <copy file="${installDir}/resources/tomcat/server.xml" tofile="${installDir.local}/packages/tomcat/conf/server.xml" overwrite="true"/>
83
84 <!-- set gsdlhome in gs2build setup.bat -->
85 <echo message="Setting %GSDLHOME% in gs2build\setup.bat"/>
86 <rsr file="${installDir}/gs2build/setup.bat" pattern="\*\*GSDLHOME\*\*" replacement="${installDir.local}\gs2build" />
87 <!-- copy the greenstone3.xml file to tomcat -->
88 <echo message="Copying greenstone3.xml to tomcat directory"/>
89 <copy file="${installDir}/resources/tomcat/greenstone3.xml" tofile="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true"/>
90 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@gsdl3webhome@" replacement="${installDir.local}\web" />
91
92 <!-- set up global properties -->
93 <echo message="Setting up global properties"/>
94 <copy file="${installDir}/resources/java/global.properties.in" tofile="${installDir}/web/WEB-INF/classes/global.properties" overwrite="true"/>
95 <rsr file="${installDir}/web/WEB-INF/classes/global.properties">
96 <job pattern="@gsdl3home@" replacement="${installDir.unix}/web" />
97 <job pattern="@tomcat.server@" replacement="${tomcat.server}" />
98 <job pattern="@tomcat.port@" replacement="${tomcat.port}" />
99 </rsr>
100
101 <!-- set up log4j properties-->
102 <echo message="Setting up log4j properties"/>
103 <copy file="${installDir}/resources/java/log4j.properties.in" tofile="${installDir}/web/WEB-INF/classes/log4j.properties" overwrite="true"/>
104 <rsr file="${installDir}/web/WEB-INF/classes/log4j.properties" pattern="@gsdl3home@" replacement="${installDir.unix}/web"/>
105
106 <!-- delete unneeded files -->
107 <delete dir="${installDir}/resources/icons"/>
108 <delete file="${installDir}/resources/*.png"/>
109
110 <echo message="Creating installation properties file"/>
111 <echo file="${installDir}\installation.properties">installed.startmenu.path:${startmenu.path.unix}</echo>
112
113 </target>
114
115 <!-- Source -->
116 <target name="Installing Source Code">
117 <echo message="Installing Source Code (src)"/>
118 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="sourcecode.lzma"/></patternset></unzip>
119 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x sourcecode.lzma"/></exec>
120 <delete file="sourcecode.lzma"/>
121 <unzip src="${basedir}/sourcecode.comp" dest="${installDir}"/>
122 <delete file="sourcecode.comp"/>
123 </target>
124
125 <target name="Installing Tomcat">
126
127 <echo message="Installing Apache Tomcat"/>
128 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="tomcat.lzma"/></patternset></unzip>
129 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x tomcat.lzma"/></exec>
130 <delete file="tomcat.lzma"/>
131 <unzip src="${basedir}/tomcat.comp" dest="${installDir}/packages"/>
132 <delete file="tomcat.comp"/>
133
134 <!-- change the tomcat ports in tomcats server.xml -->
135 <rsr file="${installDir}/packages/tomcat/conf/server.xml" pattern="@server@" replacement="${tomcat.server}" />
136 <rsr file="${installDir}/packages/tomcat/conf/server.xml" pattern="@port@" replacement="${tomcat.port}" />
137 <rsr file="${installDir}/packages/tomcat/conf/server.xml" pattern="@shutdown-port@" replacement="${tomcat.shutdown.port}" />
138
139 </target>
140
141 <target name="Installing Ant">
142 <echo message="Installing Apache Ant"/>
143 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="ant.lzma"/></patternset></unzip>
144 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ant.lzma"/></exec>
145 <delete file="ant.lzma"/>
146 <unzip src="${basedir}/ant.comp" dest="${installDir}/packages"/>
147 <delete file="ant.comp"/>
148 </target>
149
150 <target name="Installing ImageMagick">
151 <echo message="Installing ImageMagick"/>
152 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="imagemagick.lzma"/></patternset></unzip>
153 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x imagemagick.lzma"/></exec>
154 <delete file="imagemagick.lzma"/>
155 <unzip src="${basedir}/imagemagick.comp" dest="${installDir}/gs2build/bin/windows"/>
156 <delete file="imagemagick.comp"/>
157 </target>
158
159 <target name="Installing Ghostscript">
160 <echo message="Installing GhostScript"/>
161 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="ghostscript.lzma"/></patternset></unzip>
162 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ghostscript.lzma"/></exec>
163 <delete file="ghostscript.lzma"/>
164 <unzip src="${basedir}/ghostscript.comp" dest="${installDir}/gs2build/bin/windows"/>
165 <delete file="ghostscript.comp"/>
166 </target>
167
168 <target name="Installing Start Menu Shortcuts">
169
170 <mkdir dir="${startmenu.path}\Documentation"/>
171
172 <shortcut
173 file="${startmenu.path}\Greenstone3 Server.lnk"
174 execute="${installDir}\gs3-server.bat"
175 workingDirectory="${installDir}"
176 iconFile="${installDir}\resources\images\gs3.ico"
177 iconIndex="0" />
178
179 <shortcut
180 file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
181 execute="${installDir}\gli\gli.bat"
182 workingDirectory="${installDir}\gli"
183 iconFile="${installDir}\resources\images\gs3.ico"
184 iconIndex="0" />
185
186 <shortcut
187 file="${startmenu.path}\Greenstone Editor for Metadata Sets (GEMS).lnk"
188 execute="${installDir}\gli\gems.bat"
189 workingDirectory="${installDir}\gli"
190 iconFile="${installDir}\resources\images\gs3.ico"
191 iconIndex="0" />
192
193 <shortcut
194 file="${startmenu.path}\Uninstall.lnk"
195 execute="${installDir}\Uninstall.bat"
196 workingDirectory="${installDir}"
197 iconFile="${installDir}\resources\images\gs3.ico"
198 iconIndex="0" />
199
200 <shortcut
201 file="${startmenu.path}\Documentation\README.lnk"
202 execute="${installDir}\README.txt" />
203
204 <shortcut
205 file="${startmenu.path}\Documentation\Greenstone3 Users' Guide.lnk"
206 execute="${installDir}\documentation\manual\manual.pdf" />
207
208 <shortcut
209 file="${startmenu.path}\Documentation\Greenstone2 Users' Guide.lnk"
210 execute="${installDir}\documentation\manual\gs2_user_en.pdf" />
211
212 </target>
213
214</project>
Note: See TracBrowser for help on using the repository browser.