<?xml version="1.0" ?>
<!DOCTYPE project [
        <!ENTITY properties SYSTEM "file:../../../xmls/properties.xml">
        <!ENTITY paths  SYSTEM "file:../../../xmls/path_refs.xml">
        <!ENTITY taskdefs SYSTEM "file:../../../xmls/taskdefs.xml">
        <!ENTITY taskdefs_post_compile SYSTEM "file:../../../xmls/taskdefs_post_compile.xml">
        <!ENTITY targets SYSTEM "file:../../../xmls/targets.xml">
]>

<!-- ===================================================================
<description>
   Test/Sample Component file for Axis

Notes:
   This is a build file for use with the Jakarta Ant build tool.

Prerequisites:

   jakarta-ant from http://jakarta.apache.org

Build Instructions:
   To compile
        ant compile
   To execute
        ant run

Author:
  Matt Seibert mseibert@us.ibm.com

Copyright:
  Copyright (c) 2002-2003 Apache Software Foundation.
</description>
==================================================================== -->

<project default="compile">

<property name="axis.home" location="../../.." />
<property name="componentName" value="test/wsdl/inheritance" />
        &properties;
        &paths;
        &taskdefs;
        &taskdefs_post_compile;
        &targets;

<target name="clean">
    <echo message="Removing ${build.dir}/classes/${componentName} and ${build.dir}/work/${componentName}" />
    <delete dir="${build.dir}/classes/${componentName}"/>
    <delete dir="${build.dir}/work/${componentName}"/>
</target>

<target name="copy" depends="setenv"/>

<target name="compile" depends="copy">
  <echo message="Compiling test.wsdl.inheritance"/>
    <!-- Inheritance Test -->
    <!-- Bootstrap to generate Java From WSDL to get stubs/skeletons -->
    <wsdl2java url="${axis.home}/test/wsdl/inheritance/InheritanceTest.wsdl"
               output="${axis.home}/build/work"
               deployscope="session"
               serverSide="yes"
               skeletonDeploy="yes"
               noimports="no"
               verbose="no"
               testcase="no">
        <mapping namespace="urn:InheritanceTest2" package="test.wsdl.inheritance"/>
    </wsdl2java>
    <!-- To test inheritance, the InheritancePortType is changed to use inheritance -->
    <copy todir="${build.dir}/work/test/wsdl/inheritance" overwrite="yes">
      <fileset dir="${test.dir}/wsdl/inheritance">
        <include name="InheritancePortType.java"/>
        <include name="StockQuoteProvider.java"/>
      </fileset>
    </copy>
    <!-- Compile the Web Service -->
    <javac srcdir="${build.dir}/work" destdir="${build.dest}" debug="${debug}" nowarn="${nowarn}" source="${source}" fork="${javac.fork}">
      <classpath refid="classpath" />
      <include name="test/wsdl/inheritance/**.java" />
      <exclude name="test/wsdl/inheritance/*TestCase.java" />
      <exclude name="test/wsdl/inheritance/*Impl.java" />
    </javac>
    <!-- Now create the WSDL file specifying useInheritedMethods -->
    <java2wsdl output="${axis.home}/build/work/test/wsdl/inheritance/InheritanceTest.wsdl"
               className= "test.wsdl.inheritance.InheritancePortType"
               namespace="urn:InheritanceTest2"
               useInheritedMethods="true"
               location="http://localhost:8080/axis/services/InheritanceTest">
        <mapping namespace="urn:InheritanceTest2" package="test.wsdl.inheritance"/>
    </java2wsdl>
    <!-- Delete the intermediate files so we recreate over a clean slate -->
    <delete dir="${build.dir}/classes/test/wsdl/inheritance"/>
    <!-- Recreate Java files from the new WSDL -->
    <wsdl2java url="${axis.home}/build/work/test/wsdl/inheritance/InheritanceTest.wsdl"
               output="${axis.home}/build/work"
               deployscope="session"
               serverSide="yes"
               skeletonDeploy="yes"
               noimports="no"
               verbose="no"
               testcase="no">
        <mapping namespace="urn:InheritanceTest2" package="test.wsdl.inheritance"/>
    </wsdl2java>

    <!-- inheritance test (cont): Test the stopClass and exclude switches -->
    <!-- Compile class files -->
    <javac srcdir="${test.dir}/wsdl/inheritance" destdir="${build.dest}" debug="${debug}" nowarn="${nowarn}" source="${source}" fork="${javac.fork}">
        <classpath refid="classpath" />
        <include name="Baby*.java"/>
        <include name="Child*.java"/>
        <include name="Parent*.java"/>
    </javac>
    <!-- Generate the WSDL file that the test will validate.-->
    <!-- We do not run WSDL2Java for this test -->
    <java2wsdl output="${axis.home}/build/work/test/wsdl/inheritance/StopExclude.wsdl"
               className= "test.wsdl.inheritance.Baby"
               namespace="urn:InheritanceTest3"
               useInheritedMethods="true"
               stopClasses="test.wsdl.inheritance.Parent,test.wsdl.inheritance.Parent_bean"
               exclude="baby_excluded,child_excluded"
               location="http://localhost:8080/axis/services/StopExcludeTest">
        <mapping namespace="urn:InheritanceTest3" package="test.wsdl.inheritance"/>
    </java2wsdl>

    <copy todir="${build.dir}/work/test/wsdl/inheritance" overwrite="yes">
      <fileset dir="${axis.home}/test/wsdl/inheritance">
        <include name="*TestCase.java"/>
        <include name="*Impl.java"/>
      </fileset>
    </copy>

    <javac srcdir="${build.dir}/work" destdir="${build.dest}" nowarn="${nowarn}" source="${source}" fork="${javac.fork}"
           debug="${debug}">
      <classpath refid="classpath" />
      <include name="test/wsdl/inheritance/*.java" />
    </javac>
    
</target>

<target name="run" >
  <antcall target="execute-Component" />
</target>

</project>
