<project name="webss" default="build">

  <target name="webss.build" >

    <antcall target="webss.check" inheritAll="true" />

    <autotype 
      javaComponents="${webss.service.package}.${webss.service.name}"
      destDir="${webss.output.dir}/WEB-INF/classes" 
      packageName="${webss.service.package}">
      <classpath>
        <pathelement location="${webss.output.dir}/WEB-INF/classes" />
        <pathelement location="${webss.output.dir}/WEB-INF/lib" />
        <pathelement path="${java.class.path}" />
      </classpath>
    </autotype>

   <source2wsdd 
     description="create web service descriptor and wsdl from source file"
     javaSource="${webss.service.source}" 
     ddFile="${webss.output.dir}/WEB-INF/web-services.xml"
     typesInfo="${webss.output.dir}/WEB-INF/classes/types.xml"
     serviceURI="${webss.service.url}" 
     wsdlFile="${webss.output.dir}/${webss.service.name}.wsdl" >
     <classpath>
       <pathelement location="${webss.output.dir}/WEB-INF/classes" />
       <pathelement location="${webss.output.dir}/WEB-INF/lib" />
       <pathelement path="${java.class.path}" />
     </classpath>
   </source2wsdd>

   <clientgen 
     description="create a web service client from the wsdl"
     clientJar="${webss.output.dir}/${webss.service.name}-client.jar"
     wsdl="${webss.output.dir}/${webss.service.name}.wsdl"
     packageName="${webss.client.package}"
     typePackageName="${webss.client.package}"
     usePortNameAsMethodName="true" />

 </target>

 <target name="webss.check" >

   <property name="webss.error" value=" not specified. This property must be provided before calling this ant target. Please review your ant build file." />

   <fail unless="webss.service.package" 
     message="webss.service.package ${webss.error}" />   

   <fail unless="webss.service.name" 
     message="webss.service.name ${webss.error}" />   

   <fail unless="webss.service.url" 
     message="webss.service.url ${webss.error}" />   

   <fail unless="webss.service.source" 
     message="webss.service.source ${webss.error}" />   

   <fail unless="webss.output.dir" 
     message="webss.output.dir ${webss.error}" />   

   <fail unless="webss.client.package" 
     message="webss.client.package ${webss.error}" />   

 </target>

</project>

