<?xml version="1.0" encoding="UTF-8"?>
<project default="-deploy-ant" basedir=".">
    <target name="-init" if="deploy.ant.enabled">
        <property file="${deploy.ant.properties.file}"/>
        <tempfile property="temp.module.folder" prefix="tomcat" destdir="${java.io.tmpdir}"/>
        <unwar src="${deploy.ant.archive}" dest="${temp.module.folder}">
            <patternset includes="META-INF/context.xml"/>
        </unwar>
        <xmlproperty file="${temp.module.folder}/META-INF/context.xml"/>
        <delete dir="${temp.module.folder}"/>
    </target>
    <target name="-check-credentials" if="deploy.ant.enabled" depends="-init">
        <fail message="Tomcat password has to be passed as tomcat.password property.">
            <condition>
                <not>
                    <isset property="tomcat.password"/>
                </not>
            </condition>
        </fail>    
    </target>
    <target name="-deploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials">
        <echo message="Deploying ${deploy.ant.archive} to ${Context(path)}"/>
        <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">
            <classpath>
                <pathelement path="${tomcat.home}/lib/catalina-ant.jar"/>
                <pathelement path="${tomcat.home}/lib/tomcat-coyote.jar"/>
                <pathelement path="${tomcat.home}/lib/tomcat-util.jar"/>
                <pathelement path="${tomcat.home}/bin/tomcat-juli.jar"/>
            </classpath>
        </taskdef>
        <deploy url="${tomcat.url}/manager/text" username="${tomcat.username}"
                password="${tomcat.password}" path="${Context(path)}"
                war="${deploy.ant.archive}"/>
        <property name="deploy.ant.client.url" value="${tomcat.url}${Context(path)}"/>
    </target>
    <target name="-undeploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials">
        <echo message="Undeploying ${Context(path)}"/>
        <taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask">
            <classpath>
                <pathelement path="${tomcat.home}/lib/catalina-ant.jar"/>
                <pathelement path="${tomcat.home}/lib/tomcat-coyote.jar"/>
                <pathelement path="${tomcat.home}/lib/tomcat-util.jar"/>
                <pathelement path="${tomcat.home}/bin/tomcat-juli.jar"/>
            </classpath>
        </taskdef>
        <undeploy url="${tomcat.url}/manager/text" username="${tomcat.username}" 
                  password="${tomcat.password}" path="${Context(path)}"/>
    </target>
</project>
