Changeset 814

Show
Ignore:
Timestamp:
08/30/06 23:27:10 (2 years ago)
Author:
alban
Message:

migrate track management to ivy

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/build.properties

    r309 r814  
     1# bug with fop 
     2build.docs.userguide.pdf.notRequired=true 
     3 
     4build.core.classes.dir=build/core/classes 
     5 
    16# build.compiler=jikes 
    27track.dir=${basedir}/track 
     8track.tritonus.dir=${track.dir}/tritonus/patches/0.3.6 
    39 
    410# librairies used to prepare the track directory 
  • trunk/build.xml

    r712 r814  
    1 <project name="freecast" default="test" basedir="."> 
     1<project xmlns:ivy="antlib:fr.jayasoft.ivy.ant" name="freecast" default="test" basedir="."> 
    22 
    33        <property file="build-user.properties" /> 
     
    1313                        <java classname="org.apache.xalan.xslt.Process" fork="true" failonerror="true"> 
    1414                                <jvmarg line="-Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration" /> 
    15                                 <jvmarg line="-Xbootclasspath/p:/usr/share/java/xercesImpl.jar:track/xalan/releases/2.7.0/xml-apis.jar" /> 
     15                                <jvmarg line="-Xbootclasspath/p:lib/build-docbook/xercesImpl.jar" /> 
    1616                                <classpath> 
    17                                         <pathelement path="track/xalan/releases/2.7.0/xalan.jar" /> 
     17                                        <pathelement path="lib/build-docbook/xalan.jar" /> 
    1818                                        <pathelement path="${track.docbook.dir}/extensions/xalan25.jar" /> 
    1919                                </classpath> 
     
    3030        </macrodef> 
    3131 
    32         <macrodef name="prepare.track.httpdownload"> 
    33                 <attribute name="url" /> 
    34                 <attribute name="target" /> 
    35                 <attribute name="prefix" default="" /> 
    36                 <sequential> 
    37                         <tempfile property="prepare.track.httpdownload.temp.file" /> 
    38                         <get src="@{url}" dest="${prepare.track.httpdownload.temp.file}" /> 
    39  
    40                         <tempfile property="prepare.track.httpdownload.temp.dir" /> 
    41                         <untar compression="gzip" src="${prepare.track.httpdownload.temp.file}" dest="${prepare.track.httpdownload.temp.dir}" /> 
    42                         <move todir="@{target}"> 
    43                                 <fileset dir="${prepare.track.httpdownload.temp.dir}/@{prefix}" /> 
    44                         </move> 
    45                         <delete file="${prepare.track.httpdownload.temp.file}" /> 
    46                         <delete dir="${prepare.track.httpdownload.temp.dir}" /> 
    47                 </sequential> 
    48         </macrodef> 
    49  
    50         <target name="prepare.track.commons-vfs.download.check"> 
    51                 <available property="prepare.track.commons-vfs.download.notRequired" resource="org/apache/commons/vfs/tasks/tasks.properties"> 
    52                         <classpath> 
    53                                 <pathelement path="${track.commons.vfs.jar}" /> 
    54                         </classpath> 
    55                 </available> 
    56         </target> 
    57  
    58         <target name="prepare.track.commons-vfs.download" depends="prepare.track.commons-vfs.download.check" unless="prepare.track.commons-vfs.download.notRequired"> 
    59                 <prepare.track.httpdownload url="${track.commons.vfs.url}" target="${track.commons.vfs.dir}" prefix="commons-vfs-1.0-dev" /> 
    60         </target> 
    61  
    62         <target name="prepare.track.commons-vfs" depends="prepare.track.commons-vfs.download, prepare.track.commons-logging, prepare.track.commons-compress"> 
    63                 <taskdef resource="org/apache/commons/vfs/tasks/tasks.properties"> 
    64                         <classpath> 
    65                                 <pathelement path="${track.commons.vfs.jar}" /> 
    66                                 <pathelement path="${track.commons.logging.jar}" /> 
    67                                 <pathelement path="${track.commons.compress.jar}" /> 
    68                         </classpath> 
    69                 </taskdef> 
    70         </target> 
    71  
    72         <target name="prepare.track.commons-logging.download.check"> 
    73                 <available property="prepare.track.commons-logging.download.notRequired" classname="org.apache.commons.logging.Log"> 
    74                         <classpath> 
    75                                 <pathelement path="${track.commons.logging.jar}" /> 
    76                         </classpath> 
    77                 </available> 
    78         </target> 
    79  
    80         <target name="prepare.track.commons-logging.download" depends="prepare.track.commons-logging.download.check" unless="prepare.track.commons-logging.download.notRequired"> 
    81                 <prepare.track.httpdownload url="${track.commons.logging.url}" target="${track.commons.logging.dir}" prefix="commons-logging" /> 
    82         </target> 
    83  
    84         <target name="prepare.track.commons-logging" depends="prepare.track.commons-logging.download" /> 
    85  
    86         <target name="prepare.track.commons-compress.download.check"> 
    87                 <available property="prepare.track.commons-compress.download.notRequired" classname="org.apache.commons.compress.tar.TarInputStream"> 
    88                         <classpath> 
    89                                 <pathelement path="${track.commons.compress.jar}" /> 
    90                         </classpath> 
    91                 </available> 
    92         </target> 
    93  
    94         <target name="prepare.track.commons-compress.download" depends="prepare.track.commons-compress.download.check" unless="prepare.track.commons-compress.download.notRequired"> 
    95                 <prepare.track.httpdownload url="${track.commons.compress.url}" target="${track.commons.compress.dir}" prefix="commons-compress-0.1-dev" /> 
    96         </target> 
    97  
    98         <target name="prepare.track.commons-compress" depends="prepare.track.commons-compress.download" /> 
    99  
    100         <target name="prepare.track.file"> 
    101                 <property file="track.properties" /> 
    102                 <tempfile property="prepare.track.file" /> 
    103                 <copy tofile="${prepare.track.file}" file="track.virtual"> 
    104                         <filterchain> 
    105                                 <expandproperties /> 
    106                         </filterchain> 
    107                 </copy> 
    108         </target> 
    109  
    110         <target name="prepare.track" depends="prepare.track.commons-vfs, prepare.track.file"> 
    111                 <property name="prepare.track.includes" value="**"/> 
    112                 <echo message="updating the track directory ... (${prepare.track.includes})" /> 
    113                 <v-copy src="virtual:${prepare.track.file}" destdir="track" includes="${prepare.track.includes}" /> 
    114         </target> 
    115  
    116         <target name="prepare.track.optional.check"> 
    117                 <!-- the last tracked directory is tested --> 
    118                 <available file="${track.dir}/xmlreleasenotes" property="prepare.track.optional.notRequired" /> 
    119         </target> 
    120  
    121         <target name="prepare.track.optional" depends="prepare.track.optional.check" unless="prepare.track.optional.notRequired"> 
    122                 <antcall target="prepare.track" /> 
    123         </target> 
    124  
    12532        <target name="prepare.version"> 
    12633                <tstamp /> 
     
    12835                <property name="project.fullname" value="freecast-${project.version}" /> 
    12936        </target> 
    130  
    131         <target name="prepare.antlion" depends="prepare.track.optional"> 
    132                 <typedef resource="net/sf/antlion/antlib.xml"> 
    133                         <classpath> 
    134                                 <pathelement location="track/antlion/releases/0.9.0/antlion-inline-0.9.0.jar" /> 
    135                         </classpath> 
    136                 </typedef> 
    137         </target> 
    138  
    139         <target name="prepare.libraries" depends="prepare.track.optional, prepare.antlion"> 
    140                 <libraryDef> 
    141                         <type> 
    142                                 <must-find/> 
    143                                 <default/> 
    144                         </type> 
    145                         <repository basedir="${track.dir}"> 
    146                                 <format text="[groupid]/patches/[version]/[artifactid]-[version].[type]" /> 
    147                                 <format text="[groupid]/patches/[version]/[artifactid].[type]" /> 
    148                                 <format text="[groupid]/patches/[version]/[groupid]-[version].[type]" /> 
    149                                 <format text="[groupid]/patches/[version]/[groupid].[type]" /> 
    150                                 <format text="[groupid]/releases/[version]/[artifactid]-[version].[type]" /> 
    151                                 <format text="[groupid]/releases/[version]/[artifactid].[type]" /> 
    152                                 <format text="[groupid]/releases/[version]/[groupid]-[version].[type]" /> 
    153                                 <format text="[groupid]/releases/[version]/[groupid].[type]" /> 
    154                                 <!-- for log4j --> 
    155                                 <format text="[groupid]/releases/[version]/dist/lib/[groupid]-[version].[type]" /> 
    156                                 <format text="[groupid]/releases/[version]/lib/[artifactid].[type]" /> 
    157                         </repository> 
    158  
    159                         <library id="lib.jetty"> 
    160                                 <lib-entry groupid="jetty" version="5.1.4rc0" artifactid="org.mortbay.jetty" /> 
    161                         </library> 
    162  
    163                         <library id="lib.servlet"> 
    164                                 <lib-entry groupid="jetty" version="5.1.4rc0" artifactid="javax.servlet" /> 
    165                         </library> 
    166  
    167                         <library id="lib.hessian"> 
    168                                 <library refid="lib.servlet" /> 
    169                                 <lib-entry groupid="hessian" version="3.0.8" /> 
    170                         </library> 
    171  
    172                         <library id="lib.vorbisspi"> 
    173                                 <lib-entry groupid="vorbisspi" version="1.0.2" artifactid="vorbisspi1.0.2" /> 
    174                                 <lib-entry groupid="vorbisspi" version="1.0.2" artifactid="jogg-0.0.7" /> 
    175                                 <lib-entry groupid="vorbisspi" version="1.0.2" artifactid="jorbis-0.0.15" /> 
    176                                 <lib-entry groupid="vorbisspi" version="1.0.2" artifactid="tritonus_share" /> 
    177                         </library> 
    178  
    179                         <library id="lib.mp3spi"> 
    180                                 <lib-entry groupid="mp3spi" version="1.9.4" artifactid="mp3spi1.9.4" /> 
    181                                 <lib-entry groupid="mp3spi" version="1.9.4" artifactid="jl1.0" /> 
    182                                 <lib-entry groupid="mp3spi" version="1.9.4" artifactid="tritonus_share" /> 
    183                         </library> 
    184  
    185                         <library id="lib.tritonus"> 
    186                                 <!-- <lib-entry artifactid="tritonus-share" groupid="tritonus" version="0.3.6" /> --> 
    187                                 <lib-entry artifactid="tritonus-vorbis" groupid="tritonus" version="0.3.6" /> 
    188                                 <lib-entry artifactid="tritonus-core" groupid="tritonus" version="0.3.6" /> 
    189                         </library> 
    190  
    191                         <library id="lib.test"> 
    192                                 <lib-entry groupid="mockobjects" version="0.09" artifactid="mockobjects-core" /> 
    193                                 <lib-entry groupid="junit" version="3.8.2" /> 
    194                                 <lib-entry groupid="easymock" version="1.2" /> 
    195                         </library> 
    196  
    197                         <library id="lib.mina"> 
    198                                 <lib-entry groupid="mina" version="0.9.5-SNAPSHOT" artifactid="mina-core" /> 
    199                                 <lib-entry groupid="slf4j" version="1.0" artifactid="slf4j-log4j12" /> 
    200                         </library> 
    201  
    202                         <library id="lib.jstun"> 
    203                                 <lib-entry groupid="jstun" version="0.5.9.2"/> 
    204                         </library> 
    205  
    206                         <library id="core"> 
    207                                 <lib-entry groupid="commons-collections" version="3.1" /> 
    208                                 <lib-entry groupid="commons-logging" version="1.1.0" artifactid="commons-logging-1.1-RC5" /> 
    209                                 <lib-entry groupid="commons-cli" version="1.0" /> 
    210                                 <lib-entry groupid="commons-codec" version="1.3" /> 
    211                                 <lib-entry groupid="commons-io" version="1.0" /> 
    212                                 <lib-entry groupid="commons-discovery" version="0.2" /> 
    213                                 <lib-entry groupid="log4j" version="1.2.13" /> 
    214                                 <lib-entry groupid="commons-lang" version="nightly-20041229" artifactid="commons-lang-2.0" /> 
    215                                 <lib-entry groupid="commons-configuration" version="nightly-20050307" artifactid="commons-configuration-1.1RC2" /> 
    216                                 <lib-entry groupid="concurrent" version="kolaka" /> 
    217                                 <library refid="lib.mina" /> 
    218                                 <library refid="lib.jstun" /> 
    219                         </library> 
    220  
    221                         <library id="build"> 
    222                                 <library refid="core" /> 
    223                                 <lib-entry groupid="commons-digester" version="1.7" /> 
    224                                 <lib-entry groupid="commons-httpclient" version="3.0.1" /> 
    225                                 <lib-entry groupid="cortado" version="0.1.0" artifactid="cortado-ovt-0.1.0" /> 
    226                                 <lib-entry groupid="jdic" version="0.9" /> 
    227                                 <library refid="lib.hessian" /> 
    228                                 <library refid="lib.jetty" /> 
    229                                 <library refid="lib.tritonus" /> 
    230                                 <library refid="lib.vorbisspi" /> 
    231                         </library> 
    232  
    233                         <library id="runtime"> 
    234                                 <library refid="build" /> 
    235                                 <lib-entry groupid="commons-beanutils" version="1.7.0" /> 
    236                                 <library refid="lib.mp3spi"/> 
    237                         </library> 
    238  
    239                         <library id="test"> 
    240                                 <library refid="lib.test" /> 
    241                                 <library refid="runtime" /> 
    242                         </library> 
    243  
    244                         <!-- 
    245                         <library id="coverage"> 
    246                                 <library refid="test" /> 
    247                         </library> 
    248                         --> 
    249                 </libraryDef> 
    250  
    251                 <property name="track.docbook.dir" value="${track.dir}/docbook-xsl/releases/1.69.1" /> 
    252                 <property name="track.tritonus.dir" value="${track.dir}/tritonus/patches/0.3.6" /> 
    253         </target> 
     37         
     38  <target name="prepare.track"> 
     39        <ivy:configure /> 
     40  </target> 
     41 
     42  <target name="prepare.libraries" depends="prepare.track"> 
     43        <ivy:retrieve pattern="lib/[conf]/[artifact].[ext]" conf="core, runtime, test" /> 
     44        <path id="path.build"> 
     45                <fileset dir="lib/core"/> 
     46        </path> 
     47        <path id="path.runtime"> 
     48                <fileset dir="lib/runtime"/> 
     49                <path refid="path.build"/> 
     50        </path> 
     51        <path id="path.test"> 
     52                <fileset dir="lib/test"/> 
     53                <path refid="path.runtime"/> 
     54        </path> 
     55  </target> 
     56   
     57  <target name="prepare.docbook" depends="prepare.track, prepare.docbook.retrieve, prepare.docbook.install"> 
     58        <path id="path.docbook"> 
     59                <fileset dir="lib/build-docbook"/> 
     60        </path> 
     61                <property name="track.docbook.dir" location="lib/build-docbook/docbook-xsl" /> 
     62  </target> 
     63   
     64  <target name="prepare.docbook.retrieve"> 
     65        <ivy:retrieve pattern="lib/[conf]/[artifact].[ext]" conf="build-docbook" /> 
     66  </target> 
     67   
     68  <target name="prepare.docbook.install.check"> 
     69        <uptodate property="prepare.docbook.install.notRequired" 
     70            srcfile="lib/build-docbook/docbook-xsl.zip" 
     71            targetfile="lib/build-docbook/docbook-xsl/.touch"/> 
     72  </target> 
     73   
     74  <target name="prepare.docbook.install"  
     75        depends="prepare.docbook.install.check" unless="prepare.docbook.install.notRequired"> 
     76        <tempfile property="prepare.docbook.dir"/> 
     77        <mkdir dir="${prepare.docbook.dir}"/> 
     78        <unzip src="lib/build-docbook/docbook-xsl.zip" dest="${prepare.docbook.dir}"/> 
     79        <move todir="lib/build-docbook/docbook-xsl"> 
     80                <fileset dir="${prepare.docbook.dir}"/> 
     81                <regexpmapper from="^docbook-xsl-[0-9\.]+/(.*)$$" to="\1"/> 
     82          </move> 
     83          <delete dir="${prepare.docbook.dir}"/> 
     84          <touch file="lib/build-docbook/docbook-xsl/.touch"/> 
     85  </target> 
    25486 
    25587        <target name="clean"> 
    25688                <delete dir="build" /> 
     89                <delete dir="lib" /> 
    25790                <delete dir="dist" /> 
    25891                <delete dir="export" /> 
    25992        </target> 
    260  
    261         <target name="clean.track" depends="prepare.track.commons-vfs, prepare.track.file"> 
    262                 <echo message="synchronize the track directory ..." /> 
    263                 <v-sync src="virtual:${prepare.track.file}" destdir="track" /> 
    264         </target> 
    265  
    266  
    26793 
    26894        <target name="build.validate"> 
     
    292118 
    293119        <target name="build.core.classes" depends="build.validate"> 
    294                 <property name="build.core.classes.dir" value="build/core/classes" /> 
    295120                <mkdir dir="${build.core.classes.dir}" /> 
    296121                <javac target="1.4" source="1.4" srcdir="source" destdir="${build.core.classes.dir}" debug="true"> 
     
    358183 
    359184        <target name="build.changelog"> 
    360                 <mkdir dir="build/changelog" /> 
    361                 <style in="source/org/kolaka/freecast/changelog.xml" out="build/changelog/changelog.html" style="${track.xmlreleasenotes.dir}/src/XMLReleaseNotes2HTML.xsl" /> 
    362                 <copy todir="build/changelog" file="${track.xmlreleasenotes.dir}/stylesheet.css" /> 
     185        <ivy:retrieve pattern="lib/[conf]/[artifact].[ext]" conf="build-xmlreleasenotes" /> 
     186         
     187        <taskdef classname="org.xrn.ant.XMLReleaseNotes" name="xrn"> 
     188                <classpath> 
     189                        <fileset dir="lib/build-xmlreleasenotes"/> 
     190                </classpath> 
     191        </taskdef> 
     192 
     193        <property name="build.changelog.xrn.dir" value="lib/build-xmlreleasenotes/xmlreleasenotes"/> 
     194                <mkdir dir="${build.changelog.xrn.dir}" /> 
     195                <xrn destination="${build.changelog.xrn.dir}" deploy="true" /> 
     196 
     197                <mkdir dir="build/xmlreleasenotes"/> 
     198 
     199                <style in="source/org/kolaka/freecast/changelog.xml" out="build/xmlreleasenotes/changelog.html" style="${build.changelog.xrn.dir}/XMLReleaseNotes2HTML.xsl" /> 
     200 
     201                <mkdir dir="build/changelog"/> 
     202 
     203                <tidy dest="build/changelog" failonerror="false" encoding="latin1"> 
     204                        <filesets> 
     205                                <fileset dir="build/xmlreleasenotes"/> 
     206                        </filesets> 
     207                </tidy> 
     208                 
     209                <copy tofile="build/changelog/stylesheet.css" file="${build.changelog.xrn.dir}/XMLReleaseNotes.css" /> 
    363210        </target> 
    364211 
     
    388235        <target name="build.docs.userguide" depends="build.docs.userguide.html,build.docs.userguide.pdf" /> 
    389236 
    390         <target name="build.docs.userguide.prepare" depends="prepare.libraries, prepare.version"> 
     237        <target name="build.docs.userguide.prepare" depends="prepare.docbook, prepare.version"> 
    391238                <mkdir dir="build/docs/userguide" /> 
    392239                <tstamp> 
     
    517364                <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"> 
    518365                        <classpath> 
    519                           <!-- 
    520                                 <pathelement location="track/fop/releases/0.20.5/build/fop.jar" /> 
    521                                 <pathelement location="track/fop/releases/0.20.5/lib/avalon-framework-cvs-20020806.jar" /> 
    522                                 <pathelement location="track/fop/releases/0.20.5/lib/batik.jar" /> 
    523                                 --> 
    524                                 <fileset dir="track/jai/releases/1.1.2.01" includes="**/*.jar"/> 
    525                                 <fileset dir="track/fop/releases/0.20.5" includes="**/*.jar"/> 
     366                                <fileset dir="lib/build-docbook" includes="*.jar"/> 
    526367                        </classpath> 
    527368                </taskdef> 
     
    538379 
    539380        <target name="build.docs.xref" depends="build.docs.xref.check" unless="build.docs.xref.notRequired"> 
    540                 <taskdef name="jxr" classname="org.kolaka.ant.jxr.Jxr"> 
     381        <ivy:retrieve pattern="lib/[conf]/[artifact].[ext]" conf="build-antjxr" /> 
     382    <unzip dest="lib/build-antjxr"> 
     383        <fileset dir="lib/build-antjxr" includes="ant-jxr-data*.zip"/> 
     384    </unzip> 
     385    <taskdef name="jxr" classname="org.kolaka.ant.jxr.Jxr"> 
    541386                        <classpath> 
    542                                 <fileset dir="${track.ant-jxr.dir}"> 
    543                                         <include name="**/*.jar" /> 
    544                                 </fileset> 
    545                         </classpath> 
    546                 </taskdef> 
     387                                <fileset dir="lib/build-antjxr"/> 
     388                        </classpath>     
     389    </taskdef> 
    547390 
    548391                <mkdir dir="build/docs/xref" /> 
    549392 
    550                 <jxr sourcedir="source" destdir="build/docs/xref" templatedir="${track.ant-jxr.dir}/templates" windowTitle="Kolaka - FreeCast" docTitle="FreeCast" bottom="Copyright 2004. Kolaka Team" /> 
     393                <jxr sourcedir="source" destdir="build/docs/xref" templatedir="lib/build-antjxr/templates" windowTitle="Kolaka - FreeCast" docTitle="FreeCast" bottom="Copyright 2004-2006. Alban Peignier" /> 
    551394 
    552395                <copy todir="build/docs/xref"> 
    553                         <fileset dir="${track.ant-jxr.dir}/resources" /> 
     396                        <fileset dir="lib/build-antjxr/resources" /> 
    554397                </copy> 
    555398 
     
    716559        </target> 
    717560 
    718         <target name="dist" depends="dist.jar, dist.bin, dist.etc, dist.lib" description="Create the binaries distribution" /> 
    719  
    720         <target name="dist.jar" depends="build"
     561        <target name="dist" depends="build, dist.jar, dist.bin, dist.etc, dist.lib" description="Create the binaries distribution" /> 
     562 
     563        <target name="dist.jar"
    721564                <mkdir dir="dist/lib" /> 
    722565                <jar jarfile="dist/lib/freecast.jar"> 
     
    872715        </target> 
    873716 
    874         <target name="dist.lib" depends="prepare.libraries"> 
    875                 <copy todir="dist/lib" flatten="true"> 
    876                         <fileset refid="fileset.runtime" /> 
    877                 </copy> 
     717        <target name="dist.lib"> 
    878718                <copy todir="dist/lib"> 
    879                         <fileset dir="track/jdic/releases/0.9"> 
    880                                 <include name="linux/**" /> 
    881                                 <include name="windows/**" /> 
    882                                 <include name="sunos/**" /> 
    883                         </fileset> 
    884                 </copy> 
     719                        <fileset dir="lib/core"/> 
     720                        <fileset dir="lib/runtime"> 
     721                                 <include name="*.jar"/> 
     722                                 <exclude name="jdic-stub*"/> 
     723                                 <exclude name="jdic-native*"/> 
     724                        </fileset> 
     725                </copy> 
     726                <copy todir="dist/lib/linux"> 
     727                        <fileset dir="lib/runtime" includes="jdic-stub-linux.jar"/> 
     728                </copy> 
     729                <copy todir="dist/lib/windows"> 
     730                        <fileset dir="lib/runtime" includes="jdic-stub-windows.jar"/> 
     731                </copy> 
     732                <copy todir="dist/lib/sunos"> 
     733                        <fileset dir="lib/runtime" includes="jdic-stub-sunos.jar"/> 
     734                </copy> 
     735                         
     736                <patternset id="patternset.nometainf"> 
     737                        <exclude name="META-INF/**"/> 
     738                </patternset> 
     739 
     740                <unjar dest="dist/lib/linux/x86"> 
     741                        <fileset dir="lib/runtime" includes="*-native-linux-x86.jar"/> 
     742                        <patternset refid="patternset.nometainf"/> 
     743                </unjar> 
     744                <unjar dest="dist/lib/windows/x86"> 
     745                        <fileset dir="lib/runtime" includes="*-native-windows-x86.jar"/> 
     746                        <patternset refid="patternset.nometainf"/> 
     747                </unjar> 
     748                <unjar dest="dist/lib/sunos/x86"> 
     749                        <fileset dir="lib/runtime" includes="*-native-sunos-x86.jar"/> 
     750                        <patternset refid="patternset.nometainf"/> 
     751                </unjar> 
     752                <unjar dest="dist/lib/sunos/sparc"> 
     753                        <fileset dir="lib/runtime" includes="*-native-sunos-sparc.jar"/> 
     754                        <patternset refid="patternset.nometainf"/> 
     755                </unjar> 
     756                 
    885757                <copy todir="dist/lib/linux/x86"> 
    886758                        <fileset dir="${track.tritonus.dir}"> 
     
    1027899                <attribute name="dest" /> 
    1028900                <attribute name="failonerror" default="true" /> 
     901                <attribute name="encoding" default="utf8" /> 
    1029902                <element name="filesets" optional="false" /> 
    1030903                <sequential> 
    1031904                        <apply executable="tidy" dest="@{dest}" failonerror="@{failonerror}" verbose="true"> 
    1032                                 <arg line="-quiet -utf8 -wrap 100 -indent" /> 
     905                                <arg line="-quiet -@{encoding} -wrap 100 -indent" /> 
    1033906                                <arg value="-o" /> 
    1034907                                <targetfile /> 
     
    11471020                        </path> 
    11481021                </pathconvert> 
    1149                 <exec executable="makensis"
     1022                <exec executable="makensis" failonerror="true"
    11501023                        <arg value="-V4" /> 
    11511024                        <arg value="-NOCD" /> 
     
    11581031 
    11591032        <target name="export.debian" depends="export.debian.changelog"> 
    1160                 <exec executable="fakeroot"
     1033                <exec executable="fakeroot" failonerror="true"
    11611034                        <arg line="./debian/rules binary"/> 
    11621035                </exec> 
    1163                 <exec executable="sed" outputproperty="export.debian.changelog.version"
     1036                <exec executable="sed" outputproperty="export.debian.changelog.version" failonerror="true"
    11641037                        <arg line="-n '1 s/freecast (\(.*\)).*/\1/p'"/> 
    11651038                        <arg file="debian/changelog"/> 
     
    11701043 
    11711044        <target name="export.debian.clean"> 
    1172                 <exec executable="fakeroot"
     1045                <exec executable="fakeroot" failonerror="true"
    11731046                        <arg line="./debian/rules clean"/> 
    11741047                </exec> 
     
    11761049         
    11771050        <target name="export.debian.changelog.check" depends="prepare.version"> 
    1178                 <exec executable="sed" outputproperty="export.debian.changelog.currentversion"
     1051                <exec executable="sed" outputproperty="export.debian.changelog.currentversion" failonerror="true"
    11791052                        <arg line="-n '1 s/freecast (\(.*\)).*/\1/p'"/> 
    11801053                        <arg file="debian/changelog"/> 
     
    11981071                </copy> 
    11991072                 
    1200                 <exec executable="cat"
     1073                <exec executable="cat" failonerror="true"
    12011074                        <arg value="${export.debian.changelog.append}"/> 
    12021075                </exec> 
     
    12271100        <target name="install.export" depends="export"> 
    12281101                <property name="install.export.target" value="${user.name}@download.freecast.org:/var/www/kolaka.org/freecast/export" /> 
    1229                 <exec executable="rsync"
     1102                <exec executable="rsync" failonerror="true"
    12301103                        <arg value="-avc" /> 
    12311104                        <arg line="--exclude '*.deb'"/> 
     
    12411114                <tar destfile="${install.docs.tempfile}" basedir="dist/docs" compression="gzip" /> 
    12421115 
    1243                 <exec executable="rsync"
     1116                <exec executable="rsync" failonerror="true"
    12441117                        <arg value="-av" /> 
    12451118                        <arg value="${install.docs.tempfile}" /> 
    12461119                        <arg value="${user.name}@ssh.tryphon.org:/tmp/" /> 
    12471120                </exec> 
    1248                 <exec executable="ssh"
     1121                <exec executable="ssh" failonerror="true"
    12491122                        <arg value="${user.name}@ssh.tryphon.org" /> 
    12501123                        <arg value="tar -xzf /tmp/${install.docs.tempfilename} -C /var/www/kolaka.org/freecast/docs ; rm /tmp/${install.docs.tempfilename}" /> 
     
    12641137                <property name="install.jws.target" value="${user.name}@ssh.tryphon.org:/var/www/kolaka.org/freecast/jws" /> 
    12651138 
    1266                 <exec executable="rsync"
     1139                <exec executable="rsync" failonerror="true"
    12671140                        <arg value="-av" /> 
    12681141                        <arg value="${install.jws.target}/libfreecast" /> 
     
    12851158                </copy> 
    12861159 
    1287                 <exec executable="rsync"
     1160                <exec executable="rsync" failonerror="true"
    12881161                        <arg value="-av" /> 
    12891162                        <arg value="dist/install/jws/" /> 
     
    12941167        <target name="install.www" depends="dist.www"> 
    12951168                <property name="install.www.target" value="${user.name}@ssh.tryphon.org:/var/www/freecast.org/www/" /> 
    1296                 <exec executable="rsync"
     1169                <exec executable="rsync" failonerror="true"
    12971170                        <arg value="-av" /> 
    12981171                        <arg value="dist/www/" />