<project name="castorbug" default="usage" basedir=".">

 <property file="build.properties"/>

 <target name="usage">
  <echo message="Use anttask or sgm"/>
 </target>

 <target name="anttask" depends="clean,generate-from-task,compile,run"/>
 <target name="sgm" depends="clean,generate-from-sgm,compile,run"/>

<!-- classname="org.exolab.castor.tools.ant.taskdefs.CastorSourceGenTask" -->
 <target name="generate-from-task">
  <taskdef name="castor-codegen"
           classname="org.castor.anttask.CastorCodeGenTask"
           classpath="${castor-codegen.jar};${castor-anttasks.jar};${castor.jar};${commons-logging.jar};etc" />
   <mkdir dir="gen/java" />
    <castor-codegen file="xmlschema/CONSUMER/1.2/consumertypes.xsd"
                    properties="etc/customcastor.properties"
                    nameConflictStrategy="informViaLog"
                    verbose="true"
                    todir="gen/java"
                    package="wamu.xmlbinding.consumer"
                    types="j2"
                    warnings="false" />
    <castor-codegen file="xmlschema/CONSUMER/1.2/consumercrmtypes.xsd"
                    properties="etc/customcastor.properties"
                    nameConflictStrategy="informViaLog"
                    verbose="true"
                    todir="gen/java"
                    package="wamu.xmlbinding.consumer"
                    types="j2"
                    warnings="false" />
    <castor-codegen file="xmlschema/CONSUMER/1.2/consumer.xsd"
                    properties="etc/customcastor.properties"
                    nameConflictStrategy="informViaLog"
                    verbose="true"
                    todir="gen/java"
                    package="wamu.xmlbinding.consumer"
                    types="j2"
                    warnings="false" />
    <castor-codegen file="xmlschema/CONSUMER/1.2/decisiontypes.xsd"
                    properties="etc/customcastor.properties"
                    nameConflictStrategy="informViaLog"
                    verbose="true"
                    todir="gen/java"
                    package="wamu.xmlbinding.consumer"
                    types="j2"
                    warnings="false" />
    <castor-codegen file="xmlschema/CONSUMER/1.2/decision.xsd"
                    properties="etc/customcastor.properties"
                    nameConflictStrategy="informViaLog"
                    verbose="true"
                    todir="gen/java"
                    package="wamu.xmlbinding.consumer"
                    types="j2"
                    warnings="false" />
    <castor-codegen file="xmlschema/CONSUMER/1.2/EAICommon/TransactionStatus.xsd"
                    properties="etc/customcastor.properties"
                    nameConflictStrategy="informViaLog"
                    verbose="true"
                    todir="gen/java"
                    package="wamu.xmlbinding.consumer"
                    types="j2"
                    warnings="false" />
 </target>

 <target name="generate-from-sgm">
   <mkdir dir="gen/java" />
    <java classname="org.exolab.castor.builder.SourceGeneratorMain" fork="yes">
     <classpath>
      <pathelement location="${castor-anttasks.jar}"/>
      <pathelement location="${castor-codegen.jar}"/>
      <pathelement location="${castor.jar}"/>
      <pathelement location="${commons-logging.jar}"/>
      <pathelement location="${xercesImpl.jar}"/>
      <pathelement location="etc"/>
     </classpath>
     <jvmarg line="-Dlog4j.rootLogger=DEBUG,console"/>
     <arg value="-i"/>
     <arg value="xmlschema/WMCS/2.0/AccountProfile.xsd"/>
     <arg value="-binding-file"/>
     <arg value="etc/emptybinding.xml"/>
     <arg value="-nameConflictStrategyinformViaLog"/>
     <arg value="-package"/>
     <arg value="wamu.xmlbinding.xx"/>
     <arg value="-types"/>
     <arg value="j2"/>
     <arg value="-dest"/>
     <arg value="gen/java"/>
    </java>
    <java classname="org.exolab.castor.builder.SourceGeneratorMain" fork="yes">
     <classpath>
      <pathelement location="${castor-anttasks.jar}"/>
      <pathelement location="${castor-codegen.jar}"/>
      <pathelement location="${castor.jar}"/>
      <pathelement location="${commons-logging.jar}"/>
      <pathelement location="${xercesImpl.jar}"/>
      <pathelement location="etc"/>
     </classpath>
     <jvmarg line="-Dlog4j.rootLogger=DEBUG,console"/>
     <arg value="-i"/>
     <arg value="xmlschema/WMCS/2.0/LoyaltyAccount.xsd"/>
     <arg value="-binding-file"/>
     <arg value="etc/emptybinding.xml"/>
     <arg value="-nameConflictStrategyinformViaLog"/>
     <arg value="-package"/>
     <arg value="wamu.xmlbinding.xx"/>
     <arg value="-types"/>
     <arg value="j2"/>
     <arg value="-dest"/>
     <arg value="gen/java"/>
    </java>
 </target>

 <target name="compile">
  <mkdir dir="gen/classes"/>
  <mkdir dir="gen/java"/>
  <javac srcdir="gen/java" destdir="gen/classes" includes="**/*.java"
         deprecation="true" debug="true">
   <classpath>
    <pathelement location="${castor.jar}"/>
   </classpath>
  </javac>
  <mkdir dir="build/classes"/>
  <javac srcdir="src/java" destdir="build/classes" includes="**/*.java"
         deprecation="true" debug="true">
   <classpath>
    <pathelement location="gen/classes"/>
    <pathelement location="${castor.jar}"/>
    <pathelement location="${castor-codegen.jar}"/>
    <pathelement location="${castor-anttasks.jar}"/>
   </classpath>
  </javac>
 </target>

 <target name="run">
  <java classname="com.wamu.castorbug.CastorBug" fork="yes">
   <classpath>
    <pathelement location="gen/classes"/>
    <pathelement location="build/classes"/>
    <pathelement location="${castor.jar}"/>
    <pathelement location="${castor-codegen.jar}"/>
    <pathelement location="${castor-anttasks.jar}"/>
    <pathelement location="${commons-logging.jar}"/>
    <pathelement location="${xercesImpl.jar}"/>
   </classpath>
  </java>
 </target>

 <target name="clean">
  <delete dir="build"/>
  <delete dir="gen"/>
 </target>

</project>
