<?xml version="1.0" encoding="UTF-8"?>
<project name="dbwg-build-axis2-webservices-from-example-wsdl" default="init">

    <description>
        Axis2
        Run wsdl2java to generate code implementing web service based on examples.wsdl, 
        Modify code to implement an echo service, 
        generate the axis2 service (aar file), 
        Deploy the aar
    </description>

    <target name="init" depends="delete,wsdl2java,deploy"/>
    
    <property name="app" value="databinding_axis2"/>
    <property environment="env"/>
    <property name="axis2_home" value="${env.AXIS2_HOME}"/>
    <property name="java_home" value="${env.JAVA_HOME}"/>
    <property name="tomcat_home" value="${env.CATALINA_HOME}"/>
    <property name="webapps" value="${tomcat_home}/webapps" />
	
    <path id="class.path">
        <fileset dir="${axis2_home}/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${java_home}/lib">
            <include name="**/*.jar"/>
        </fileset>
    </path>    
    
    <target name="delete">
        <echo>delete old files/directories</echo>
        <delete dir="${app}" quiet="true"/>
        <delete dir="resources" quiet="true"/>
        <delete dir="build" quiet="true"/>
        <delete file="build.xml" quiet="true"/>
    </target>

    <target name="mkdir">
        <echo>make new directories</echo>
        <mkdir dir="${app}/src"/>
    </target>

    <target name="wsdl2java" depends="mkdir">
        <echo>create java code from examples wsdl</echo>
        <java fork="true" classname="org.apache.axis2.wsdl.WSDL2Java" classpathref="class.path">
            <arg line="-uri examples.wsdl -S ${app}/src -p databinding -s -ss -d ${dbengine} -g -sd"/>            
        </java> 
    </target>

    <target name="buildserviceaar">
        <echo>run ant task to build aar</echo>
        <ant antfile="build.xml"/> 
    </target>
    
    <target name="deploy" depends="buildserviceaar">
        <echo>copy new aar file to app server Tomcat/axis2</echo>
        <copy todir="${webapps}/axis2/WEB-INF/services" file="build/lib/Service.aar"/>
    </target>    
</project>    
