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

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

    <!-- Source directories -->
    <property name="dir.src" location="${basedir}/src" />
    <property name="dir.src.java.core" location="${dir.src}/java" />
    <property name="dir.src.java.mapper" location="${dir.src}/mapper/java" />
    <property name="dir.src.java.jaxrs" location="${dir.src}/jaxrs/java" />
    <property name="dir.src.java.xc" location="${dir.src}/xc/java" />
    <property name="dir.src.java.smile" location="${dir.src}/smile/java" />
    <property name="dir.src.java.mrbean" location="${dir.src}/mrbean/java" />
    <property name="dir.src.resource.jaxrs" location="${dir.src}/jaxrs/resources" />
    <property name="dir.src.maven" location="${dir.src}/maven" />
    <property name="dir.src.sample" location="${dir.src}/sample" />
    <property name="dir.src.tools" location="${dir.src}/tools" />
    <property name="dir.releasenotes" location="${basedir}/release-notes" />

    <!-- Libs -->
    <property name="dir.lib" location="${basedir}/lib" />
    <!-- Build-related -->
    <property name="dir.build" location="${basedir}/build" />
    <property name="dir.build.classes.core" location="${dir.build}/classes/core" />
    <property name="dir.build.classes.mapper" location="${dir.build}/classes/mapper" />
    <property name="dir.build.classes.jaxrs" location="${dir.build}/classes/jaxrs" />
    <property name="dir.build.classes.xc" location="${dir.build}/classes/xc" />
    <property name="dir.build.classes.smile" location="${dir.build}/classes/smile" />
    <property name="dir.build.classes.mrbean" location="${dir.build}/classes/mrbean" />
    <!-- both "sample" and "tools" java code goes under "extra" -->
    <property name="dir.build.classes.extra" location="${dir.build}/classes/extra" />

    <!-- Documentation -->
    <property name="dir.doc" location="${basedir}/doc" />
    <property name="dir.javadoc" location="${dir.build}/javadoc" />

    <!-- Distribution -->
    <property name="dir.dist" location="${basedir}/dist" />
    <property name="dir.snapshot" location="${basedir}/build/snapshot" />

    <!-- 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_CORE" value="Jackson JSON processor" />
    <property name="IMPL_TITLE_MAPPER" value="Data mapper for Jackson JSON processor" />
    <property name="IMPL_TITLE_JAXRS" value="JAX-RS provider for JSON content type, using Jackson data binding" />
    <property name="IMPL_TITLE_XC" value="XML Compatibility extensions for Jackson data binding" />
    <property name="IMPL_TITLE_SMILE" value="Jackson Binary format (aka Smile) handling functionality" />
    <property name="IMPL_TITLE_MRBEAN" value="Jackson Bean Materializer (aka Mr. Bean)" />

    <property name="IMPL_VERSION" value="1.6.1" />
    <property name="IMPL_VENDOR" value="http://fasterxml.com" />

    <patternset id="dist-all-source-files">
          <include name="README.txt" />
          <include name="build*.xml" />
          <include name="release-notes/*" />
          <include name="DEV/contributor*" />
          <include name="src/**/*.java" />
          <include name="src/VERSION.txt" />
          <include name="src/java/**/*.html" />
          <include name="src/maven/*.pom" />
          <include name="release-notes/*" />
          <include name="release-notes/asl/*" />
          <include name="release-notes/lgpl/*" />
          <!-- 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>

    <!-- some build tasks are refactored out of the main task -->
    <import file="build-osgi.xml" />
    <import file="build-maven-deploy.xml" />
    <import file="build-coverage.xml" />
    <import file="build-test.xml" />


    <!--*********************************************************************-->
    <!-- The readme target shows a brief description of all targets          -->
    <!-- supported by this ant build file                                    -->
    <!--*********************************************************************-->
    <target name="readme">
        <echo message = "${ant.project.name}'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)  build - Compile all code, run unit tests" />
        <echo message = "4)  jars - Compile and create all jars for non-test ${ant.project.name} code" />
        <echo message = "5)  javadoc - Generate ${ant.project.name} code documentation." />
        <echo message = "6)  test - Run JUnit tests." />
        <echo message = "7)  dist - Create distribution directory and copy necessary files there" />
        <echo message = "8) all - Run clean, compile, test, javadoc," />
        <echo message = "         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="${dir.build}" />
        <mkdir dir="${dir.build.classes.core}" />
        <mkdir dir="${dir.build.classes.mapper}" />
        <mkdir dir="${dir.build.classes.jaxrs}" />
        <mkdir dir="${dir.build.classes.xc}" />
        <mkdir dir="${dir.build.classes.smile}" />
        <mkdir dir="${dir.build.classes.mrbean}" />
        <mkdir dir="${dir.build.classes.extra}" />

        <!-- make docs directories -->
        <mkdir dir="${dir.doc}" />
        <mkdir dir="${dir.javadoc}" />

        <!-- and finally distribution dir -->
        <mkdir dir="${dir.dist}" />
        <mkdir dir="${dir.snapshot}" />
    	<!-- 1.6.0: also add VERSION marker file -->
        <copy todir="${dir.build}">
            <fileset dir="${dir.src}" includes="VERSION.txt" />
            <filterset>
                <filter token="VERSION" value="${IMPL_VERSION}" />
            </filterset>
        </copy>

    </target>

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


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

    <target name="clean">
        <delete dir="${dir.build}"/>
        <delete dir="${dir.doc}"/>
        <delete dir="${dir.test}"/>
        <delete dir="${dir.dist}"/>
        <delete file="cobertura.ser" />
    </target>

    <target name="build" depends="compile, all-tests" />

    <target name="compile" depends="compile.all" />
    <target name="compile.all" depends="
