<?xml version="1.0"?>

<project basedir=".">

  <property environment="env"/>
  <property name="axis.home" location="${env.AXIS_HOME}"/>
  <property name="src.dir" location="src"/>
  <property name="wsdl.dir" location="wsdl"/>
  <property name="service" value="RomanNumbers"/>
  <property name="build.dir" location="build"/>
  <property name="client.dir" location="client"/>
  <property name="interface.dir" location="interface"/>
  <property name="package" value="number"/>

  <path id="axis.classpath">
     <fileset dir="${axis.home}/lib">
        <include name="*.jar"/>
     </fileset>
  </path>
  
  <target name="init">
    <mkdir dir="${src.dir}"/>
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${client.dir}"/>
    <mkdir dir="${wsdl.dir}"/>
  </target>

  <taskdef resource="axis-tasks.properties" classpathref="axis.classpath"/>

  <target name="compile-interface" depends="init">
    <javac srcdir="${interface.dir}" destdir="${build.dir}" classpathref="axis.classpath" nowarn="on">
        <include name="*.java"/>
    </javac>
  </target>

  <target name="gen-wsdl" depends="compile-interface">
  	<axis-java2wsdl output="${wsdl.dir}/${package}.wsdl"
  		location="http://localhost:8080/axis/services/${service}"
  		namespace="${package}"
  		classname="${package}.${service}">
  		<classpath>
          <path refid="axis.classpath"/>
          <pathelement location="build"/>
        </classpath>
  	</axis-java2wsdl>
  </target>

  <target name="gen-serverstub">
     <axis-wsdl2java url="${wsdl.dir}/${package}.wsdl" output="${src.dir}" serverSide="true" skeletonDeploy="true">
     </axis-wsdl2java>
  </target>

  <target name="compile" depends="gen-serverstub">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="axis.classpath" nowarn="on">
        <include name="**/*.java"/>
    </javac>
  </target>

  <target name="make-jar" depends="compile">
    <jar destfile="${package}.jar" basedir="${build.dir}"/>
  </target>

  <target name="deploy">
    <copy todir="${env.CATALINA_HOME}/webapps/axis/WEB-INF/lib" file="${package}.jar"/>
    <java classname="org.apache.axis.client.AdminClient" fork="yes">
       <classpath>
	  <pathelement location="${build.dir}"/>
          <path refid="axis.classpath"/>
       </classpath>
       <arg line="${src.dir}/${package}/deploy.wsdd"/>
    </java>
  </target>

  <target name="compile-client">
    <javac srcdir="${client.dir}" destdir="${client.dir}">
        <include name="*.java"/>
        <classpath>
            <pathelement location="${package}.jar"/>
            <path refid="axis.classpath"/>
        </classpath>
    </javac>
  </target>

  <target name="run-client">
    <property name="classname" value="Client"/>
    <java classname="${classname}" fork="yes">
        <classpath>
            <pathelement location="${client.dir}"/>
	    <pathelement location="${package}.jar"/>
            <path refid="axis.classpath"/>
        </classpath>
    </java>
  </target>

</project>

