We are to a point now where we can delete the 'clean' task in favor of 'svn'

Also, we'll add a version designation to jar, war, and zip files.

In build.properties change the following:

# jar.name = ${ant.project.name}.jar
jar.base.name = ${ant.project.name}

# package.name = ${ant.project.name}.zip
package.base.name = ${ant.project.name}

# webapp.name = ${ant.project.name}.war
war.base.name = ${ant.project.name}

In build.xml

    <!-- delete clean target -->
   
    <target name="svn"
        [...]
        <!--
        <antcall target="clean"/>
        -->
        <delete dir="${dir.build}"/>
    </target>
   
    <target name="set.jar.name" depends="version" unless="jar.name">
        <property name="jar.name" value="${jar.base.name}-${version}.jar"/>
    </target>
   
    <target name="set.war.name" depends="version" unless="war.name">
        <property name="war.name" value="${war.base.name}-${version}.war"/>
    </target>
   
    <target name="set.package.name" depends="version" unless="package.name">
        <property name="package.name" value="${package.base.name}-${version}.zip"/>
    </target>

    <target name="jar" depends="[...],set.jar.name">
        [...]
    </target>
   
    <target name="zip" depends="[...],set.package.name" [...]>
        [...]
    </target>
   
    <target name="all">
        [...]
        <antcall target="install"/>
    </target>
   
    <target name="inc.build.number" unless="already.inc.build.number">
        [...]
        <property name="already.inc.build.number" value="true"/>
    </target>
   
    <target name="version" description="print version information">
        [...]
       
        <property file="${build.version.file}"/>
       
        <!-- set version to current version -->
        <property name="version" value="${build.major}.${build.minor}.${build.number}"/>           
       
        [...]
    </target>
   
    <target name="war" depends="[...],set.war.name" [...]>
        [...]
        * Creating deployable webapp ${war.name}
        [...]
        <war destfile="${dir.build.war}/${war.name}">
        [...]
    </target>
   
    <target name="webapp" [...]>
           
        <echo level="info">
    ***********************************************************************
    *
    * Assembling webapp ${war.base.name} to ${dir.build.webapp}
    *
    ***********************************************************************
        </echo>
        [...]
    </target>
   
    <target name="install" [...]>
       
        <echo level="info">
    ***********************************************************************
    *
    * Attempting to install ${war.name} to ${server.url}${webapp.path}
    *
    ***********************************************************************
        </echo>
        [...]
        <deploy [...]
            war="${dir.build.war}/${war.name}"
            [...] />
         [...]
    </target>

That's a lot of editing for not a lot of change. Now try the war, jar, and zip tasks

> ant jar war zip

Verify that the versions are appended to the filenames. If everything checks out, you know the drill

> ant svn inc.build.minor

commit