<?xml version="1.0" standalone='yes'?>

    <project name="Jackson JSON parser" basedir="." default="readme">

    <!-- Source directories -->
    <property name="SrcDir" location="${basedir}/src" />
    <property name="JavaSrcDir" location="${SrcDir}/java" />
    <property name="TestSrcDir" location="${SrcDir}/test" />
    <property name="RelNotesDir" location="${basedir}/release-notes" />

    <!-- Libs -->
    <property name="LibDir" location="${basedir}/lib" />
    <!-- Build-related -->
    <property name="BuildDir" location="${basedir}/build" />
    <property name="BuildClassesDir" location="${BuildDir}/classes" />
    <property name="EmmaBuildClassesDir" location="${BuildDir}/emma-classes" />
    <!-- Documentation -->
    <property name="DocDir" location="${basedir}/doc" />
    <property name="JavaDocDir" location="${BuildDir}/javadoc" />
    <!-- Test suite -->
    <property name="TestDir" location="${basedir}/test" />
    <property name="TestClassesDir" location="${TestDir}/classes" />
    <property name="TestResultsDir" location="${TestDir}/results" />
    <property name="TestXmlResultsDir" location="${TestResultsDir}/xml" />
    <property name="StaxTestClassesDir" location="${TestDir}/staxtest-classes" />
    <!-- Distribution -->
    <property name="DistDir" location="${basedir}/dist" />

    <!-- Version information -->

    <!-- Version -->
    <property name="JSON_TITLE" value="Json - JavaScript Object Notation" />
    <property name="JSON_VERSION" value="1.0" />
    <property name="JSON_VENDOR" value="http://www.ietf.org/rfc/rfc4627.txt" />
    <property name="IMPL_TITLE" value="Jackson JSON parser" />
    <property name="IMPL_VERSION" value="0.9.1" />
    <property name="IMPL_VENDOR" value="http://www.cowtowncoder.com/" />

    <!-- jars needed for compilation? None as of yet -->
    <path id="compile-classpath">
    </path>
    <path id="junit-libs">
       <fileset dir="${LibDir}">
            <include name="junit/junit*.jar" />
       </fileset>
    </path>

    <!-- Source files to include in source packages (tar, zip) -->
    <patternset id="dist-src-files">
          <include name="src/**/*.java" />
          <include name="release-notes/*" />
          <include name="build.xml" />
          <include name="project.xml" />
          <include name="src/maven/*.pom" />
          <!-- need jars for auxiliary tasks (tests), although jackson
               itself does not depend on any other packages, just JDK 1.5
            -->
          <include name="lib/**/*.jar" />
          <include name="samples/**/*.jsn" />
    </patternset>

    <!-- Core Woodstox class files common to all license flavours: -->
    <patternset id="dist-class-files">
        <include name="org/codehaus/**/*.class" />
        <include name="META-INF/services/javax.xml.stream.*" />
    </patternset>

    <!-- Support for Emma (http://emma.sourceforge.net) code
       - coverage library
      -->
    <property name="emma.dir" value="${LibDir}/emma" />
    <property name="emma.coverage.dir" value="${BuildDir}/coverage" />
    <path id="emma.lib">
      <pathelement location="${emma.dir}/emma.jar" />
      <pathelement location="${emma.dir}/emma_ant.jar" />
    </path>
    <taskdef classpathref="emma.lib" resource="emma_ant.properties" />

    <!-- Support for Cobertura code coverage tool -->
    <property name="cobertura.coverage.dir" value="${BuildDir}/coverage" />
    <path id="cobertura.lib">
      <fileset dir="${LibDir}/cobertura" includes="*.jar" />
    </path>
    <taskdef classpathref="cobertura.lib" resource="tasks.properties" />


    <!--*********************************************************************-->
    <!-- The readme target shows a brief description of all targets          -->
    <!-- supported by this ant build file                                    -->
    <!--*********************************************************************-->
    <target name="readme">
        <echo message = "${ProjectName}'s Available Targets" />
        <echo message = "---------------------------------------------------" />
        <echo message = "1)  readme - Displays this information (default target)." />
        <echo message = "2)  clean - Remove any generated files/directories." />
        <echo message = "3)  compile - Compile all non-test ${ProjectName} code." />
        <echo message = "4)  jars - Compile and create all jars for non-test ${ProjectName} code (see below for specific ones)." />
        <echo message = "4b)  jar.asl - Compile and create jar for non-test ${ProjectName} cod, under Apache (2.0) license." />
        <echo message = "5)  javadoc - Generate ${ProjectName} code documentation." />
        <echo message = "6)  test.compile - Compile ${ProjectName} code and test code" />
        <echo message = "       for JUnit tests." />
        <echo message = "7)  test - Run JUnit tests." />
        <echo message = "8)  dist - Create distribution directory and copy necessary files there" />
        <echo message = "9) all - Run the clean, compile, javadoc," />
        <echo message = "         test and dist targets." />  
        <echo message = "" />
        <echo message = "Available command-line arguments:" />
        <echo message = "---------------------------------" />
        <echo message = "none" />
    </target>

    <target name="prepare">
        <!-- make build directories -->
        <mkdir dir="${BuildDir}" />
        <mkdir dir="${BuildClassesDir}" />

        <!-- make docs directories -->
        <mkdir dir="${DocDir}" />
        <mkdir dir="${JavaDocDir}" />

        <!-- make test output directories -->
        <mkdir dir="${TestDir}" />
        <mkdir dir="${TestClassesDir}" />
        <mkdir dir="${TestResultsDir}" />
        <mkdir dir="${TestXmlResultsDir}" />

        <!-- and finally distribution dir -->
        <mkdir dir="${DistDir}" />
    </target>

    <!-- ***********************************************
       - supporting dummy tasks
       - ***********************************************-->


    <!-- ***********************************************
       - clean - Removes all generated files/directories
       - ***********************************************-->

    <target name="clean">
        <delete dir="${BuildDir}"/>
        <delete dir="${DocDir}"/>
        <delete dir="${TestDir}"/>
        <delete dir="${DistDir}"/>
        <delete file="coverage.ec" />
    </target>

    <target name="compile" depends="prepare">
        <javac SrcDir="${JavaSrcDir}" destdir="${BuildClassesDir}"
            debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <include name="org/codehaus/**/*.java" />
            <include name="test/**/*.java" />
            <classpath refid="compile-classpath" />
        </javac>
        <!-- Let's also compile micro-benchmarks... -->
        <javac SrcDir="${SrcDir}/perf" destdir="${BuildClassesDir}"
            debug="false"
        >
            <classpath>
               <fileset dir="${LibDir}/perf">
                    <include name="*.jar" />
               </fileset>
            </classpath>
            <include name="**/*.java" />
        </javac>
    </target>

    <!-- Dummy target that just includes all individual jars... --> 
    <target name="jars"
       depends="jar.asl"
    />

    <target name="jar.asl" depends="compile">
        <jar jarfile="${BuildDir}/jackson-${IMPL_VERSION}.jar"
         filesonly="true" >
          <manifest>
            <attribute name="Built-By" value="${user.name}"/>
            <attribute name="Specification-Title"   value="${JSON_TITLE}"/>
            <attribute name="Specification-Version" value="${JSON_VERSION}"/>
            <attribute name="Specification-Vendor"  value="${JSON_VENDOR}"/>
            <attribute name="Implementation-Title"   value="${IMPL_TITLE}"/>
            <attribute name="Implementation-Version" value="${IMPL_VERSION}"/>
            <attribute name="Implementation-Vendor"  value="${IMPL_VENDOR}"/>
          </manifest>
          <fileset dir="${BuildClassesDir}">
              <patternset refid="dist-class-files" />
          </fileset>
          <metainf dir="${RelNotesDir}">
            <include name="LICENSE" />
            <include name="NOTICE" />
            <include name="ASL2.0" />
          </metainf>
        </jar>
    </target> 

    <target name="javadoc" depends="prepare">
        <!-- Build a dirpath that contains just the "source" tree -->
        <javadoc windowtitle="${ProjectName}"
            destdir="${JavaDocDir}" 
            author="true" 
            version="true">
            <packageset dir="${JavaSrcDir}" defaultexcludes="yes">
                <include name="org/codehaus/**" />
            </packageset>
            <classpath refid="compile-classpath" />
        </javadoc>
    </target> 
 
    <target name="dist" depends="compile,jars,javadoc"
    >
       <!-- First, let's copy the binary jars to dist -->
       <copy todir="${DistDir}">
          <fileset dir="${BuildDir}" includes="*.jar" />
       </copy>
       <!-- Then let's create the source distribution tar package
          -->
       <tar basedir="${basedir}" destfile="${DistDir}/jackson-src-${IMPL_VERSION}.tar">
          <patternset refid="dist-src-files" />
       </tar>
       <gzip zipfile="${DistDir}/jackson-src-${IMPL_VERSION}.tar.gz" src="${DistDir}/jackson-src-${IMPL_VERSION}.tar" />
       <delete file="${DistDir}/jackson-src-${IMPL_VERSION}.tar" />

       <!-- as well as zip
          -->
       <zip basedir="${basedir}" destfile="${DistDir}/jackson-src-${IMPL_VERSION}.zip">
          <patternset refid="dist-src-files" />
       </zip>

       <!-- Then copy javadocs -->
       <copy todir="${DistDir}">
         <fileset dir="${JavaDocDir}/.." includes="javadoc/**/*" />
       </copy>
       <!-- Plus, let's also just copy README and compatibility files, in
            addition to being included in source package
         -->
       <copy todir="${DistDir}" >
            <fileset dir="." includes="release-notes/*" />
            <fileset dir="." includes="release-notes/asl/*" />
            <fileset dir="." includes="release-notes/lgpl/*" />
       </copy>
       <!-- And also additional Maven stuff -->
       <copy todir="${DistDir}">
            <fileset dir="${SrcDir}/maven" includes="*.pom" />
            <globmapper from="*.pom" to="*-${IMPL_VERSION}.pom" />
            <filterset>
              <filter token="VERSION" value="${IMPL_VERSION}" />
            </filterset>
       </copy>
    </target>

    <target name="all" depends="clean,javadoc,test,dist">
        <!-- This target simply depends on others to do its job -->
    </target>

    <!--*********************************************************************-->
    <!-- Tasks from here down are in support of junit tests.                 -->
    <!--*********************************************************************-->
    <target name="all-tests" depends="test" />


    <!-- Compiling and running test cases
      -->

    <target name="test.compile" depends="compile">
        <javac SrcDir="${TestSrcDir}" destdir="${TestClassesDir}"
            debug="true"
        >
            <include name="**/*.java" />
            <classpath refid="compile-classpath" />
            <classpath>
                <pathelement path="${BuildClassesDir}"/>  
                <path refid="junit-libs"/>
            </classpath>
        </javac>
    </target>


    <target name="test" depends="test.compile">
       <!-- showoutput 'yes' to allow outputting debug msgs... -->
        <junit fork="no" printsummary="yes" haltonfailure="no"
         showoutput="yes">
            <batchtest fork="no" todir="${TestXmlResultsDir}">
                <fileset dir="${TestClassesDir}">
                    <!-- Need to exclude inner classes... -->
                    <exclude name="**/*$*.class"/>
                    <include name="**/Test*.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml" />
            <classpath refid="compile-classpath" />
            <classpath>
                <pathelement path="${BuildClassesDir}" />
                <pathelement location="${TestClassesDir}" /> 
                <path refid="junit-libs"/>
            </classpath>     
        </junit>

        <junitreport todir="${TestResultsDir}">
            <fileset dir="${TestXmlResultsDir}">
                <include name="TEST-*.xml" />
            </fileset>
            <report todir="${TestResultsDir}" />
        </junitreport>
    </target>

    <target name="test-emma" depends="test.compile">
      <!-- First, need to instrument using Emma -->
      <!-- This is silly, but apparently the only way to avoid
           instrumenting and testing test/perf auxiliary classes
        -->
      <property name="emma.tmp.dir" value="${BuildDir}/emma-tmp" />
      <path id="emma-classpath">
          <pathelement location="${emma.tmp.dir}" />
      </path>
      <copy toDir="${emma.tmp.dir}">
        <fileset dir="${BuildClassesDir}">
          <include name="org/codehaus/**/*.class" />
        </fileset>           	
      </copy>
      <emma enabled="true"> <!--  verbosity="verbose" -->
        <instr instrpathref="emma-classpath"
             destdir="${EmmaBuildClassesDir}"	
             metadatafile="${emma.coverage.dir}/metadata.emma"
             merge="true"
 mode="fullcopy"
        />
      </emma>
      <!-- Ok, so let's just nuke the stupid test classes...
        -  ... for which there are 2 possible locations...
        -->
      <delete dir="${EmmaBuildClassesDir}/classes/test"/>
      <delete dir="${EmmaBuildClassesDir}/test"/>

      <!-- Then run tests. Note: need to fork for Emma to work...? -->
      <junit fork="once" printsummary="yes" haltonfailure="no"
         showoutput="yes">
           <batchtest fork="yes" todir="${TestXmlResultsDir}">
                <fileset dir="${TestClassesDir}">
                    <exclude name="**/*$*.class"/>
      <!-- Note: to speed up other tests, uncomment these slow ones:
        -->
      <!--
                    <exclude name="**/TestStringGeneration.class"/>
-->
                    <include name="**/Test*.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml" />
            <!-- Emma jars: -->
            <classpath>
                <pathelement path="${EmmaBuildClassesDir}/classes" />
                <pathelement location="${LibDir}/emma/emma.jar" /> 
                <path refid="junit-libs"/>
            </classpath>     
            <classpath path="${TestClassesDir}" />
        </junit>

       <!-- Then Emma coverage reporting... -->

       <emma enabled="true"> <!-- verbosity="verbose"  -->
        <report sourcepath="${JavaSrcDir}" >
          <fileset dir="${emma.coverage.dir}" >
            <include name="*.emma" />
          </fileset>
          <fileset dir="${basedir}" >
            <include name="coverage.ec" />
          </fileset>
         <txt outfile="${emma.coverage.dir}/coverage.txt" />
         <html outfile="${emma.coverage.dir}/coverage.html" />
        </report>
       </emma>

        <!-- Don't really need actual JUnit output do we? -->
        <junitreport todir="${TestResultsDir}">
            <fileset dir="${TestXmlResultsDir}">
                <include name="TEST-*.xml" />
            </fileset>
            <report todir="${TestResultsDir}" />
        </junitreport>
        <!--
        -->
    </target>

    <target name="test-cobertura" depends="test.compile">
      <!-- First, need to instrument classes -->
      <property name="cobertura.instr.dir" value="${BuildDir}/cobertura-instr" />
      <cobertura-instrument todir="${cobertura.instr.dir}">
        <fileset dir="${BuildClassesDir}">
          <include name="**/*.class"/>
        </fileset>
      </cobertura-instrument>

      <junit fork="once" printsummary="yes" haltonfailure="no" showoutput="yes"
        maxmemory="300M"
      >
        <sysproperty key="net.sourceforge.cobertura.datafile" file="${basedir}/cobertura.ser" />
            <batchtest fork="no" todir="${TestXmlResultsDir}">
                <fileset dir="${TestClassesDir}">
                    <!-- Need to exclude inner classes... -->
                    <exclude name="**/*$*.class"/>

<!-- !!!! TEST -->
                    <exclude name="**/TestStringGeneration.class"/>

                    <include name="**/Test*.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml" />
            <!-- Order is important: must first have instrumented classes -->
            <classpath location="${cobertura.instr.dir}" />

            <classpath refid="compile-classpath" />
            <!-- Actual tests: -->
            <classpath path="${TestClassesDir}" />
            <!-- Cobertura support: -->
            <classpath refid="cobertura.lib" />
            <classpath>
                <!-- Note: while this may seem superfluous, it is actually
                     needed because Cobertura does not instrument things
                     like interfaces. So some of the class files are
                     needed from non-instrumented location
                  -->
                <pathelement path="${BuildClassesDir}" />
                <path refid="junit-libs"/>
            </classpath>     
        </junit>
        <!-- and then reporting -->
        <cobertura-report format="html" destdir="${cobertura.coverage.dir}" >
          <fileset dir="${JavaSrcDir}">
            <include name="**/*.java" />
          </fileset>
        </cobertura-report>

        <!-- Let's also report junit results? (at least if they fail) -->
<!--
        <junitreport todir="${TestResultsDir}">
            <fileset dir="${TestXmlResultsDir}">
                <include name="TEST-*.xml" />
            </fileset>
            <report todir="${TestResultsDir}" />
        </junitreport>
-->
    </target>

</project>
