source: main/trunk/release-kits/shared/core/ant-scripts/shared.xml@ 22112

Last change on this file since 22112 was 22112, checked in by sjm84, 14 years ago

Removed some code the prevented the gli/winutil directory from being installed

File size: 19.3 KB
RevLine 
[16173]1<?xml version="1.0" encoding="utf-8" ?>
2<project name="rk-init">
3
[20600]4 <!-- CHECK PRE-CONDITIONS -->
5 <target name="init">
[16173]6
[20600]7 <!-- load in static properties from build.properties -->
8 <property file="${rk.name}-build.properties" />
[16199]9
[21654]10 <!-- load environment properties -->
11 <property environment="env"/>
12
[20600]13 <!-- CONSTANTS (overridable in build.properties) -->
[16173]14
[20600]15 <!-- svn root -->
16 <property name="svn.root" value="http://svn.greenstone.org" />
17
18 <!-- the minimum version of java which the installer should be run with (this gets used in search4j) -->
19 <property name="java.min.version" value="1.4.0_00"/>
[16173]20
[20600]21 <!-- create a localised basedir property -->
22 <path id="basedir.path"><pathelement location="${basedir}"/></path>
23 <property name="basedir.local" refid="basedir.path"/>
[16199]24
[21593]25 <!-- size of resource chunks (windows wrapper) -->
[21521]26 <property name="resources.chunksize" value="8388608"/>
[21593]27
28 <!-- the extra space for the dmg image in KB (mac wrapper) -->
29 <property name="dmg.overhead" value="2048"/>
30
[20600]31 <!-- current date and time -->
32 <tstamp>
33 <format property="current.month" pattern="MMM"/>
34 <format property="current.year" pattern="yyyy"/>
35 <format property="date" pattern="yyyy.MM.dd"/>
36 </tstamp>
[17344]37
[20600]38 <!-- BUNDLED JAVA INFO -->
39 <!-- the bundled javas are kept in shared/linux/wrapper and shared/windows/wrapper in the repository -->
40 <!-- change this info when the bundled version changes -->
[20937]41 <property name="java.extracted" value="jre"/> <!-- set this to the name of the top level directory in the above archive -->
42
[20600]43 <!-- linux -->
44 <property name="linux-java.installer" value="jre_bin"/>
45 <property name="bundled.version.linux-java" value="1.6.0_05"/> <!-- set this to the version number of java in the above archive -->
46 <property name="component.bytesize.linux-java" value="101245987"/> <!-- set this to the size of the extract archive -->
[17518]47
[20600]48 <!-- windows -->
49 <property name="windows-java.installer" value="jre.exe"/>
50 <property name="bundled.version.windows-java" value="1.6.0_07"/> <!-- set this to the version number of java in the above archive -->
51 <property name="component.bytesize.windows-java" value="75000000"/> <!-- set this to the size of the extract archive -->
[17467]52
[20600]53 <!-- version numbers of other bundled things -->
54 <property name="bundled.version.imagemagick" value="6.4.3"/>
55 <property name="bundled.version.ghostscript" value="8.63"/>
56 <property name="bundled.version.tomcat" value="6.0.20"/>
[16173]57
[20600]58 <!-- CLASSPATH -->
59 <path id="project.classpath">
[16173]60
[20600]61 <!-- our classes -->
[21388]62 <fileset dir="${rk.home}/shared/core">
[20600]63 <include name="ant-tasks/antelope/AntelopeTasks_3.4.2.jar"/>
64 <include name="ant-tasks/orangevolt/roxes-win32forjava-1.1.1.jar"/>
65 <include name="ant-tasks/orangevolt/orangevolt-ant-tasks-1.3.8.jar"/>
66 <include name="ant-tasks/greenstone/anttasks.jar"/>
67 <include name="ant-tasks/7z-ant/7z.jar"/>
68 <include name="lib/crypt.jar"/>
69 <include name="lib/serializer.jar"/>
70 <include name="lib/xalan.jar"/>
71 <include name="lib/xercesImpl.jar"/>
72 <include name="lib/xml-apis.jar"/>
73 <include name="ant-installer/lib/ant-installer-ext.jar"/>
74 <include name="ant-installer/lib/ant-installer.jar"/>
75 </fileset>
[16173]76
[20600]77 </path>
[16173]78
[20600]79 <!-- SELF DEFINED TASKS AND TYPES -->
80 <taskdef name="if" classname="ise.antelope.tasks.IfTask" classpathref="project.classpath"/>
81 <taskdef name="try" classname="ise.antelope.tasks.TryTask" classpathref="project.classpath"/>
82 <taskdef name="math" classname="ise.antelope.tasks.MathTask" classpathref="project.classpath"/>
83 <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpathref="project.classpath"/>
84 <taskdef name="installer" classname="org.tp23.antinstaller.taskdefs.Installer" classpathref="project.classpath"/>
85 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
86 <typedef name="dcff" classname="org.greenstone.anttasks.DeleteChunkFromFile" classpathref="project.classpath"/>
87 <typedef name="rsplit" classname="org.greenstone.anttasks.SplitResource" classpathref="project.classpath"/>
88 <typedef name="get-property-value" classname="org.greenstone.anttasks.GetPropertyValue" classpathref="project.classpath"/>
[22092]89
90 <!-- default revision and branch path -->
91 <property name="branch.revision" value="HEAD" />
92 <property name="branch.tag.name" value="trunk" />
93 <property name="branch.tag.version" value="" />
94
95 <if><bool><equals arg1="${branch.tag.name}" arg2="trunk" /></bool>
96
97 <property name="branch.path" value="${branch.tag.name}" />
98
99 <else>
100 <if>
101 <bool>
102 <not><equals arg1="${branch.tag.version}" arg2="" /></not>
103 </bool>
104 <property name="branch.path" value="${branch.tag.name}/${branch.tag.version}" />
105 <else>
106 <fail>Cannot use use a branch.tag.name that is not 'trunk' without also defining branch.tag.version</fail>
107 </else>
108 </if>
109 </else>
110 </if>
[17344]111
[20600]112 <!-- DATES IN DIFFERENT LANGUAGES -->
[21388]113 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="ar.Dates.${current.month}" outputProperty="month.ar"/>
114 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="ca.Dates.${current.month}" outputProperty="month.ca"/>
115 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="el.Dates.${current.month}" outputProperty="month.el"/>
116 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="es.Dates.${current.month}" outputProperty="month.es"/>
117 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="fr.Dates.${current.month}" outputProperty="month.fr"/>
118 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="lv.Dates.${current.month}" outputProperty="month.lv"/>
119 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="mr.Dates.${current.month}" outputProperty="month.mr"/>
120 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="ro.Dates.${current.month}" outputProperty="month.ro"/>
121 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="ru.Dates.${current.month}" outputProperty="month.ru"/>
122 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="vi.Dates.${current.month}" outputProperty="month.vi"/>
123 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="zh.Dates.${current.month}" outputProperty="month.zh"/>
124 <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="default.Dates.${current.month}" outputProperty="month.default"/>
[19006]125
[21623]126
[16173]127 <!-- version number -->
[21623]128 <if><bool><not><isset property="version"/></not></bool>
129 <fail>Version number not set. Check that the file '${rk.name}-build.properties' exists and defines property 'version'.</fail>
[16173]130 </if>
131 <property name="app.version" value="${version}"/>
132
[20337]133 <!-- work out rk.os -->
134 <if>
135 <bool>
136 <or>
137 <equals arg1="${rk.os}" arg2="linux"/>
138 <equals arg1="${rk.os}" arg2="mac"/>
139 <equals arg1="${rk.os}" arg2="windows"/>
140 </or>
141 </bool>
142 <echo>Using user-specified value for rk.os: '${rk.os}'</echo>
143
144 <else><if>
145 <bool><equals arg1="${os.name}" arg2="Linux"/></bool>
146 <property name="rk.os" value="linux"/>
147
148 <else><if>
149 <bool><equals arg1="${os.name}" arg2="Mac OS X"/></bool>
150 <property name="rk.os" value="mac"/>
151
152 <else><if>
153 <bool>
154 <or>
155 <equals arg1="${os.name}" arg2="Windows 95"/>
156 <equals arg1="${os.name}" arg2="Windows 98"/>
157 <equals arg1="${os.name}" arg2="Windows 2000"/>
158 <equals arg1="${os.name}" arg2="Windows XP"/>
159 <equals arg1="${os.name}" arg2="Windows NT"/>
160 <equals arg1="${os.name}" arg2="Windows ME"/>
161 <equals arg1="${os.name}" arg2="Windows Vista"/>
[22092]162 <equals arg1="${os.name}" arg2="Windows 7"/>
[20337]163 </or>
164 </bool>
165 <property name="rk.os" value="windows"/>
166
167 <else>
168 <fail>Can't work out what to set rk.os to. Please report this to [email protected] . In the mean time, manually set rk.os to 'windows', 'mac', or 'linux' by reinvoking the release kit with, for example, '-Drk.os=windows'</fail>
169
170 </else></if></else></if></else></if></else></if>
171
[21593]172 <!-- set os.suffix and os.shell -->
[20337]173 <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
174 <property name="os.suffix" value="MacOS-intel"/>
[21593]175 <property name="os.shell" value="darwin"/>
[20337]176 </if>
177 <property name="os.suffix" value="${rk.os}"/>
[21593]178 <property name="os.shell" value="${rk.os}"/>
[20337]179
[21623]180 <!-- set os.script.format -->
181 <if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
182 <property name="os.script.format" value="sh"/>
183 <else><if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
184 <property name="os.script.format" value="bat"/>
185 </if></else></if>
186
[16681]187 <!-- show important properties -->
188 <echo level="info">Version (version): ${version}</echo>
[21608]189 <echo level="info">Major Version (version.major): ${version.major}</echo>
[16681]190 <echo level="info">Branch Path (branch.path): ${branch.path}</echo>
[19152]191 <echo level="info">Date (date): ${date}</echo>
[16681]192 <echo level="info">Current Month (current.month): ${current.month}</echo>
193 <echo level="info">Current Year (current.year): ${current.year}</echo>
[20337]194 <echo level="info">Operating System (rk.os): ${rk.os}</echo>
195 <echo level="info">Operating System Suffix (os.suffix): ${os.suffix}</echo>
[21634]196 <echo level="info">Operating System Script format (os.script.format): ${os.script.format}</echo>
197 <echo level="info">Operating System Shell (os.shell): ${os.shell}</echo>
[21623]198 <!--
199 <echo level="info">Current Date</echo>
200 <echo level="info">ar: ${month.ar} ${current.year}</echo>
201 <echo level="info">ca: ${month.el} ${current.year}</echo>
202 <echo level="info">el: ${month.el} ${current.year}</echo>
203 <echo level="info">es: ${month.es} ${current.year}</echo>
204 <echo level="info">fr: ${month.fr} ${current.year}</echo>
205 <echo level="info">lv: ${month.lv} ${current.year}</echo>
206 <echo level="info">mr: ${month.mr} ${current.year}</echo>
207 <echo level="info">ro: ${month.ro} ${current.year}</echo>
208 <echo level="info">ru: ${month.ru} ${current.year}</echo>
209 <echo level="info">vi: ${month.vi} ${current.year}</echo>
210 <echo level="info">zh: ${month.zh} ${current.year}</echo>
211 <echo level="info">default: (${month.default} ${current.year})</echo>
212 -->
[16173]213 </target>
214
[21630]215 <!-- show the core properties of all release-kits -->
216 <target name="core-properties">
[21652]217 <echo>version (required) the version string for the release</echo>
218 <echo>branch.path (optional) the branch of Greenstone to make a release of. Eg: tags/2.81. Default: trunk.</echo>
219 <echo>branch.revision (optional) the revision of Greenstone to make a release of. Eg: 18273. Default: HEAD.</echo>
[21630]220 </target>
221
[21623]222 <!-- a target to strip any directory of .svn folders -->
[17346]223 <target name="strip-svn-dirs">
224 <delete includeemptydirs="true">
225 <fileset dir="${dir}" defaultexcludes="false">
226 <include name="**/.svn/**" />
227 <include name="**/.svn/" />
228 <include name=".svn/**" />
229 <include name=".svn/" />
230 </fileset>
231 </delete>
232 </target>
233
[21623]234 <!-- target to insert the uninstaller into 'compiled' and compile it -->
235 <target name="insert-and-compile-uninstaller">
[17589]236
[17898]237 <!-- create working build directory -->
[21623]238 <mkdir dir="compiled/uninstaller/build/resources" />
[17898]239
240 <!-- copile to build -->
241 <javac
[21388]242 srcdir="${rk.home}/shared/core/uninstaller"
[21623]243 destdir="compiled/uninstaller/build" />
[17898]244
245 <!-- copy language bundle into place -->
246 <native2ascii
247 implementation="sun"
[21388]248 src="${rk.home}/shared/core/language-strings"
[21623]249 dest="compiled/uninstaller/build/resources"/>
[17898]250
251 <!-- jar it all up -->
252 <jar
[21623]253 destfile="compiled/uninst.jar"
[21388]254 manifest="${rk.home}/shared/core/uninstaller/manifest.mf"
[21623]255 basedir="compiled/uninstaller/build" />
[17898]256
[21630]257 <!-- clean up build directory -->
258 <delete dir="compiled/uninstaller"/>
259
[21623]260 <!-- put the associated script in place -->
261 <copy file="${rk.home}/shared/core/uninstaller/Uninstall.${os.script.format}" todir="compiled"/>
[17898]262
263 </target>
264
[21623]265 <!-- target to set all the version numbers in a greenstone2 or gs2build directory -->
[20205]266 <target name="gsdl-set-version-numbers">
[19472]267
[20213]268 <if><bool><available file="${gsdl.basedir}/common-src/src/lib/gsdlconf.h"/></bool>
269 <rsr file="${gsdl.basedir}/common-src/src/lib/gsdlconf.h" pattern="(#define GSDL_VERSION) &quot;.*&quot;" replacement="$1 &quot;${version}&quot;" />
[21623]270 </if>
[20205]271
[20214]272 <if><bool><available file="${gsdl.basedir}/etc/VERSION"/></bool>
[20213]273 <rsr file="${gsdl.basedir}/etc/VERSION" pattern="(gsdl version: ).*" replacement="$1${version}" />
[21623]274 </if>
[20205]275
[20214]276 <if><bool><available file="${gsdl.basedir}/lib/java/server.properties"/></bool>
[20213]277 <rsr file="${gsdl.basedir}/lib/java/server.properties" pattern="^(Server2Control.Version[:=]).*" replacement="$1${version}" />
[21623]278 </if>
[20205]279
[20214]280 <if><bool><available file="${gsdl.basedir}/lib/java/log4j.properties.in"/></bool>
[20213]281 <rsr file="${gsdl.basedir}/lib/java/log4j.properties.in" pattern="^(log4j.category.org.greenstone.server[:=].*)INFO(.*)" replacement="$1WARN$2" />
[21623]282 </if>
[20205]283
284 <antcall target="gsdl-set-dates-in-readmes"><param name="gsdl.basedir" value="${gsdl.basedir}"/></antcall>
285
286 </target>
287
[21623]288 <!-- target to set dates in readme files -->
[20213]289 <target name="gsdl-set-dates-in-readmes">
290
291 <!-- en -->
292 <if><bool><available file="${gsdl.basedir}/READMEen.txt"/></bool>
293 <rsr file="${gsdl.basedir}/READMEen.txt">
294 <job pattern="^(Date\s*)(.*)" replacement="$1${month.default} ${current.year}" />
295 <job pattern="^(Version\s*)(.*)" replacement="$1${version}" />
296 </rsr>
297 </if>
298
299 <!-- ar -->
300 <if><bool><available file="${gsdl.basedir}/READMEar.txt"/></bool>
301 <rsr file="${gsdl.basedir}/READMEar.txt">
302 <job pattern="(التاريخ : \s*)(.*)" replacement="$1${month.ar} ${current.year}"/>
303 <job pattern="(النسخه : \s*)(.*)" replacement="$1${version}"/>
304 </rsr>
305 </if>
306
307 <!-- es -->
308 <if><bool><available file="${gsdl.basedir}/READMEes.txt"/></bool>
309 <rsr file="${gsdl.basedir}/READMEes.txt">
310 <job pattern="^(Fecha\s*)(.*)" replacement="$1${month.es} de ${current.year}"/>
311 <job pattern="^(Versi.?n\s*)(.*)" replacement="$1${version}"/>
312 </rsr>
313 </if>
314
315 <!-- fr -->
316 <if><bool><available file="${gsdl.basedir}/READMEfr.txt"/></bool>
317 <rsr file="${gsdl.basedir}/READMEfr.txt">
318 <job pattern="^(Date\s*)(.*)" replacement="$1${month.fr} ${current.year}"/>
319 <job pattern="^(Version\s*)(.*)" replacement="$1${version}"/>
320 </rsr>
321 </if>
322
323 <!-- ru -->
324 <if><bool><available file="${gsdl.basedir}/READMEru.txt"/></bool>
325 <rsr file="${gsdl.basedir}/READMEru.txt">
326 <job pattern="^(Дата\s*)(.*)" replacement="$1${month.ru} ${current.year}"/>
327 <job pattern="^(ВерсОя\s*)(.*)" replacement="$1${version}"/>
328 </rsr>
329 </if>
330
331 </target>
332
[21648]333 <!-- target to set version numbers in gli -->
334 <target name="gli-set-version-numbers">
335
336 <!-- DICTIOANRY FILES (AboutDialog.Date) -->
337 <echo level="info">Changing AboutDialog.Date in all dictionaries</echo>
338
339 <rsr file="${glibasedir}/classes/dictionary_ar.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.ar} ${current.year})" />
340 <rsr file="${glibasedir}/classes/dictionary_ca.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.ca} de ${current.year})" />
341 <rsr file="${glibasedir}/classes/dictionary_el.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.el} ${current.year})" />
342 <rsr file="${glibasedir}/classes/dictionary_es.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.es} ${current.year})" />
343 <rsr file="${glibasedir}/classes/dictionary_fr.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.fr} ${current.year})" />
344 <rsr file="${glibasedir}/classes/dictionary_lv.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.lv} ${current.year})" />
345 <rsr file="${glibasedir}/classes/dictionary_mr.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.mr} ${current.year})" />
346 <rsr file="${glibasedir}/classes/dictionary_ro.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.ro} ${current.year})" />
347 <rsr file="${glibasedir}/classes/dictionary_ru.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.ru} ${current.year})" />
348 <rsr file="${glibasedir}/classes/dictionary_vi.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.vi} ${current.year})" />
349 <rsr file="${glibasedir}/classes/dictionary_zh.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.zh} ${current.year})" />
350 <rsr file="${glibasedir}/classes/dictionary.properties" pattern="AboutDialog.Date:.*" replacement="AboutDialog.Date:(${month.default} ${current.year})" />
351
352 <!-- GLI GATHERER -->
353 <echo level="info">Changing version number in gli Gatherer</echo>
354 <rsr file="${glibasedir}/src/org/greenstone/gatherer/Gatherer.java" pattern="^(.*)String\s*PROGRAM_VERSION\s*=\s*&quot;(.*)&quot;" replacement="$1String PROGRAM_VERSION = &quot;${version}&quot;"/>
355
356 <!-- CONFIG XML FILES -->
357 <echo level="info">Changing configuration version in classes/xml/config.xml</echo>
358 <rsr file="${glibasedir}/classes/xml/config.xml" pattern="^(\s*&lt;Configuration.* version=&quot;)[^&quot;]*(&quot;.*&gt;)" replacement="$1${version}$2"/>
359
360 <echo level="info">Changing configuration version in gli/classes/xml/configRemote.xml</echo>
361 <rsr file="${glibasedir}/classes/xml/configRemote.xml" pattern="^(\s*&lt;Configuration.* version=&quot;)[^&quot;]*(&quot;.*&gt;)" replacement="$1${version}$2"/>
362
363 </target>
364
365 <!-- target to tidy gli up for distribution -->
366 <target name="gli-tidy-for-dist">
367 <!-- delete unneeded things -->
368 <delete file="${glibasedir}/.greenstonestore"/>
369 <delete dir="${glibasedir}/classes/META-INF"/>
370 <delete dir="${glibasedir}/classes/org"/>
371 <delete dir="${glibasedir}/classes/images"/>
372 <delete dir="${glibasedir}/jar"/>
373 </target>
374
375
[21623]376 <!-- target to archive and compress a given component -->
377 <target name="create-component">
[20532]378 <mkdir dir="components"/>
[22109]379 <if>
380 <bool>
381 <or>
382 <equals arg1="${component}" arg2="imagemagick"/>
383 <equals arg1="${component}" arg2="ghostscript"/>
384 </or>
385 </bool>
386
387 <zip destfile="components/${component}.comp" compress="false">
388 <zipfileset dir="compiled/bin/${rk.os}">
389 <patternset refid="greenstone${version.major}.${component}.component"/>
390 </zipfileset>
391 </zip>
392
393 <else>
394 <zip destfile="components/${component}.comp" compress="false">
395 <zipfileset dir="compiled">
396 <patternset refid="greenstone${version.major}.${component}.component"/>
397 </zipfileset>
398 </zip>
399 </else>
400 </if>
[20532]401 <!-- windows -->
402 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
[21521]403 <exec executable="${rk.home}/shared/windows/7za/7za.exe" dir="components"><arg line="a -t7z -mx=9 ${component}.lzma ${component}.comp"/></exec>
[20532]404
405 <!-- linux, mac -->
406 <else><if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
407 <sevenzip task="encode" input="components/${component}.comp" output="components/${component}.lzma" dictionnary="26"/>
408
409 <!-- else warn -->
410 <else>
411 <fail>this target does not support this os (was a new release-kit os added?)</fail>
412
413 </else></if></else></if>
[21623]414 </target>
[20532]415
[16173]416</project>
Note: See TracBrowser for help on using the repository browser.