Ignore:
Timestamp:
2010-01-26T12:52:31+13:00 (14 years ago)
Author:
oranfry
Message:

working on final cleanup of release-kits

Location:
main/trunk/release-kits/shared/core/ant-scripts
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/release-kits/shared/core/ant-scripts/init.xml

    r21611 r21623  
    6565                <include name="ant-tasks/orangevolt/roxes-win32forjava-1.1.1.jar"/>
    6666                <include name="ant-tasks/orangevolt/orangevolt-ant-tasks-1.3.8.jar"/>
    67                 <include name="ant-tasks/svnant/lib/ganymed.jar"/>
    68                 <include name="ant-tasks/svnant/lib/svnClientAdapter.jar"/>
    69                 <include name="ant-tasks/svnant/lib/svnant.jar"/>
    70                 <include name="ant-tasks/svnant/lib/svnjavahl.jar"/>
    71                 <include name="ant-tasks/svnant/lib/svnkit.jar"/>
    7267                <include name="ant-tasks/greenstone/anttasks.jar"/>
    7368                <include name="ant-tasks/7z-ant/7z.jar"/>
     
    108103        <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="zh.Dates.${current.month}" outputProperty="month.zh"/>
    109104        <get-property-value propertiesFile="${rk.home}/shared/core/lib/dates.properties" propertyName="default.Dates.${current.month}" outputProperty="month.default"/>
     105
     106
     107        <!-- version number -->
     108        <if><bool><not><isset property="version"/></not></bool>
     109            <fail>Version number not set. Check that the file '${rk.name}-build.properties' exists and defines property 'version'.</fail>
     110        </if>
     111        <property name="app.version" value="${version}"/>
     112
     113        <!-- work out rk.os -->
     114        <if>
     115            <bool>
     116                <or>
     117                    <equals arg1="${rk.os}" arg2="linux"/>
     118                    <equals arg1="${rk.os}" arg2="mac"/>
     119                    <equals arg1="${rk.os}" arg2="windows"/>
     120                </or>
     121            </bool>
     122            <echo>Using user-specified value for rk.os: '${rk.os}'</echo>
     123
     124        <else><if>
     125            <bool><equals arg1="${os.name}" arg2="Linux"/></bool>
     126            <property name="rk.os" value="linux"/>
     127
     128        <else><if>
     129            <bool><equals arg1="${os.name}" arg2="Mac OS X"/></bool>
     130            <property name="rk.os" value="mac"/>
     131
     132        <else><if>
     133            <bool>
     134                <or>
     135                    <equals arg1="${os.name}" arg2="Windows 95"/>
     136                    <equals arg1="${os.name}" arg2="Windows 98"/>
     137                    <equals arg1="${os.name}" arg2="Windows 2000"/>
     138                    <equals arg1="${os.name}" arg2="Windows XP"/>
     139                    <equals arg1="${os.name}" arg2="Windows NT"/>
     140                    <equals arg1="${os.name}" arg2="Windows ME"/>
     141                    <equals arg1="${os.name}" arg2="Windows Vista"/>
     142                </or>
     143            </bool>
     144            <property name="rk.os" value="windows"/>
     145
     146        <else>
     147            <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>
     148
     149        </else></if></else></if></else></if></else></if>
     150
     151        <!-- set os.suffix and os.shell -->
     152        <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
     153            <property name="os.suffix" value="MacOS-intel"/>
     154            <property name="os.shell" value="darwin"/>
     155        </if>
     156        <property name="os.suffix" value="${rk.os}"/>
     157        <property name="os.shell" value="${rk.os}"/>
     158
     159        <!-- set os.script.format -->
     160        <if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
     161            <property name="os.script.format" value="sh"/>
     162        <else><if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
     163            <property name="os.script.format" value="bat"/>
     164        </if></else></if>
     165
     166        <!-- show important properties -->
     167        <echo level="info">Version (version): ${version}</echo>
     168        <echo level="info">Major Version (version.major): ${version.major}</echo>
     169        <echo level="info">Branch Path (branch.path): ${branch.path}</echo>
     170        <echo level="info">Date (date): ${date}</echo>
     171        <echo level="info">Current Month (current.month): ${current.month}</echo>
     172        <echo level="info">Current Year (current.year): ${current.year}</echo>
     173        <echo level="info">Operating System (rk.os): ${rk.os}</echo>
     174        <echo level="info">Operating System Suffix (os.suffix): ${os.suffix}</echo>
    110175        <!--
    111176        <echo level="info">Current Date</echo>
     
    123188        <echo level="info">default: (${month.default} ${current.year})</echo>
    124189        -->
    125 
    126         <!-- version number -->
    127         <if>
    128             <bool>
    129                 <not><isset property="version"/></not>
    130             </bool>
    131             <fail>Version number not set.
    132 Check that the file '${rk.name}-build.properties' exists and defines property 'version'.</fail>
    133         </if>
    134         <property name="app.version" value="${version}"/>
    135 
    136         <!-- work out rk.os -->
    137         <if>
    138             <bool>
    139                 <or>
    140                     <equals arg1="${rk.os}" arg2="linux"/>
    141                     <equals arg1="${rk.os}" arg2="mac"/>
    142                     <equals arg1="${rk.os}" arg2="windows"/>
    143                 </or>
    144             </bool>
    145             <echo>Using user-specified value for rk.os: '${rk.os}'</echo>
    146 
    147         <else><if>
    148             <bool><equals arg1="${os.name}" arg2="Linux"/></bool>
    149             <property name="rk.os" value="linux"/>
    150 
    151         <else><if>
    152             <bool><equals arg1="${os.name}" arg2="Mac OS X"/></bool>
    153             <property name="rk.os" value="mac"/>
    154 
    155         <else><if>
    156             <bool>
    157                 <or>
    158                     <equals arg1="${os.name}" arg2="Windows 95"/>
    159                     <equals arg1="${os.name}" arg2="Windows 98"/>
    160                     <equals arg1="${os.name}" arg2="Windows 2000"/>
    161                     <equals arg1="${os.name}" arg2="Windows XP"/>
    162                     <equals arg1="${os.name}" arg2="Windows NT"/>
    163                     <equals arg1="${os.name}" arg2="Windows ME"/>
    164                     <equals arg1="${os.name}" arg2="Windows Vista"/>
    165                 </or>
    166             </bool>
    167             <property name="rk.os" value="windows"/>
    168 
    169         <else>
    170             <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>
    171 
    172         </else></if></else></if></else></if></else></if>
    173 
    174         <!-- set os.suffix and os.shell -->
    175         <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
    176             <property name="os.suffix" value="MacOS-intel"/>
    177             <property name="os.shell" value="darwin"/>
    178         </if>
    179         <property name="os.suffix" value="${rk.os}"/>
    180         <property name="os.shell" value="${rk.os}"/>
    181 
    182         <!-- show important properties -->
    183         <echo level="info">Version (version): ${version}</echo>
    184         <echo level="info">Major Version (version.major): ${version.major}</echo>
    185         <echo level="info">Branch Path (branch.path): ${branch.path}</echo>
    186         <echo level="info">Date (date): ${date}</echo>
    187         <echo level="info">Current Month (current.month): ${current.month}</echo>
    188         <echo level="info">Current Year (current.year): ${current.year}</echo>
    189         <echo level="info">Operating System (rk.os): ${rk.os}</echo>
    190         <echo level="info">Operating System Suffix (os.suffix): ${os.suffix}</echo>
    191 
    192     </target>
    193 
     190    </target>
     191
     192    <!-- a target to strip any directory of .svn folders -->
    194193    <target name="strip-svn-dirs">
    195194        <delete includeemptydirs="true">
     
    203202    </target>
    204203
    205     <target name="compile-binary-installer">
    206 
    207         <copy file="installer/antinstall-config.xml" tofile="installer/antinstall-config-binary.xml" overwrite="true"/>
    208         <dcff file="installer/antinstall-config-binary.xml" startTag=".*&lt;!-- start cdrom --&gt;.*" endTag=".*&lt;!-- end cdrom --&gt;.*" />
    209 
    210         <copy file="installer/build.xml" tofile="installer/build-binary.xml" overwrite="true"/>
    211         <dcff file="installer/build-binary.xml" startTag=".*&lt;!-- start cdrom --&gt;.*" endTag=".*&lt;!-- end cdrom --&gt;.*" />
    212 
    213         <installer file="installer/Greenstone-${version}-${os.suffix}.jar"
    214             compress="true"
    215             extractType="NonExtractor"
    216             installConfig="installer/antinstall-config-binary.xml"
    217             buildFile="installer/build-binary.xml"
    218             antInstallLib="${rk.home}/shared/core/ant-installer/lib"
    219             antLib="${ant.home}/lib"
    220             validateConfig="true"
    221             icons="bluecurve">
    222 
    223             <zipfileset dir="installer/classes" includes="**/*" />
    224             <zipfileset dir="components" includes="*.lzma"/>
    225 
    226         </installer>
    227        
    228     </target>
    229 
    230     <target name="compile-cdrom-installer">
    231 
    232         <copy file="installer/antinstall-config.xml" tofile="installer/antinstall-config-cdrom.xml"/>
    233         <dcff file="installer/antinstall-config-cdrom.xml" startTag=".*&lt;!-- start web --&gt;.*" endTag=".*&lt;!-- end web --&gt;.*" />
    234 
    235         <copy file="installer/build.xml" tofile="installer/build-cdrom.xml"/>
    236         <dcff file="installer/build-cdrom.xml" startTag=".*&lt;!-- start web --&gt;.*" endTag=".*&lt;!-- end web --&gt;.*" />
    237 
    238         <installer file="installer/cdrom.jar"
    239             compress="true"
    240             extractType="NonExtractor"
    241             installConfig="installer/antinstall-config-cdrom.xml"
    242             buildFile="installer/build-cdrom.xml"
    243             antInstallLib="${rk.home}/shared/core/ant-installer/lib"
    244             antLib="${ant.home}/lib"
    245             validateConfig="true"
    246             icons="bluecurve">
    247             <zipfileset dir="installer/classes" includes="**/*" />
    248         </installer>
    249        
    250     </target>
    251 
    252     <target name="copy-main-installer-files">
    253 
    254         <mkdir dir="${basedir}/installer/classes"/>
    255 
    256         <!-- the language bundle -->
    257         <native2ascii
    258             implementation="sun"
    259             encoding="UTF-8"
    260             src="${rk.home}/shared/core/language-strings"
    261             dest="${basedir}/installer/classes/resources"/>
    262 
    263         <!-- other installer classes -->
    264         <copy todir="${basedir}/installer/classes" overwrite="true">
    265             <fileset dir="${rk.home}/shared/core/installer-classes" erroronmissingdir="false"/>
    266             <fileset dir="${rk.home}/kits/${rk.name}/installer-classes" erroronmissingdir="false"/>
    267             <fileset dir="${rk.home}/shared/${rk.os}/installer-classes" erroronmissingdir="false"/>
    268         </copy>
    269 
    270     </target>
    271 
    272     <target name="make-installer-files-concrete">
    273 
    274         <!-- calculate the size of components -->
    275         <echo>Calculating the size of some components</echo>
    276 
    277         <!-- core -->
    278         <length property="component.bytesize.core-without-jre" mode="all"><fileset file="${basedir}/components/core.comp"/></length>
    279         <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
    280             <math result="component.bytesize.core" operand1="${component.bytesize.core-without-jre}" operation="+" operand2="${component.bytesize.windows-java}" datatype="int"/>
    281         <else><if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
    282             <math result="component.bytesize.core" operand1="${component.bytesize.core-without-jre}" operation="+" operand2="${component.bytesize.linux-java}" datatype="int"/>
    283         <else>
    284             <property name="component.bytesize.core" value="${component.bytesize.core-without-jre}"/>
    285         </else></if></else></if>
    286         <math result="component.megabytesize.core" operand1="${component.bytesize.core}" operation="/" operand2="1048576" datatype="int"/>
    287         <property name="component.size.core" value="${component.megabytesize.core} MB"/>
    288 
    289         <!-- imagemagick -->
    290         <length property="component.bytesize.imagemagick" mode="all"><fileset file="${basedir}/components/imagemagick.comp"/></length>
    291         <math result="component.megabytesize.imagemagick" operand1="${component.bytesize.imagemagick}" operation="/" operand2="1048576" datatype="int"/>
    292         <property name="component.size.imagemagick" value="${component.megabytesize.imagemagick} MB"/>
    293 
    294         <!-- ghostscript -->
    295         <length property="component.bytesize.ghostscript" mode="all"><fileset file="${basedir}/components/ghostscript.comp"/></length>
    296         <math result="component.megabytesize.ghostscript" operand1="${component.bytesize.ghostscript}" operation="/" operand2="1048576" datatype="int"/>
    297         <property name="component.size.ghostscript" value="${component.megabytesize.ghostscript} MB"/>
    298 
    299         <!-- tomcat -->
    300         <length property="component.bytesize.tomcat" mode="all"><fileset file="${basedir}/components/tomcat.comp"/></length>
    301         <math result="component.megabytesize.tomcat" operand1="${component.bytesize.tomcat}" operation="/" operand2="1048576" datatype="int"/>
    302         <property name="component.size.tomcat" value="${component.megabytesize.tomcat} MB"/>
    303 
    304         <!-- make the installer descriptors relevant to the current os -->
    305         <dcff file="installer/antinstall-config.xml" startTag="&lt;!--\s*if\s*(?!.*${rk.os})[^ ]+\s*--&gt;" endTag="&lt;!--\s*/if\s*--&gt;" />
    306         <dcff file="installer/build.xml" startTag="&lt;!--\s*if\s*(?!.*${rk.os})[^ ]+\s*--&gt;" endTag="&lt;!--\s*/if\s*--&gt;" />
    307 
    308         <!-- put the concrete values of things in the config -->
    309         <rsr>
    310             <fileset dir="${basedir}/installer" includes="*.xml"/>
    311             <job pattern="@version@" replacement="${version}"/>
    312             <job pattern="@component.size.core@" replacement="${component.size.core}"/>
    313             <job pattern="@component.size.tomcat@" replacement="${component.size.tomcat}"/>
    314             <job pattern="@component.size.imagemagick@" replacement="${component.size.imagemagick}"/>
    315             <job pattern="@component.size.ghostscript@" replacement="${component.size.ghostscript}"/>
    316             <job pattern="@java.min.version@" replacement="${java.min.version}"/>
    317             <job pattern="@java.extracted@" replacement="${java.extracted}"/>
    318         </rsr>
    319 
    320         <!-- put the concrete values of things in the text -->
    321         <rsr>
    322             <fileset dir="${basedir}/installer/classes/resources" includes="*.properties"/>
    323             <job pattern="@version@" replacement="${version}"/>
    324             <job pattern="@version.major@" replacement="${version.major}"/>
    325             <job pattern="@java.min.version@" replacement="${java.min.version}"/>
    326             <job pattern="@bundled.version.imagemagick@" replacement="${bundled.version.imagemagick}"/>
    327             <job pattern="@bundled.version.ghostscript@" replacement="${bundled.version.ghostscript}"/>
    328             <job pattern="@bundled.version.tomcat@" replacement="${bundled.version.tomcat}"/>
    329             <job pattern="@bundled.version.windows-java@" replacement="${bundled.version.windows-java}"/>
    330             <job pattern="@bundled.version.linux-java@" replacement="${bundled.version.linux-java}"/>
    331         </rsr>
    332 
    333     </target>
    334 
    335     <!-- shared target to compile the uninstaller -->
    336     <target name="compile-uninstaller">
    337         <echo>Compiling Uninstaller</echo>
     204    <!-- target to insert the uninstaller into 'compiled' and compile it -->
     205    <target name="insert-and-compile-uninstaller">
    338206
    339207        <!-- create working build directory -->
    340         <mkdir dir="${basedir}/compiled/uninstaller/build/resources" />
     208        <mkdir dir="compiled/uninstaller/build/resources" />
    341209
    342210        <!-- copile to build -->
    343211        <javac
    344212            srcdir="${rk.home}/shared/core/uninstaller"
    345             destdir="${basedir}/compiled/uninstaller/build" />
     213            destdir="compiled/uninstaller/build" />
    346214
    347215        <!-- copy language bundle into place -->
     
    349217            implementation="sun"
    350218            src="${rk.home}/shared/core/language-strings"
    351             dest="${basedir}/compiled/uninstaller/build/resources"/>
     219            dest="compiled/uninstaller/build/resources"/>
    352220
    353221        <!-- jar it all up -->
    354222        <jar
    355             destfile="${basedir}/compiled/uninst.jar"
     223            destfile="compiled/uninst.jar"
    356224            manifest="${rk.home}/shared/core/uninstaller/manifest.mf"
    357             basedir="${basedir}/compiled/uninstaller/build" />
    358 
    359     </target>
    360 
    361     <!-- copy the uninstaller script from the rk to web distribution -->
    362     <target name="insert-uninstaller">
    363 
    364         <!-- linux and mac -->
    365         <if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
    366             <copy file="${rk.home}/shared/core/uninstaller/Uninstall.sh" todir="distributions/web"/>
    367 
    368         <!-- windows -->
    369         <else><if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
    370             <copy file="${rk.home}/shared/core/uninstaller/Uninstall.bat" todir="distributions/web"/>
    371 
    372         <!-- else fail -->
    373         <else>
    374             <fail>this target does not support the current os</fail>
    375 
    376         </else></if></else></if>
    377     </target>
    378 
    379     <!-- unzip windows perl into bin/windows of the given gsdl or gs2build -->
    380     <target name="insert-windows-perl">
    381         <mkdir dir="${todir}"/>
    382         <delete dir="${todir}/perl"/>
    383         <unzip src="${rk.home}/shared/windows/perl.zip" dest="${todir}"/>
    384     </target>
    385 
    386     <target name="copy-compiled-to-dist">
    387 
    388         <!-- windows -->
    389         <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
    390             <delete dir="distributions/web"/>
    391             <mkdir dir="distributions"/>
    392             <copy todir="distributions/web">
    393                 <fileset dir="compiled" includes="**/*"/>
    394             </copy>
    395 
    396         <!-- linux, mac -->
    397         <else><if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
    398             <delete dir="distributions/web"/>
    399             <mkdir dir="distributions"/>
    400             <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
    401                 <exec executable="cp" failonerror="true"><arg line="-R compiled distributions/web"/></exec>
    402             <else>
    403                 <exec executable="cp" failonerror="true"><arg line="-r compiled distributions/web"/></exec>
    404             </else></if>
    405 
    406         <!-- else fail -->
    407         <else>
    408             <fail>this target does not support the current os</fail>
    409 
    410         </else></if></else></if>
    411 
    412     </target>
    413 
     225            basedir="compiled/uninstaller/build" />
     226
     227        <!-- put the associated script in place -->
     228        <copy file="${rk.home}/shared/core/uninstaller/Uninstall.${os.script.format}" todir="compiled"/>
     229
     230    </target>
     231
     232    <!-- target to set all the version numbers in a greenstone2 or gs2build directory -->
    414233    <target name="gsdl-set-version-numbers">
    415234
    416235        <if><bool><available file="${gsdl.basedir}/common-src/src/lib/gsdlconf.h"/></bool>
    417             <echo level="info">Setting version in common-src/src/lib/gsdlconf.h</echo>
    418236            <rsr file="${gsdl.basedir}/common-src/src/lib/gsdlconf.h" pattern="(#define GSDL_VERSION) &quot;.*&quot;" replacement="$1 &quot;${version}&quot;" />
    419         <else>
    420             <echo message="skipping gsdlconf.h"/>
    421         </else></if>
     237        </if>
    422238
    423239        <if><bool><available file="${gsdl.basedir}/etc/VERSION"/></bool>
    424             <echo level="info">Setting version in etc/VERSION</echo>
    425240            <rsr file="${gsdl.basedir}/etc/VERSION" pattern="(gsdl version: ).*" replacement="$1${version}" />
    426         <else>
    427             <echo message="skipping VERSION"/>
    428         </else></if>
     241        </if>
    429242
    430243        <if><bool><available file="${gsdl.basedir}/lib/java/server.properties"/></bool>
    431             <echo level="info">Setting version in server.properties</echo>
    432244            <rsr file="${gsdl.basedir}/lib/java/server.properties" pattern="^(Server2Control.Version[:=]).*" replacement="$1${version}" />
    433         <else>
    434             <echo message="skipping server.properties"/>
    435         </else></if>
     245        </if>
    436246
    437247        <if><bool><available file="${gsdl.basedir}/lib/java/log4j.properties.in"/></bool>
    438             <echo level="info">Sneakily changing some log4j stuff</echo>
    439248            <rsr file="${gsdl.basedir}/lib/java/log4j.properties.in" pattern="^(log4j.category.org.greenstone.server[:=].*)INFO(.*)" replacement="$1WARN$2" />
    440         <else>
    441             <echo message="skipping log4j.properties.in"/>
    442         </else></if>
     249        </if>
    443250
    444251        <antcall target="gsdl-set-dates-in-readmes"><param name="gsdl.basedir" value="${gsdl.basedir}"/></antcall>
     
    446253    </target>
    447254
     255    <!-- target to set dates in readme files -->
    448256    <target name="gsdl-set-dates-in-readmes">
    449         <echo level="info">Changing date and version in the docs</echo>
    450257
    451258        <!-- en -->
     
    491298    </target>
    492299
    493     <!-- prepare the component named in ${component} -->
    494     <target name="prepare-component">
     300    <!-- target to archive and compress a given component -->
     301    <target name="create-component">
    495302        <mkdir dir="components"/>
    496303        <zip destfile="components/${component}.comp" compress="false">
    497             <zipfileset dir="distributions/web">
     304            <zipfileset dir="compiled">
    498305                <patternset refid="greenstone${version.major}.${component}.component"/>
    499306            </zipfileset>
    500307        </zip>
    501     </target>   
    502 
    503     <!-- compress the component named in ${component} -->
    504     <target name="compress-component">
    505308        <!-- windows -->
    506309        <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
     
    516319
    517320        </else></if></else></if>
    518     </target>
    519 
    520 
    521     <target name="create-minimal-distribution">
    522 
    523         <property name="dist.name" value="Greenstone-${version}-${os.suffix}-minimal"/>
    524 
    525         <!-- unzip the core component to a temporary space -->
    526         <mkdir dir="minimal-dist/${dist.name}"/>
    527         <unzip src="components/core.comp" dest="minimal-dist/${dist.name}"/>
    528 
    529         <!-- under windows, create zip-->
    530         <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
    531             <zip destfile="products/${dist.name}.zip" basedir="minimal-dist"/>
    532 
    533         <!-- under unix, create tar.gz -->
    534         <else><if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
    535             <exec dir="." executable="tar">
    536                 <arg value="-czf"/><arg value="products/${dist.name}.tar.gz"/>
    537                 <arg value="minimal-dist"/>
    538             </exec>
    539 
    540         </if></else></if>
    541            
    542     </target>
    543 
     321    </target>   
    544322
    545323</project>
Note: See TracChangeset for help on using the changeset viewer.