compile.main, test.compile, compile.extra, compile.perf" />
    <target name="compile.main"
      depends="compile.core, compile.mapper, compile.jaxrs, compile.xc,
compile.smile, compile.mrbean" />

    <target name="compile.core" depends="prepare">
        <javac srcdir="${dir.src.java.core}" destdir="${dir.build.classes.core}"
            source="1.5" target="1.5"
            debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <include name="org/codehaus/**/*.java" />
        </javac>
    	<!-- 1.6, [JACKSON-278]: need to copy VERSION info along (so unit tests see it) -->
        <copy file="${dir.build}/VERSION.txt" toDir="${dir.build.classes.core}/org/codehaus/jackson/impl" />
    </target>

    <target name="compile.mapper" depends="compile.core">
        <javac srcdir="${dir.src.java.mapper}" destdir="${dir.build.classes.mapper}"
            source="1.5" target="1.5"
            debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <include name="org/codehaus/jackson/**/*.java" />
            <!-- mapper builds on core classes -->
            <classpath>
               <pathelement path="${dir.build.classes.core}"/>  
               <!-- We support some ext libs (like Joda time) -->
               <fileset dir="${dir.lib}/ext">
                    <include name="*.jar" />
               </fileset>
            </classpath>
        </javac>
    	<!-- 1.6, [JACKSON-278]: need to copy VERSION info along (so unit tests see it) -->
        <copy file="${dir.build}/VERSION.txt" toDir="${dir.build.classes.mapper}/org/codehaus/jackson/map" />
    </target>

    <target name="compile.xc" depends="compile.mapper">
        <javac srcdir="${dir.src.java.xc}" destdir="${dir.build.classes.xc}"
            source="1.5" target="1.5"
            debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <include name="org/codehaus/jackson/**/*.java" />
            <!-- builds on core and mapper classes -->
            <classpath>
               <pathelement path="${dir.build.classes.core}"/>  
               <pathelement path="${dir.build.classes.mapper}"/>  
               <!-- For JDK 1.5 build, need JAXB API -->
               <fileset dir="${dir.lib}/jaxb">
                    <include name="*.jar" />
               </fileset>
               <fileset dir="${dir.lib}/xml">
                    <include name="*.jar" />
               </fileset>
            </classpath>
        </javac>
    	<!-- 1.6, [JACKSON-278]: need to copy VERSION info along (so unit tests see it) -->
        <copy file="${dir.build}/VERSION.txt" toDir="${dir.build.classes.xc}/org/codehaus/jackson/xc" />
    </target>

    <target name="compile.jaxrs" depends="compile.mapper,compile.xc">
        <javac srcdir="${dir.src.java.jaxrs}" destdir="${dir.build.classes.jaxrs}"
            source="1.5" target="1.5"
            debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <include name="org/codehaus/jackson/**/*.java" />
            <!-- builds on core and mapper classes -->
            <classpath>
               <fileset dir="${dir.lib}/jaxrs">
                    <include name="*.jar" />
               </fileset>
               <pathelement path="${dir.build.classes.core}"/>  
               <pathelement path="${dir.build.classes.mapper}"/>  
               <!-- this is optional dependency, but needed for compilation -->
               <pathelement path="${dir.build.classes.xc}"/>
            </classpath>
        </javac>
    	<!-- 1.6, [JACKSON-278]: need to copy VERSION info along (so unit tests see it) -->
        <copy file="${dir.build}/VERSION.txt" toDir="${dir.build.classes.jaxrs}/org/codehaus/jackson/jaxrs" />
    </target>

    <target name="compile.smile" depends="compile.core">
        <javac srcdir="${dir.src.java.smile}" destdir="${dir.build.classes.smile}"
            source="1.5" target="1.5"
            debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <include name="org/codehaus/jackson/smile/**/*.java" />
            <!-- builds on core classes -->
            <classpath>
               <pathelement path="${dir.build.classes.core}"/>  
            </classpath>
        </javac>
    	<!-- 1.6, [JACKSON-278]: need to copy VERSION info along (so unit tests see it) -->
        <copy file="${dir.build}/VERSION.txt" toDir="${dir.build.classes.smile}/org/codehaus/jackson/smile" />
    </target>

    <target name="compile.mrbean" depends="compile.core">
        <javac srcdir="${dir.src.java.mrbean}" destdir="${dir.build.classes.mrbean}"
            source="1.5" target="1.5"
            debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <include name="org/codehaus/jackson/mrbean/**/*.java" />
            <!-- builds on core and mapper classes -->
            <classpath>
               <pathelement path="${dir.build.classes.core}"/>  
               <pathelement path="${dir.build.classes.mapper}"/>  
               <fileset dir="${dir.lib}/repackaged">
                    <include name="jackson-asm*.jar" />
               </fileset>
            </classpath>
        	<!-- 1.6, [JACKSON-278]: need to copy VERSION info along (so unit tests see it) -->
        </javac>
        <copy file="${dir.build}/VERSION.txt" toDir="${dir.build.classes.mrbean}/org/codehaus/jackson/mrbean" />
        <!-- also, unpack classes from repackaged asm jar, for OSGi bundle -->
        <unjar dest="${dir.build.classes.mrbean}">
          <fileset dir="${dir.lib}/repackaged">
            <include name="jackson-asm*.jar" />
          </fileset>
        </unjar>
    </target>

    <target name="compile.extra" depends="compile.main">
        <javac destdir="${dir.build.classes.extra}"
            source="1.5" target="1.5" debug="true"
        >
            <compilerarg value="-Xlint:unchecked" />
            <src path="${dir.src.sample}" /> 
            <src path="${dir.src.tools}" /> 
            <include name="**/*.java" />
            <!-- need core and mapper classes -->
            <classpath>
               <pathelement path="${dir.build.classes.core}"/>
               <pathelement path="${dir.build.classes.mapper}"/>
            </classpath>
        </javac>
    </target>

    <target name="compile.perf" depends="compile.main">
      <mkdir dir="${dir.build.classes.perf}" />
        <!-- Let's also compile micro-benchmarks... -->
        <javac srcdir="${dir.src}/perf" destdir="${dir.build.classes.perf}" debug="true"
        >
            <classpath>
               <fileset dir="${dir.lib}/perf">
                    <include name="*.jar" />
               </fileset>
               <pathelement path="${dir.build.classes.core}"/>  
               <pathelement path="${dir.build.classes.mapper}"/>  
               <pathelement path="${dir.build.classes.smile}"/>  
            </classpath>
            <include name="**/*.java" />
        </javac>
    </target>

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

    <target name="javadoc" depends="compile.all">
        <!-- Build a dirpath that contains just the "source" tree -->
        <javadoc windowtitle="Jackson JSON Processor"
            destdir="${dir.javadoc}" 
            author="true" version="true" use="true">

            <classpath>
               <fileset dir="${dir.lib}/jaxrs">
                    <include name="*.jar" />
               </fileset>
            </classpath>

            <packageset dir="${dir.src.java.core}" defaultexcludes="yes">
                <include name="org/codehaus/**" />
            </packageset>
            <packageset dir="${dir.src.java.mapper}" defaultexcludes="yes">
                <include name="org/codehaus/**" />
            </packageset>
            <packageset dir="${dir.src.java.jaxrs}" defaultexcludes="yes">
                <include name="org/codehaus/jackson/jaxrs/**" />
            </packageset>
            <packageset dir="${dir.src.java.xc}" defaultexcludes="yes">
                <include name="org/codehaus/jackson/xc/**" />
            </packageset>
            <packageset dir="${dir.src.java.smile}" defaultexcludes="yes">
                <include name="org/codehaus/jackson/smile/**" />
            </packageset>
            <packageset dir="${dir.src.java.mrbean}" defaultexcludes="yes">
                <include name="org/codehaus/jackson/mrbean/**" />
            </packageset>

        	<!-- External JavaDocs to link: -->
        	
            <!-- Joda time... -->
            <link href="http://joda-time.sourceforge.net/api-release" />
            <!-- Regular JDK 6 classes  -->
            <link href="http://java.sun.com/javase/6/docs/api" />
            <!-- And JAX-RS (jsr-311) as well -->
            <link href="http://jackson.codehaus.org/javadoc/jax-rs/1.0" />

            <group title="Jackson Core" packages="org.codehaus.jackson*" />
            <group title="Jackson Mapper"
               packages="org.codehaus.jackson.map*:org.codehaus.jackson.node:org.codehaus.jackson.schema"
            />
            <group title="Jackson JAX-RS provider" packages="org.codehaus.jackson.jaxrs" />
            <group title="Jackson XML Compatibility" packages="org.codehaus.jackson.xc" />
            <group title="Jackson Mr Bean" packages="org.codehaus.jackson.mrbean" />
            <group title="Jackson Smile Format" packages="org.codehaus.jackson.smile" />
        </javadoc>
    </target> 

  <!-- New with 1.6, "jackson-all" combo jar -->
    <target name="jar.all" depends="jars.asl, jars.other">
      <jar jarfile="${dir.build}/jackson-all-${IMPL_VERSION}.jar"
          filesonly="true" index="true" level="9">
