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

<project default="printEnv" basedir=".">
<!-- =================================================================== -->
<description>
   Samples Build 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

Optional components:
   SOAP Attachment support enablement:
     activation.jar from http://java.sun.com/products/javabeans/glasgow/jaf.html
     mailapi.jar    from http://java.sun.com/products/javamail/
   Security support enablement:
     xmlsec.jar from fresh build of CVS from http://xml.apache.org/security/
     Other support jars from http://cvs.apache.org/viewcvs.cgi/xml-security/libs/

Build Instructions:
   To build, run

     ant "target"

   on the directory where this file is located with the target you want.

Most useful targets:

 - compile  : compiles the samples and WSDL files

Author:
  Matt Seibert mseibert@us.ibm.com

Copyright:
  Copyright (c) 2002-2003 Apache Software Foundation.
</description>
<!-- ==================================================================== -->
        &properties;
        &paths;
        &taskdefs;
        &taskdefs_post_compile;
        &targets;

<!-- =========================================================================== -->
  <target name="copy"/>

<!-- =========================================================================== -->

  <target name="compile" depends="printEnv,copy">
    <!-- Compile the sample code -->
    <foreach target="component-compile" fork="${foreach.fork}" inheritAll="${ant.inheritAll}" inheritRefs="${ant.inheritRefs}">
        <param name="file">
             <fileset dir="${axis.home}" includes="samples/**/build.xml"/>
        </param>
     </foreach>
  </target>

<!-- =========================================================================== -->
  <target name="clean" depends="setenv">
    <delete dir="${build.dest}/samples"/>
  </target>

  <!-- =================================================================== -->
  <!--   This simply echos the component files, for sanity checks -->
  <!-- =================================================================== -->
  <target name="echoTest" >
    <foreach target="echo-file" fork="${foreach.fork}" inheritAll="${ant.inheritAll}" inheritRefs="${ant.inheritRefs}">
        <param name="file">
             <fileset dir="${axis.home}" includes="samples/**/build.xml"/>
        </param>
     </foreach>
  </target>

</project>
