source: release-kits/shared/core/ant-scripts/init.xml@ 19472

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

targets for deleting intermediate files

File size: 19.6 KB
RevLine 
[16173]1<?xml version="1.0" encoding="utf-8" ?>
2<project name="rk-init">
3
4 <!-- load in static properties from build.properties -->
[17898]5 <property file="${rk.name}-build.properties" />
[16173]6
[16199]7 <!-- CONSTANTS (overridable in build.properties) -->
8
[16173]9 <!-- svn root -->
[16199]10 <property name="svn.root" value="http://svn.greenstone.org" />
[16173]11
[16199]12 <!-- default revision and branch path -->
13 <property name="branch.path" value="trunk" />
14 <property name="branch.revision" value="HEAD" />
15
[16174]16 <!-- the minimum version of java which the installer should be run with (this gets used in search4j) -->
[16173]17 <property name="java.min.version" value="1.4.0_00"/>
18
[16199]19 <!-- create a localised basedir property -->
20 <path id="basedir.path"><pathelement location="${basedir}"/></path>
21 <property name="basedir.local" refid="basedir.path"/>
22
[16681]23 <!-- current date and time -->
24 <tstamp>
25 <format property="current.month" pattern="MMM"/>
26 <format property="current.year" pattern="yyyy"/>
[19152]27 <format property="date" pattern="yyyy.MM.dd"/>
[16681]28 </tstamp>
[17344]29
[16174]30 <!-- BUNDLED JAVA INFO -->
[16199]31 <!-- the bundled javas are kept in shared/linux/wrapper and shared/windows/wrapper in the repository -->
[16174]32 <!-- change this info when the bundled version changes -->
[16199]33 <!-- linux -->
[17465]34 <property name="linux-java.installer" value="jre_bin"/>
[17297]35 <property name="bundled.version.linux-java" value="1.6.0_05"/> <!-- set this to the version number of java in the above archive -->
[17465]36 <property name="linux-java.extracted" value="jre"/> <!-- set this to the name of the top level directory in the above archive -->
[17518]37 <property name="component.bytesize.linux-java" value="101245987"/> <!-- set this to the size of the extract archive -->
38
[16199]39 <!-- windows -->
[17276]40 <property name="windows-java.installer" value="jre.exe"/>
[17297]41 <property name="bundled.version.windows-java" value="1.6.0_07"/> <!-- set this to the version number of java in the above archive -->
[17272]42 <property name="windows-java.extracted" value="jre"/> <!-- set this to the name of the top level directory in the above archive -->
[17518]43 <property name="component.bytesize.windows-java" value="75000000"/> <!-- set this to the size of the extract archive -->
[17467]44
45 <!-- version numbers of other bundled things -->
46 <property name="bundled.version.imagemagick" value="6.4.3"/>
47 <property name="bundled.version.ghostscript" value="8.63"/>
48 <property name="bundled.version.tomcat" value="5.5.25"/>
49 <property name="bundled.version.ant" value="1.6.5"/>
[16173]50
51 <!-- CLASSPATH -->
52 <path id="project.classpath">
53
54 <!-- our classes -->
[19006]55 <fileset dir="${rk.home}/core">
56 <include name="ant-tasks/antelope/AntelopeTasks_3.4.2.jar"/>
57 <include name="ant-tasks/orangevolt/roxes-win32forjava-1.1.1.jar"/>
58 <include name="ant-tasks/orangevolt/orangevolt-ant-tasks-1.3.8.jar"/>
59 <include name="ant-tasks/svnant/lib/ganymed.jar"/>
60 <include name="ant-tasks/svnant/lib/svnClientAdapter.jar"/>
61 <include name="ant-tasks/svnant/lib/svnant.jar"/>
62 <include name="ant-tasks/svnant/lib/svnjavahl.jar"/>
63 <include name="ant-tasks/svnant/lib/svnkit.jar"/>
64 <include name="ant-tasks/greenstone/anttasks.jar"/>
65 <include name="ant-tasks/7z-ant/7z.jar"/>
[17898]66 <include name="lib/crypt.jar"/>
67 <include name="lib/serializer.jar"/>
68 <include name="lib/xalan.jar"/>
69 <include name="lib/xercesImpl.jar"/>
70 <include name="lib/xml-apis.jar"/>
[19006]71 <include name="ant-installer/lib/ant-installer-ext.jar"/>
72 <include name="ant-installer/lib/ant-installer.jar"/>
[16173]73 </fileset>
74
75 </path>
76
77 <!-- SELF DEFINED TASKS AND TYPES -->
78 <taskdef name="if" classname="ise.antelope.tasks.IfTask" classpathref="project.classpath"/>
79 <taskdef name="try" classname="ise.antelope.tasks.TryTask" classpathref="project.classpath"/>
[17098]80 <taskdef name="math" classname="ise.antelope.tasks.MathTask" classpathref="project.classpath"/>
[16173]81 <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpathref="project.classpath"/>
[17391]82 <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpathref="project.classpath"/>
[16173]83 <taskdef name="installer" classname="org.tp23.antinstaller.taskdefs.Installer" classpathref="project.classpath"/>
[17098]84 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
[17278]85 <typedef name="dcff" classname="org.greenstone.anttasks.DeleteChunkFromFile" classpathref="project.classpath"/>
[17098]86 <typedef name="rsplit" classname="org.greenstone.anttasks.SplitResource" classpathref="project.classpath"/>
87 <typedef name="get-property-value" classname="org.greenstone.anttasks.GetPropertyValue" classpathref="project.classpath"/>
[17344]88
[16242]89 <!-- DATES IN DIFFERENT LANGUAGES -->
[19006]90 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="ar.Dates.${current.month}" outputProperty="month.ar"/>
91 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="ca.Dates.${current.month}" outputProperty="month.ca"/>
92 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="el.Dates.${current.month}" outputProperty="month.el"/>
93 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="es.Dates.${current.month}" outputProperty="month.es"/>
94 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="fr.Dates.${current.month}" outputProperty="month.fr"/>
95 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="lv.Dates.${current.month}" outputProperty="month.lv"/>
96 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="mr.Dates.${current.month}" outputProperty="month.mr"/>
97 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="ro.Dates.${current.month}" outputProperty="month.ro"/>
98 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="ru.Dates.${current.month}" outputProperty="month.ru"/>
99 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="vi.Dates.${current.month}" outputProperty="month.vi"/>
100 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="zh.Dates.${current.month}" outputProperty="month.zh"/>
101 <get-property-value propertiesFile="${rk.home}/core/lib/dates.properties" propertyName="default.Dates.${current.month}" outputProperty="month.default"/>
102
[16242]103 <!--
104 <echo level="info">Current Date</echo>
105 <echo level="info">ar: ${month.ar} ${current.year}</echo>
106 <echo level="info">ca: ${month.el} ${current.year}</echo>
107 <echo level="info">el: ${month.el} ${current.year}</echo>
108 <echo level="info">es: ${month.es} ${current.year}</echo>
109 <echo level="info">fr: ${month.fr} ${current.year}</echo>
110 <echo level="info">lv: ${month.lv} ${current.year}</echo>
111 <echo level="info">mr: ${month.mr} ${current.year}</echo>
112 <echo level="info">ro: ${month.ro} ${current.year}</echo>
113 <echo level="info">ru: ${month.ru} ${current.year}</echo>
114 <echo level="info">vi: ${month.vi} ${current.year}</echo>
115 <echo level="info">zh: ${month.zh} ${current.year}</echo>
116 <echo level="info">default: (${month.default} ${current.year})</echo>
117 -->
[16173]118
119 <!-- CHECKS PRE-CONDITIONS -->
120 <target name="init">
121
122 <!-- version number -->
123 <if>
124 <bool>
125 <not><isset property="version"/></not>
126 </bool>
[17898]127 <fail>Version number not set.
128Check that the file '${rk.name}-build.properties' exists and defines property 'version'.</fail>
[16173]129 </if>
130 <property name="app.version" value="${version}"/>
131
[16681]132 <!-- show important properties -->
133 <echo level="info">Version (version): ${version}</echo>
134 <echo level="info">Branch Path (branch.path): ${branch.path}</echo>
[19152]135 <echo level="info">Date (date): ${date}</echo>
[16681]136 <echo level="info">Current Month (current.month): ${current.month}</echo>
137 <echo level="info">Current Year (current.year): ${current.year}</echo>
[16173]138
139 </target>
140
[17346]141 <target name="strip-svn-dirs">
142 <delete includeemptydirs="true">
143 <fileset dir="${dir}" defaultexcludes="false">
144 <include name="**/.svn/**" />
145 <include name="**/.svn/" />
146 <include name=".svn/**" />
147 <include name=".svn/" />
148 </fileset>
149 </delete>
150 </target>
151
[17589]152 <target name="compile-binary-installer">
153
154 <copy file="${basedir}/installer/antinstall-config.xml" tofile="${basedir}/installer/antinstall-config-binary.xml"/>
[17787]155 <dcff file="${basedir}/installer/antinstall-config-binary.xml" startTag=".*&lt;!-- start source release --&gt;.*" endTag=".*&lt;!-- end source release --&gt;.*" />
[17594]156 <installer file="${basedir}/installer/Greenstone-${version}-${os.suffix}.jar"
[17589]157 compress="true"
158 extractType="NonExtractor"
159 installConfig="${basedir}/installer/antinstall-config-binary.xml"
160 buildFile="${basedir}/installer/build.xml"
[19006]161 antInstallLib="${rk.home}/core/ant-installer/lib"
162 antLib="${rk.home}/core/ant/lib"
[17589]163 validateConfig="true"
164 icons="bluecurve">
165
166 <zipfileset dir="${basedir}/installer/classes" includes="**/*" />
[17790]167 <zipfileset dir="${basedir}/components" includes="*.lzma" excludes="source-release.lzma" />
[17589]168
169 </installer>
170
171 </target>
172
173 <target name="compile-minimal-installer">
174
175 <copy file="${basedir}/installer/antinstall-config.xml" tofile="${basedir}/installer/antinstall-config-minimal.xml"/>
[17787]176 <dcff file="${basedir}/installer/antinstall-config-minimal.xml" startTag=".*&lt;!-- start source release --&gt;.*" endTag=".*&lt;!-- end source release --&gt;.*" />
[17589]177 <dcff file="${basedir}/installer/antinstall-config-minimal.xml" startTag=".*&lt;!-- start bundled components --&gt;.*" endTag=".*&lt;!-- end bundled components --&gt;.*" />
178 <installer file="${basedir}/installer/Greenstone-${version}-${os.suffix}-minimal.jar"
179 compress="true"
180 extractType="NonExtractor"
181 installConfig="${basedir}/installer/antinstall-config-minimal.xml"
182 buildFile="${basedir}/installer/build.xml"
[19006]183 antInstallLib="${rk.home}/core/ant-installer/lib"
184 antLib="${rk.home}/core/ant/lib"
[17589]185 validateConfig="true"
186 icons="bluecurve">
187
188 <zipfileset dir="${basedir}/installer/classes" includes="**/*" />
189 <zipfileset dir="${basedir}/components" includes="core.lzma" />
190 </installer>
191
192 </target>
193
194 <target name="compile-source-installer">
[17648]195
196 <copy file="${basedir}/installer/antinstall-config.xml" tofile="${basedir}/installer/antinstall-config-source.xml"/>
[17787]197 <dcff file="${basedir}/installer/antinstall-config-source.xml" startTag=".*&lt;!-- start binary release --&gt;.*" endTag=".*&lt;!-- end binary release --&gt;.*" />
[17648]198 <installer file="${basedir}/installer/Greenstone-${version}-${os.suffix}-source.jar"
199 compress="true"
200 extractType="NonExtractor"
201 installConfig="${basedir}/installer/antinstall-config-source.xml"
202 buildFile="${basedir}/installer/build.xml"
[19006]203 antInstallLib="${rk.home}/core/ant-installer/lib"
204 antLib="${rk.home}/core/ant/lib"
[17648]205 validateConfig="true"
206 icons="bluecurve">
207
208 <zipfileset dir="${basedir}/installer/classes" includes="**/*" />
[17790]209 <zipfileset dir="${basedir}/components" includes="source-release.lzma" />
[17648]210 </installer>
211
[17654]212 </target>
[17648]213
[17898]214 <!-- fork the web distribution to preserve a source release -->
[17654]215 <target name="copy-web-to-source">
216 <copy todir="distributions/source"><fileset dir="distributions/web"/></copy>
[17589]217 </target>
218
[17704]219 <target name="copy-main-installer-files">
220
221 <mkdir dir="${basedir}/installer/classes"/>
222
223 <!-- the installer descriptors -->
224 <copy todir="${basedir}/installer" file="${rk.home}/installer/antinstall-config.xml" overwrite="true" />
225 <copy todir="${basedir}/installer" file="${rk.home}/installer/build.xml" overwrite="true" />
226
227 <!-- the language bundle -->
[17775]228 <native2ascii
229 implementation="sun"
[17781]230 encoding="UTF-8"
[19006]231 src="${rk.home}/core/language-strings"
[17775]232 dest="${basedir}/installer/classes/resources"/>
[17704]233
234 <!-- os- and major version-specific files -->
235 <copy todir="${basedir}/installer/classes" overwrite="true">
236 <fileset dir="${rk.home}/linux/installer-classes" erroronmissingdir="false"/>
237 <fileset dir="${rk.home}/windows/installer-classes" erroronmissingdir="false"/>
238 <fileset dir="${rk.home}/greenstone3/installer-classes" erroronmissingdir="false"/>
239 <fileset dir="${rk.home}/greenstone2/installer-classes" erroronmissingdir="false"/>
240 </copy>
241
242 </target>
243
244 <target name="make-installer-files-concrete">
245
246 <!-- calculate the size of components -->
247 <echo>Calculating the size of some components</echo>
248
249 <!-- core -->
250 <length property="component.bytesize.core-without-jre" mode="all"><fileset file="${basedir}/components/core.comp"/></length>
251 <if><bool><equals arg1="${java.os}" arg2="windows"/></bool>
252 <math result="component.bytesize.core" operand1="${component.bytesize.core-without-jre}" operation="+" operand2="${component.bytesize.windows-java}" datatype="int"/>
253 <else><if><bool><equals arg1="${java.os}" arg2="linux"/></bool>
254 <math result="component.bytesize.core" operand1="${component.bytesize.core-without-jre}" operation="+" operand2="${component.bytesize.linux-java}" datatype="int"/>
255 <else>
256 <property name="component.bytesize.core" value="${component.bytesize.core-without-jre}"/>
257 </else></if></else></if>
258 <math result="component.megabytesize.core" operand1="${component.bytesize.core}" operation="/" operand2="1048576" datatype="int"/>
259 <property name="component.size.core" value="${component.megabytesize.core} MB"/>
260
261 <!-- sourcecode core -->
262 <length property="component.bytesize.sourcecode-core" mode="all"><fileset file="${basedir}/components/sourcecode-core.comp"/></length>
263 <math result="component.megabytesize.sourcecode-core" operand1="${component.bytesize.sourcecode-core}" operation="/" operand2="1048576" datatype="int"/>
264 <property name="component.size.sourcecode-core" value="${component.megabytesize.sourcecode-core} MB"/>
265
266 <!-- sourcecode -->
267 <length property="component.bytesize.sourcecode" mode="all"><fileset file="${basedir}/components/sourcecode.comp"/></length>
268 <math result="component.megabytesize.sourcecode" operand1="${component.bytesize.sourcecode}" operation="/" operand2="1048576" datatype="int"/>
269 <property name="component.size.sourcecode" value="${component.megabytesize.sourcecode} MB"/>
270
271 <!-- imagemagick -->
272 <length property="component.bytesize.imagemagick" mode="all"><fileset file="${basedir}/components/imagemagick.comp"/></length>
273 <math result="component.megabytesize.imagemagick" operand1="${component.bytesize.imagemagick}" operation="/" operand2="1048576" datatype="int"/>
274 <property name="component.size.imagemagick" value="${component.megabytesize.imagemagick} MB"/>
275
276 <!-- ghostscript -->
277 <length property="component.bytesize.ghostscript" mode="all"><fileset file="${basedir}/components/ghostscript.comp"/></length>
278 <math result="component.megabytesize.ghostscript" operand1="${component.bytesize.ghostscript}" operation="/" operand2="1048576" datatype="int"/>
279 <property name="component.size.ghostscript" value="${component.megabytesize.ghostscript} MB"/>
280
281 <!-- tomcat -->
282 <length property="component.bytesize.tomcat" mode="all"><fileset file="${basedir}/components/tomcat.comp"/></length>
283 <math result="component.megabytesize.tomcat" operand1="${component.bytesize.tomcat}" operation="/" operand2="1048576" datatype="int"/>
284 <property name="component.size.tomcat" value="${component.megabytesize.tomcat} MB"/>
285
286 <!-- ant -->
287 <length property="component.bytesize.ant" mode="all"><fileset file="${basedir}/components/ant.comp"/></length>
288 <math result="component.megabytesize.ant" operand1="${component.bytesize.ant}" operation="/" operand2="1048576" datatype="int"/>
289 <property name="component.size.ant" value="${component.megabytesize.ant} MB"/>
290
291 <!-- put the concrete values of things in the config -->
[17932]292 <rsr>
293 <fileset dir="${basedir}/installer" includes="*.xml"/>
[17704]294 <job pattern="@version@" replacement="${version}"/>
295 <job pattern="@component.size.core@" replacement="${component.size.core}"/>
296 <job pattern="@component.size.sourcecode-core@" replacement="${component.size.sourcecode-core}"/>
297 <job pattern="@component.size.sourcecode@" replacement="${component.size.sourcecode}"/>
298 <job pattern="@component.size.tomcat@" replacement="${component.size.tomcat}"/>
299 <job pattern="@component.size.ant@" replacement="${component.size.ant}"/>
300 <job pattern="@component.size.imagemagick@" replacement="${component.size.imagemagick}"/>
301 <job pattern="@component.size.ghostscript@" replacement="${component.size.ghostscript}"/>
302 <job pattern="@java.min.version@" replacement="${java.min.version}"/>
303 <job pattern="@windows-java.extracted@" replacement="${windows-java.extracted}"/>
304 <job pattern="@linux-java.extracted@" replacement="${linux-java.extracted}"/>
305 </rsr>
306
307 <!-- put the concrete values of things in the text -->
[17932]308 <rsr>
309 <fileset dir="${basedir}/installer/classes/resources" includes="*.properties"/>
[17704]310 <job pattern="@version@" replacement="${version}"/>
311 <job pattern="@version.major@" replacement="${version.major}"/>
312 <job pattern="@java.min.version@" replacement="${java.min.version}"/>
313 <job pattern="@bundled.version.imagemagick@" replacement="${bundled.version.imagemagick}"/>
314 <job pattern="@bundled.version.ghostscript@" replacement="${bundled.version.ghostscript}"/>
315 <job pattern="@bundled.version.tomcat@" replacement="${bundled.version.tomcat}"/>
316 <job pattern="@bundled.version.ant@" replacement="${bundled.version.ant}"/>
317 <job pattern="@bundled.version.windows-java@" replacement="${bundled.version.windows-java}"/>
318 <job pattern="@bundled.version.linux-java@" replacement="${bundled.version.linux-java}"/>
319 </rsr>
320
321 </target>
322
[17898]323 <!-- shared target to compile the uninstaller -->
324 <target name="compile-uninstaller">
325 <echo>Compiling Uninstaller</echo>
326
327 <!-- create working build directory -->
328 <mkdir dir="${basedir}/compiled/uninstaller/build/resources" />
329
330 <!-- copile to build -->
331 <javac
[19006]332 srcdir="${rk.home}/core/uninstaller"
[17898]333 destdir="${basedir}/compiled/uninstaller/build" />
334
335 <!-- copy language bundle into place -->
336 <native2ascii
337 implementation="sun"
[19006]338 src="${rk.home}/core/language-strings"
[17898]339 dest="${basedir}/compiled/uninstaller/build/resources"/>
340
341 <!-- jar it all up -->
342 <jar
[18929]343 destfile="${basedir}/compiled/uninst.jar"
[19006]344 manifest="${rk.home}/core/uninstaller/manifest.mf"
[17898]345 basedir="${basedir}/compiled/uninstaller/build" />
346
347 </target>
348
[18929]349 <!-- copy the uninstaller script from the rk to web distribution -->
[17898]350 <target name="insert-uninstaller">
[19006]351 <copy file="${rk.home}/core/uninstaller/Uninstall.${script-format}" todir="distributions/web" />
[17898]352 </target>
353
[17953]354 <!-- create the zipped up binary release from the web distribution -->
355 <target name="compress-zipped-binary-release">
356 <mkdir dir="products"/>
357 <if>
358 <bool><equals arg1="zip" arg2="${format}"/></bool>
[18017]359 <zip destfile="products/Greenstone-${version}-${os.suffix}-binary.zip" basedir="distributions" includes="Greenstone-${version}-${os.suffix}-binary/**/*" compress="true"/>
[17953]360 <else>
[17981]361 <exec dir="distributions" executable="tar">
[17996]362 <arg line="-czf ../products/Greenstone-${version}-${os.suffix}-binary.tar.gz Greenstone-${version}-${os.suffix}-binary"/>
[17981]363 </exec>
[17953]364 </else>
365 </if>
366 </target>
367
[17977]368 <!-- unzip windows perl into bin/windows of the given gsdl or gs2build -->
369 <target name="insert-windows-perl">
370 <mkdir dir="${gsdl.basedir}/bin/windows"/>
371 <delete dir="${gsdl.basedir}/bin/windows/perl"/>
372 <unzip src="${rk.home}/windows/perl.zip" dest="${gsdl.basedir}/bin/windows"/>
373 </target>
374
[19472]375 <!-- targets all or selected intermediate files of the release -->
376 <target name="erase">
377 <antcall target="erase-compiled"/>
378 <antcall target="erase-distribution"/>
379 <antcall target="erase-components"/>
380 <antcall target="erase-installer"/>
381 <antcall target="erase-wrapped-installer"/>
382 </target>
383
384 <target name="erase-compiled">
385 <delete dir="compiled"/>
386 </target>
387
388 <target name="erase-distribution">
389 <delete dir="distributions"/>
390 </target>
391
392 <target name="erase-components">
393 <delete dir="components"/>
394 </target>
395
396 <target name="erase-installer">
397 <delete dir="installer"/>
398 </target>
399
400 <target name="erase-wrapped-installer">
401 <delete dir="wrapped-installer"/>
402 </target>
403
404
[16173]405</project>
Note: See TracBrowser for help on using the repository browser.