<project name="TemperatureService" default="all">

  <property name="ejbc.compiler" value="javac" />
  <property name="temp_dir" value="temp_dir" />
  <property name="pre_ejbc_jar_file" value="PRE_TemperatureService.jar" />
  <property name="ejbc_jar_file" value="TemperatureService.jar" />

  <target name="all" depends="clean,build" />
    
  <target name="clean">
    <delete dir="${temp_dir}" />
    <delete file="${pre_ejbc_jar_file}"/>
    <delete file="${ejbc_jar_file}"/>
    <delete file="TemperatureServiceWS.jar"/>
    <delete file="temperature-client.jar"/>
    <delete file="web-services.xml"/>
    <delete file="Temperature.wsdl"/>
  </target>

  <target name="build" depends="build-ejb,build-ws,package" />

  <target name="build-ejb">
    <delete dir="${temp_dir}" />
    <mkdir dir="${temp_dir}" />

    <javac srcdir="." destdir="${temp_dir}" />

    <copy todir="${temp_dir}/META-INF" >
      <fileset dir="." >
        <include name="*.xml"/>
      </fileset>
    </copy>

    <jar jarfile="${pre_ejbc_jar_file}"
         basedir="${temp_dir}"/>

    <java classname="weblogic.ejbc" fork="yes">
      <arg line="-noexit -compiler ${ejbc.compiler} " />
      <arg line="${pre_ejbc_jar_file} ${ejbc_jar_file}" />
    </java>

    <delete file="${pre_ejbc_jar_file}" />
  </target>

  <path id="this.class.path">
    <pathelement path="temp_dir"/>
    <pathelement path="TemperatureService.jar" />
    <pathelement path="${java.class.path}"/>
  </path>

  <target name="build-ws" >

    <delete dir="temp_dir" />
    <mkdir dir="temp_dir" />

    <autotype javaComponents="examples.mega.ejb.TemperatureService"
              destDir="temp_dir" 
              packageName="examples.mega.ejb">
      <classpath refid="this.class.path" />
    </autotype>

    <source2wsdd 
      javaSource="TemperatureService.java" 
      ddFile="web-services.xml"
      typesInfo="temp_dir/types.xml"
      serviceURI="/TemperatureService"
      ejbLink="TemperatureService.jar#TemperatureServiceEJB"
      wsdlFile="Temperature.wsdl" >
      <classpath refid="this.class.path" />
    </source2wsdd>

    <clientgen wsdl="Temperature.wsdl"
      clientJar="temperature-client.jar"
      packageName="examples.mega.client"
      typePackageName="examples.mega.client"
      usePortNameAsMethodName="true" />

  </target>

  <target name="package" >
    <jar jarfile="TemperatureServiceWS.jar" basedir="temp_dir"
      includes="**/*.class" />

    <delete dir="temp_dir" />
  </target>

</project>