<!-- Bah: need Ant 1.8 for this:  indexMetaInf="true"  -->
        <manifest>
          <attribute name="Built-By" value="${user.name}"/>
          <attribute name="Implementation-Title"   value="Jackson"/>
          <attribute name="Implementation-Version" value="${IMPL_VERSION}"/>
          <attribute name="Implementation-Vendor"  value="${IMPL_VENDOR}"/>
          <attribute name="Specification-Title"   value="${JSON_TITLE}"/>
          <attribute name="Specification-Version" value="${JSON_VERSION}"/>
          <attribute name="Specification-Vendor"  value="${JSON_VENDOR}"/>
       </manifest>
       <metainf dir="${dir.releasenotes}/asl" includes="*" />
       <fileset dir="${dir.build.classes.core}" includes="**/*.class" />
       <fileset dir="${dir.build.classes.mapper}" includes="**/*.class" />
       <fileset dir="${dir.build.classes.jaxrs}" includes="**/*.class" />
       <fileset dir="${dir.build.classes.xc}" includes="**/*.class" />
       <fileset dir="${dir.build.classes.smile}" includes="**/*.class" />
       <fileset dir="${dir.build.classes.mrbean}" includes="**/*.class" />
      </jar>
    </target>


    <!-- Generic distribution target builds the structure we copy over
         to the website.
      --> 
    <target name="dist" depends="compile.all,jars,javadoc"
    >
       <!-- First, let's copy the binary jars to dist -->
       <copy todir="${dir.dist}">
          <fileset dir="${dir.build}" includes="*.jar" />
       </copy>

       <!-- Then let's create the source distribution tar packages
          -->
       <!-- Need to first copy to a tmp dir, to get the additional
          directory (so tar/zip contents won't explode directly
          in current dir)
        -->
       <property name="DIST_FILENAME" value="jackson-src-${IMPL_VERSION}" />
       <property name="DIST_DIR" value="${DIST_FILENAME}" />

       <!-- better always clean it up, if it exists... -->
       <delete dir="${dir.build}/${DIST_DIR}" />
       <mkdir dir="${dir.build}/${DIST_DIR}" />

       <copy todir="${dir.build}/${DIST_DIR}">
         <fileset dir="${basedir}">
           <patternset refid="dist-all-source-files" />
         </fileset>
       </copy>

       <!-- then create tarball, zip -->
       <tar basedir="${dir.build}"
        includes="${DIST_DIR}/**"
        destfile="${dir.dist}/${DIST_FILENAME}.tar.gz"
        compression="gzip"
      />
       <zip basedir="${dir.build}"
        includes="${DIST_DIR}/**"
        destfile="${dir.dist}/${DIST_FILENAME}.zip"
      />

       <!-- And create source jars for IDE support; separate for core, mapper
            and both license types
         -->
       <jar destfile="${dir.dist}/jackson-core-asl-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.core}"
          includes="org/codehaus/jackson/**"
       />
       <jar destfile="${dir.dist}/jackson-mapper-asl-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.mapper}"
          includes="org/codehaus/jackson/map/**"
       />

       <jar destfile="${dir.dist}/jackson-core-lgpl-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.core}"
          excludes="org/codehaus/jackson/map/**"
          includes="org/codehaus/jackson/**"
       />
       <jar destfile="${dir.dist}/jackson-mapper-lgpl-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.mapper}"
          includes="org/codehaus/jackson/map/**"
       />
       <jar destfile="${dir.dist}/jackson-jaxrs-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.jaxrs}"
          includes="org/codehaus/jackson/jaxrs/**"
       />
       <jar destfile="${dir.dist}/jackson-xc-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.xc}"
          includes="org/codehaus/jackson/xc/**"
       />
       <jar destfile="${dir.dist}/jackson-smile-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.smile}"
          includes="org/codehaus/jackson/smile/**"
       />
       <jar destfile="${dir.dist}/jackson-mrbean-${IMPL_VERSION}-sources.jar"
          filesonly="true" compress="true" basedir="${dir.src.java.mrbean}"
          includes="org/codehaus/jackson/mrbean/**"
       />

       <!-- Then copy javadocs -->
       <copy todir="${dir.dist}">
         <fileset dir="${dir.javadoc}/.." includes="javadoc/**/*" />
       </copy>
       <!-- Plus, let's also just copy README and compatibility files, in
            addition to being included in source package
         -->
       <copy todir="${dir.dist}" >
            <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="${dir.dist}">
            <fileset dir="${dir.src}/maven" includes="*.pom" />
            <globmapper from="*.pom" to="*-${IMPL_VERSION}.pom" />
            <filterset>
                <filter token="VERSION" value="${IMPL_VERSION}" />
            </filterset>
        </copy>

        <!-- 12-Jun-2009, tatu: Trying to make Maven snapshots work...
          -->
        <copy todir="${dir.snapshot}">
            <fileset dir="${dir.src}/maven" includes="*.pom" />
            <globmapper from="*.pom" to="*-${IMPL_VERSION}-SNAPSHOT.pom" />
            <filterset>
                <filter token="VERSION" value="${IMPL_VERSION}-SNAPSHOT" />
            </filterset>
        </copy>

        <!-- 03-Dec-2008, tatu: Let's validate well-formedness of
          resulting files (to avoid things like [JACKSON-25])
         -->
        <xmlvalidate lenient="true">
        <!-- lenient: check only well-formedness, no dtd/schema (yet) -->
            <fileset dir="${dir.dist}" includes="*.pom" />
            <fileset dir="${dir.snapshot}" includes="*.pom" />
        </xmlvalidate>
    </target>

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


</project>
