<?xml version="1.0" encoding="UTF-8"?>

<!-- ====================================================================== -->
<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above.        -->
<!-- ====================================================================== -->

<!-- ====================================================================== -->
<!-- ===================== - DO NOT EDIT THIS FILE! - ===================== -->
<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Any modifications will be overwritten.                                 -->
<!--                                                                        -->
<!-- Generated by Maven Ant Plugin on 4/20/07 5:09 PM                       -->
<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/                 -->
<!--                                                                        -->
<!-- ====================================================================== -->

<project name="spin-from-maven" default="dist" basedir=".">

  <!-- ====================================================================== -->
  <!-- Build environnement properties                                         -->
  <!-- ====================================================================== -->

  <property file="maven-build.properties"/>

  <property name="maven.build.finalName" value="spin-1.5"/>
  <property name="maven.build.dir" value="target"/>
  <property name="maven.build.outputDir" value="${maven.build.dir}/classes"/>
  <property name="maven.build.srcDir.0" value="src/main/java"/>
  <property name="maven.build.resourceDir.0" value="src/main/java"/>
  <property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes"/>
  <property name="maven.build.testDir.0" value="src/test/java"/>
  <property name="maven.build.testResourceDir.0" value="src/main/java"/>
  <property name="maven.test.reports" value="${maven.build.dir}/test-reports"/>
  <property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site"/>

  <property name="maven.settings.offline" value="true"/>
  <property name="maven.settings.interactiveMode" value="true"/>

  <!-- ====================================================================== -->
  <!-- Cleaning up target                                                     -->
  <!-- ====================================================================== -->

  <target name="clean" description="Clean the output directory">
    <delete dir="${maven.build.dir}"/>
  </target>

  <!-- ====================================================================== -->
  <!-- Compilation target                                                     -->
  <!-- ====================================================================== -->

  <target name="compile" description="Compile the code">
    <mkdir dir="${maven.build.outputDir}"/>
    <javac destdir="${maven.build.outputDir}" classpath="${gentoo.classpath}" 
           nowarn="false" 
           debug="true" 
           optimize="false" 
           deprecation="true" 
           target="1.4" 
           verbose="false" 
           fork="false" 
           source="1.4">
      <src>
        <pathelement location="${maven.build.srcDir.0}"/>
      </src>
    </javac>
    <copy todir="${maven.build.outputDir}">
      <fileset dir="${maven.build.resourceDir.0}">
        <include name="**/*"/>
        <exclude name="**/*.java"/>
      </fileset>
    </copy>
  </target>

  <!-- ====================================================================== -->
  <!-- Test-compilation target                                                -->
  <!-- ====================================================================== -->

  <target name="compile-tests" 
          depends="junit-present, compile" 
          description="Compile the test code" 
          if="junit.present">
    <mkdir dir="${maven.build.testOutputDir}"/>
    <javac destdir="${maven.build.testOutputDir}" classpath="${gentoo.classpath}" 
           nowarn="false" 
           debug="true" 
           optimize="false" 
           deprecation="true" 
           target="1.4" 
           verbose="false" 
           fork="false" 
           source="1.4">
      <src>
        <pathelement location="${maven.build.testDir.0}"/>
      </src>
      <classpath>
        <pathelement location="${maven.build.outputDir}"/>
      </classpath>
    </javac>
    <copy todir="${maven.build.testOutputDir}">
      <fileset dir="${maven.build.testResourceDir.0}">
        <include name="**/*"/>
        <exclude name="**/*.java"/>
      </fileset>
    </copy>
  </target>

  <!-- ====================================================================== -->
  <!-- Run all tests                                                          -->
  <!-- ====================================================================== -->

  <target name="test" 
          depends="junit-present, compile-tests" 
          if="junit.present" 
          description="Run the test cases">
    <mkdir dir="${maven.test.reports}"/>
    <junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
      <sysproperty key="basedir" value="."/>
      <formatter type="xml"/>
      <formatter type="plain" usefile="false"/>
      <classpath>
        <pathelement path="${gentoo.classpath}"/>
        <pathelement location="${maven.build.outputDir}"/>
        <pathelement location="${maven.build.testOutputDir}"/>
      </classpath>
      <batchtest todir="${maven.test.reports}">
        <fileset dir="${maven.build.testDir.0}">
          <include name="**/*Test.java"/>
          <exclude name="**/*Abstract*Test.java"/>
        </fileset>
      </batchtest>
    </junit>
  </target>

  <target name="test-junit-present">
    <available classname="junit.framework.Test" property="junit.present"/>
  </target>

  <target name="junit-present" 
          depends="test-junit-present" 
          unless="junit.present">
    <echo>=================================== WARNING ===================================</echo>
    <echo> Junit isn&apos;t present in your $ANT_HOME/lib directory. Tests not executed. </echo>
    <echo>===============================================================================</echo>
  </target>

  <!-- ====================================================================== -->
  <!-- Javadoc target                                                         -->
  <!-- ====================================================================== -->

  <target name="javadoc" description="Generates the Javadoc of the application">
    <javadoc sourcepath="${maven.build.srcDir.0}" 
             packagenames="*" 
             destdir="${maven.reporting.outputDirectory}/apidocs" 
             access="protected" 
             old="false" 
             verbose="false" 
             version="true" 
             use="true" 
             author="true" 
             splitindex="false" 
             nodeprecated="false" 
             nodeprecatedlist="false" 
             notree="false" 
             noindex="false" 
             nohelp="false" 
             nonavbar="false" 
             serialwarn="false" 
             charset="ISO-8859-1" 
             linksource="false" 
             breakiterator="false"/>
  </target>

  <!-- ====================================================================== -->
  <!-- Package target                                                         -->
  <!-- ====================================================================== -->

  <target name="package" depends="compile" description="Package the application">
    <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar" 
         compress="true" 
         index="false" 
         basedir="${maven.build.outputDir}" 
         excludes="**/package.html"/>
  </target>

  <!-- ====================================================================== -->
  <!-- A dummy target for the package named after the type it creates         -->
  <!-- ====================================================================== -->

  <target name="jar" depends="package" description="Builds the jar for the application"/>

  <!-- ====================================================================== -->
  <!-- Dist target                                                            -->
  <!-- ====================================================================== -->

  <target name="dist" depends="package,test" description="Package the application and run tests"/>
</project>