<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  The ASF licenses this file to You
  under the Apache License, Version 2.0 (the "License"); you may not
  use this file except in compliance with the License.
  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.  For additional information regarding
  copyright in this work, please see the NOTICE file in the top level
  directory of this distribution. -->
<project name="abdera" default="build" basedir="..">
  <!--

  abdera Build
    targets:
      * build (compile everything)
      * test  (compile and run test cases)
      * dist  (compile, test and create jars)
      * clean (rather self explanatory)
      * docs  (build the javadocs)
      
   Set the ABDERA_XMLSECURITY=yes environment variable to build the security module
   Set the ABDERA_SPRING=yes environment variable to build the spring module
   
-->
  <property name="version" value="0.4.0-incubating-SNAPSHOT" />
  <property name="site" value="../site" />
  <property name="work" value="${basedir}/build/work" />
  <property name="test" value="${basedir}/build/test" />
  <property name="dist" value="${basedir}/dist" />
  <property name="dist_lib" value="${dist}/lib" />
  <property name="docs" value="${dist}/docs" />
  <property name="javadocs" value="${docs}/api" />
  <property name="core" value="${basedir}/core" />
  <property name="core.src" value="${core}/src/main/java" />
  <property name="core.resources" value="${core}/src/main/resources" />
  <property name="core.test" value="${core}/src/test/java" />
  <property name="core.test.resources" value="${core}/src/test/resources" />
  <property name="core.work" value="${work}/core" />
  <property name="core.jar" value="${dist}/${ant.project.name}.core.${version}.jar" />
  <property name="parser" value="${basedir}/parser" />
  <property name="parser.src" value="${parser}/src/main/java" />
  <property name="parser.resources" value="${parser}/src/main/resources" />
  <property name="parser.test" value="${parser}/src/test" />
  <property name="parser.test.java" value="${parser}/src/test/java" />
  <property name="parser.test.resources" value="${parser}/src/test/resources" />
  <property name="parser.work" value="${work}/parser" />
  <property name="parser.jar" value="${dist}/${ant.project.name}.parser.${version}.jar" />
  <property name="server" value="${basedir}/server" />
  <property name="server.src" value="${server}/src/main/java" />
  <property name="server.work" value="${work}/server" />
  <property name="server.jar" value="${dist}/${ant.project.name}.server.${version}.jar" />
  <property name="server.test.java" value="${server}/src/test/java" />
  <property name="server.test.resources" value="${server}/src/test/resources" />

  <property name="complete.jar" value="${dist}/${ant.project.name}.complete.${version}.jar" />
  
  <property name="spring" value="${basedir}/spring" />
  <property name="spring.src" value="${spring}/src/main/java" />
  <property name="spring.resources" value="${spring}/src/main/resources" />
  <property name="spring.test.src" value="${spring}/src/test/java" />
  <property name="spring.test.resources" value="${spring}/src/test/resources" />
  <property name="spring.work" value="${work}/spring" />
  <property name="spring.jar" value="${dist}/${ant.project.name}.spring.${version}.jar" />
  <property name="security" value="${basedir}/security" />
  <property name="security.src" value="${security}/src/main/java" />
  <property name="security.work" value="${work}/security" />
  <property name="security.test.java" value="${security}/src/test/java" />
  <property name="security.test.resources" value="${security}/src/test/resources" />
  <property name="security.jar" value="${dist}/${ant.project.name}.security.${version}.jar" />
  <property name="client" value="${basedir}/client" />
  <property name="client.src" value="${client}/src/main/java" />
  <property name="client.work" value="${work}/client" />
  <property name="client.test.java" value="${client}/src/test/java" />
  <property name="client.jar" value="${dist}/${ant.project.name}.client.${version}.jar" />
  
 
  <property name="extensions" value="${basedir}/extensions" />
  <property name="extensions.work" value="${work}/extensions" />
  <property name="extensions.jar.base" value="${dist}/ext/${ant.project.name}.extensions" />
  
  <!--
  <property name="extensions.src" value="${extensions}/src/main/java" />
  <property name="extensions.resources" value="${extensions}/src/main/resources" />
  <property name="extensions.test.java" value="${extensions}/src/test/java" />
  <property name="extensions.test.resources" value="${extensions}/src/test/resources" />
  <property name="extensions.jar" value="${dist}/${ant.project.name}.extensions.${version}.jar" />
  -->
  
  <property name="examples" value="${basedir}/examples" />
  <property name="examples.work" value="${work}/examples" />
  <property name="examples.src" value="${examples}/src/main/java" />
  
  <property name="debug" value="on" />

  <property environment="env" />

  <property name="dependencies" value="${basedir}/dependencies" />
  <property name="dependencies.work" value="${dependencies}/work" />

  <property name="i18n.src" value="${dependencies}/i18n/src" />
  <property name="i18n.src.java" value="${i18n.src}/main/java" />
  <property name="i18n.src.resources" value="${i18n.src}/main/resources" />
  <property name="i18n.version" value="${version}" />
  <property name="i18n.jar" value="${dependencies}/abdera-i18n-${i18n.version}.jar" />
  <property name="i18n.test.java" value="${i18n.src}/test/java" />
  
  <property file="${dependencies}/deps.properties" />

  <path id="jar.dependencies">
    <fileset dir="${dependencies}" includes="**/*.jar" />
    <fileset file="${i18n.jar}" />
  </path>

  <target name="compile.dependencies">
    <mkdir dir="${dependencies.work}/i18n" />
    
    <javac srcdir="${i18n.src.java}" classpathref="jar.dependencies" destdir="${dependencies.work}/i18n" debug="${debug}" />
    <javac srcdir="${i18n.test.java}" classpathref="jar.dependencies" classpath="${dependencies.work}/i18n" destdir="${test}" debug="${debug}" />
    <copy todir="${dependencies.work}/i18n">
      <fileset dir="${i18n.src.resources}" includes="**/*" />
    </copy>

    <mkdir dir="${dependencies.work}/i18n/META-INF" />
    <copy todir="${dependencies.work}/i18n/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
    <jar destfile="${i18n.jar}" basedir="${dependencies.work}/i18n" includes="org/apache/abdera/i18n/**/*" />

  </target>

  <target name="dependencies">
    <path id="">
      <fileset dir="dependencies" includes="*.jar" />
    </path>
  </target>

  <target name="init">
    <echo>
=====================================================
${ant.project.name}, ${version}
Working directory: ${work}
=====================================================
    </echo>

    <mkdir dir="${test}" />

    <condition property="do.download.feedvalidator.tests">
      <not>
        <available file="${parser.test.resources}/feedvalidator.org/testcases/atom" />
      </not>
    </condition>
    <condition property="do.download">
      <not>
        <and>
          <available file="${dependencies}/${geronimo.activation.jar}" />
          <available file="${dependencies}/${geronimo.servlet.jar}" />
          <available file="${dependencies}/${axiom.api.jar}" />
          <available file="${dependencies}/${axiom.impl.jar}" />
          <available file="${dependencies}/${jaxen.jar}" />
          <available file="${dependencies}/${log4j.jar}" />
          <available file="${dependencies}/${stax.api.jar}" />
          <available file="${dependencies}/${commons.logging.jar}" />
          <available file="${dependencies}/${commons.codec.jar}" />
          <available file="${dependencies}/${commons.httpclient.jar}" />
          <available file="${dependencies}/${junit.jar}" />
          <available file="${dependencies}/${wstx.jar}" />
          <available file="${dependencies}/${jetty.jar}" />
          <available file="${dependencies}/${jetty-util.jar}" />
          <available file="${dependencies}/${htmlparser.jar}" />
          <available file="${dependencies}/${htmlserializer.jar}" />
        </and>
      </not>
    </condition>
    <condition property="do.security">
      <istrue value="${env.ABDERA_XMLSECURITY}" />
    </condition>
    <condition property="do.download.security">
      <and>
        <istrue value="${do.security}" />
        <not>
          <and>
            <available file="${dependencies}/${xmlsecurity.jar}" />
            <available file="${dependencies}/${bouncycastle.jar}" />
          </and>
        </not>
      </and>
    </condition>
    <condition property="do.spring">
      <istrue value="${env.ABDERA_SPRING}" />
    </condition>
    <condition property="do.download.spring">
      <and>
        <istrue value="${do.spring}" />
        <not>
          <and>
            <available file="${basedir}/build/tools/${spring.zip}" />
          </and>
        </not>
      </and>
    </condition>

    <mkdir dir="${work}" />
    <manifest file="${work}/MANIFEST.MF">
      <attribute name="Specification-Title" value="Apache Abdera" />
      <attribute name="Specification-Version" value="${version}" />
      <attribute name="Specification-Vendor" value="The Apache Software Foundation - Incubator" />
      <attribute name="Implementation-Title" value="org.apache.abdera" />
      <attribute name="Implementation-Version" value="${version}" />
      <attribute name="Implementation-Vendor" value="The Apache Software Foundation - Incubator" />
    </manifest>

    <echo>Building Security? ${do.security}</echo>
    <echo>Building Spring? ${do.spring}</echo>

    <antcall target="download" />
    <antcall target="downloadsecurity" />
    <antcall target="downloadspring" />
  </target>

  <target name="compile.core" depends="init,compile.dependencies">
    <mkdir dir="${core.work}" />
    <javac srcdir="${core.src}" destdir="${core.work}" classpathref="jar.dependencies" debug="${debug}" />
    <javac srcdir="${core.test}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work}" debug="${debug}" />
    <mkdir dir="${core.work}/META-INF" />
    <copy todir="${core.work}">
      <fileset dir="${core.resources}" includes="**/*" />
    </copy>
    <copy todir="${test}">
      <fileset dir="${core.test.resources}">
        <include name="**" />
      </fileset>
    </copy>
    <copy todir="${core.work}/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
  </target>

  <target name="compile.parser" depends="init,compile.core">
    <mkdir dir="${parser.work}" />
    <javac srcdir="${parser.src}" destdir="${parser.work}" classpathref="jar.dependencies" classpath="${core.work}" debug="${debug}" />
    <javac srcdir="${parser.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work}" debug="${debug}" />
    <mkdir dir="${parser.work}/META-INF" />
    <copy todir="${parser.work}/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
    <copy todir="${parser.work}">
      <fileset dir="${parser.resources}" includes="**/*" />
    </copy>
    <copy todir="${test}">
      <fileset dir="${parser.test.resources}">
        <include name="**" />
      </fileset>
    </copy>
  </target>

  <target name="compile.server" depends="init, compile.core, compile.client">
    <mkdir dir="${server.work}" />
    <javac srcdir="${server.src}" destdir="${server.work}" classpathref="jar.dependencies" classpath="${core.work}" debug="${debug}" />
    <javac srcdir="${server.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${server.work};${client.work}" debug="${debug}" />
    <mkdir dir="${server.work}/META-INF" />
    <copy todir="${server.work}/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
    <copy todir="${test}">
      <fileset dir="${server.test.resources}">
        <include name="**" />
      </fileset>
    </copy>
  </target>
  
  <target name="compile.spring" depends="compile.server" if="do.spring">
    <path id="spring.dependencies">
      <path refid="jar.dependencies" />
      <fileset dir="${basedir}/build/tools/${spring.name}/dist" includes="**/*.jar" />
      <fileset dir="${basedir}/build/tools/${spring.name}/dist/modules" includes="**/*.jar" />
    </path>
    <mkdir dir="${spring.work}" />
    <javac srcdir="${spring.src}" destdir="${spring.work}" classpathref="spring.dependencies" classpath="${core.work};${server.work}" debug="${debug}" />
    <javac srcdir="${spring.test.src}" destdir="${test}" classpathref="spring.dependencies" classpath="${core.work};${parser.work};${spring.work};${server.work}" debug="${debug}" />
    <mkdir dir="${spring.work}/META-INF" />
    <copy todir="${spring.work}">
      <fileset dir="${spring.resources}" includes="**/*" />
    </copy>
    <copy todir="${test}">
      <fileset dir="${spring.test.resources}" includes="**/*" />
    </copy>
    <copy todir="${spring.work}/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
  </target>

  <target name="compile.security" depends="init, compile.core, compile.server" if="do.security">
    <mkdir dir="${security.work}" />
    <javac srcdir="${security.src}" destdir="${security.work}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${client.work};${server.work}" debug="${debug}" />
    <javac srcdir="${security.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${security.work};${client.work};${server.work}" debug="${debug}" />
    <mkdir dir="${security.work}/META-INF" />
    <copy todir="${test}">
      <fileset dir="${security.test.resources}" includes="**/*" />
    </copy>
    <copy todir="${security.work}/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
  </target>

  <target name="compile.client" depends="init,compile.core">
    <mkdir dir="${client.work}" />
    <javac srcdir="${client.src}" destdir="${client.work}" classpathref="jar.dependencies" classpath="${core.work};" debug="${debug}" />
    <javac srcdir="${client.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${extensions.work};${client.work}" debug="${debug}" />
    <mkdir dir="${client.work}/META-INF" />
    <copy todir="${client.work}/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
  </target>

  <target name="compile.examples" depends="init,compile.core,compile.parser,compile.server,compile.extensions,compile.security">
    <echo>Make sure the example code compiles...</echo>
    <mkdir dir="${examples.work}" />
    <javac srcdir="${examples.src}" destdir="${examples.work}" classpathref="jar.dependencies" 
      classpath="${core.work};${parser.work};${client.work};${server.work};${extensions.work}/gdata;${extensions.work}/main;${security.work};${extensions.work}/sharing;${extensions.work}/geo;${extensions.work}/serializer" debug="${debug}">
      <exclude unless="do.security" name="**/security/*.java" />
    </javac>
    <delete dir="${examples.work}" />
  </target>

  <target name="build" depends="init,compile.core,compile.parser,compile.server,compile.extensions,compile.client,compile.security,compile.examples,compile.spring">
  </target>

  <target name="docs" depends="init">
    <javadoc 
      packagenames="org.apache.abdera.*" 
      sourcepath="${core.src}:${security.src}:${server.src}:${client.src}:${spring.src}:${i18n.src.java}:${extensions}/gdata/src/main/java:${extensions}/geo/src/main/java:${extensions}/html/src/main/java:${extensions}/json/src/main/java:${extensions}/main/src/main/java:${extensions}/media/src/main/java:${extensions}/oauth/src/main/java:${extensions}/opensearch/src/main/java:${extensions}/serializer/src/main/java:${extensions}/sharing/src/main/java:${extensions}/wsse/src/main/java" 
      destdir="${javadocs}" 
      windowtitle="Abdera" 
      classpathref="jar.dependencies" />
    <replaceregexp match="Generated by javadoc (.*) on (.*) --" replace="Generated by javadoc --" flags="g" byline="true">
      <fileset dir="${javadocs}" includes="**/*.html" />
    </replaceregexp>
    <copy todir="${docs}">
      <fileset dir="${basedir}/docs/" includes="*.html" />
    </copy>
  </target>

  <target name="test" depends="build, download_feedvalidator_tests">
    
    <echo>Running i18n Tests...</echo>
    <java classpathref="jar.dependencies" classpath="${dependencies.work}/i18n:${test}" classname="org.apache.abdera.i18n.test.iri.TestSuite" fork="yes" />
    
    <echo>Running Core Tests...</echo>
    <java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${test}" classname="org.apache.abdera.test.core.TestSuite" fork="yes" />

    <echo>Running Stax Parser Tests...</echo>
    <java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${test}" classname="org.apache.abdera.test.parser.stax.TestSuite" fork="yes" />

    <echo>Running Client Tests...</echo>
    <java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${client.work}:${test}" classname="org.apache.abdera.test.client.TestSuite" fork="yes" />

    <echo>Running Server Tests...</echo>
    <java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${client.work}:${test}" classname="org.apache.abdera.protocol.server.test.TestSuite" fork="yes" />
    
    <antcall target="test.extensions" />
    
    <antcall target="test.security" />

  </target>

  <target name="test.security" if="do.security">
    <echo>Running Security Tests...</echo>
    <java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${security.work}:${client.work}:${test}" classname="org.apache.abdera.test.security.TestSuite" fork="yes">
      <arg line="${bouncycastle.provider}" />
    </java>
  </target>
	
	<target name="test.spring" depends="compile.spring" if="do.spring">
		<echo>Running Spring Tests...</echo>
		<path id="spring.dependencies">
		      <path refid="jar.dependencies" />
		      <fileset dir="${basedir}/build/tools/${spring.name}/dist" includes="**/*.jar" />
		      <fileset dir="${basedir}/build/tools/${spring.name}/dist/modules" includes="**/*.jar" />
		    </path>
		<java classpathref="spring.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${security.work}:${client.work}:${spring.work}:${test}" classname="org.apache.abdera.spring.TestSuite" fork="yes">
	    </java>
	</target>

  <target name="clean">
    <delete dir="${work}" />
    <delete dir="${test}" />
    <delete dir="${dist}" />
    <delete dir="${dependencies.work}" />
    <delete file="${i18n.jar}" />
    <delete>
      <fileset dir="${basedir}" includes="*.zip" />
      <fileset dir="${basedir}" includes="*.md5" />
    </delete>
  </target>

  <target name="dist" depends="clean,build,test,docs">
    <mkdir dir="${dist}" />
    <mkdir dir="${dist_lib}" />
   
    <jar destfile="${complete.jar}" manifest="${work}/MANIFEST.MF" >
      <fileset dir="${core.work}" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${core.work}" includes="META-INF/LICENSE,META-INF/NOTICE"/>
      <fileset dir="${parser.work}" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${server.work}" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${client.work}" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${dependencies.work}/i18n" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/main" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/json" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/html" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/html" includes="META-INF/*.htmlparser.txt,META-INF/*.serializer.txt" />
      <fileset dir="${extensions.work}/geo" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/gdata" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/media" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/oauth" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/opensearch" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/serializer" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/sharing" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions.work}/wsse" includes="**/*" excludes="META-INF/**/*"/>
      <fileset dir="${extensions}/complete/resources" includes="**/*" />
    </jar>
      
    
    <jar destfile="${core.jar}" basedir="${core.work}" manifest="${work}/MANIFEST.MF" />
    <jar destfile="${parser.jar}" basedir="${parser.work}" manifest="${work}/MANIFEST.MF" />
    <jar destfile="${server.jar}" basedir="${server.work}" manifest="${work}/MANIFEST.MF" />
    <jar destfile="${client.jar}" basedir="${client.work}" manifest="${work}/MANIFEST.MF" />
    <antcall target="dist.extensions" />
    <antcall target="dist.security" />
    <antcall target="dist.spring" />
    <copy todir="${dist_lib}">
      <fileset dir="${dependencies}" />
    </copy>
    <delete dir="${work}" />
    <delete dir="${test}" />
  </target>

  <target name="dist.security" if="do.security">
    <jar destfile="${security.jar}" basedir="${security.work}" manifest="${work}/MANIFEST.MF" />
    <jar destfile="${complete.jar}" update="true">
      <fileset dir="${security.work}" includes="**/*" excludes="META-INF/**/*" />
    </jar>
  </target>
  
  <target name="dist.spring" if="do.spring">
    <jar destfile="${spring.jar}" basedir="${spring.work}" manifest="${work}/MANIFEST.MF" />
  </target>

  <target name="zip" depends="retro">
    
    <antcall target="adapters" />
    
    <mkdir dir="${work}/dist/${ant.project.name}.${version}" />
    <mkdir dir="${work}/dist/${ant.project.name}.${version}/examples" />
    <copy todir="${work}/dist/${ant.project.name}.${version}">
      <fileset dir="${dist}">
        <include name="**/*.jar" />
        <include name="**/legal/*" />
        <exclude name="**/legal/retroweaver-LICENSE.txt" />
        <exclude name="**/*.retro.jar" />
        <exclude name="**/${bouncycastle.jar}" />
        <exclude name="**/${geronimo.servlet.jar}" />
        <exclude name="**/${jetty-util.jar}" />
        <exclude name="**/${jetty.jar}" />
        <exclude name="**/${junit.jar}" />
        <exclude name="**/retroweaver-rt-${retroweaver.version}.jar" />
        <exclude name="**/${xmlsecurity.jar}" unless="do.security" />
        <exclude name="**/${spring.mock.dir}" unless="do.spring" />
        <exclude name="**/${spring.web.dir}"  unless="do.spring" />
        <exclude name="**/${bouncycastle.jar}" />
        <exclude name="**/${bouncycastle.jar.retro}" />
      </fileset>
      <fileset dir="${docs}" includes="**/*" />
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
        <include name="README" />
      </fileset>
    </copy>
    <copy todir="${work}/dist/${ant.project.name}.${version}/examples">
      <fileset dir="${basedir}/examples" includes="**/*" excludes="**/pom.xml" />
    </copy>
    <zip destfile="${basedir}/${ant.project.name}.${version}.zip" basedir="${work}/dist/" />
    <checksum file="${basedir}/${ant.project.name}.${version}.zip" fileext=".md5" />
    <delete dir="${work}/dist/${ant.project.name}.${version}" />
    <mkdir dir="${work}/dist/${ant.project.name}.${version}.jdk142" />
    <mkdir dir="${work}/dist/${ant.project.name}.${version}.jdk142/examples" />
    <copy todir="${work}/dist/${ant.project.name}.${version}.jdk142">
      <fileset dir="${dist}">
        <include name="**/*.jar" />
        <include name="**/legal/*" />
        <exclude name="**/*.${version}.jar" />
        <exclude name="**/abdera-i18n-${i18n.version}.jar" />
        <exclude name="**/${bouncycastle.jar}" />
        <exclude name="**/${geronimo.servlet.jar}" />
        <exclude name="**/${jetty-util.jar}" />
        <exclude name="**/${jetty.jar}}" />
        <exclude name="**/${junit.jar}" />
        <exclude name="**/${xmlsecurity.jar}" unless="do.security" />
        <exclude name="**/${spring.mock.dir}" unless="do.spring" />
        <exclude name="**/${spring.web.dir}"  unless="do.spring" />
        <exclude name="**/${bouncycastle.jar}" />
        <exclude name="**/${bouncycastle.jar.retro}" />
      </fileset>
      <fileset dir="${docs}" includes="**/*" />
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
        <include name="README" />
      </fileset>
    </copy>
    <copy todir="${work}/dist/${ant.project.name}.${version}.jdk142/examples">
      <fileset dir="${basedir}/examples" includes="**/*" excludes="**/pom.xml" />
    </copy>
    <zip destfile="${basedir}/${ant.project.name}.${version}.jdk142.zip" basedir="${work}/dist/" />
    <checksum file="${basedir}/${ant.project.name}.${version}.jdk142.zip" fileext=".md5" />
    <delete dir="${work}/dist/${ant.project.name}.${version}.jdk142" />
    <mkdir dir="${work}/dist/${ant.project.name}.${version}.src" />
    <copy todir="${work}/dist/${ant.project.name}.${version}.src">
      <fileset dir="${basedir}">
        <exclude name="dist/**/*" />
        <exclude name="build/tools" />
        <exclude name="build/work" />
        <exclude name="build/tools/**/*" />
        <exclude name="build/work/**/*" />
        <exclude name="**/*.jar" />
        <exclude name="**/*.zip" />
        <exclude name="**/*.md5" />
        <exclude name="**/.project" />
        <exclude name="**/feedvalidator.org/**/*" />
        <exclude name="dependencies/work/**/*" />
      </fileset>
    </copy>
    <zip destfile="${basedir}/${ant.project.name}.${version}.src.zip" basedir="${work}/dist/" />
    <checksum file="${basedir}/${ant.project.name}.${version}.src.zip" fileext=".md5" />
    <delete dir="${work}" />
  </target>

  <target name="downloadsecurity" if="do.download.security">
    <parallel>
      <get src="${xmlsecurity.dir}/${xmlsecurity.jar}" dest="${dependencies}/${xmlsecurity.jar}" usetimestamp="true" />
      <get src="${bouncycastle.dir}/${bouncycastle.jar}" dest="${dependencies}/${bouncycastle.jar}" usetimestamp="true" />
    </parallel>
  </target>
  
  <target name="downloadspring" if="do.download.spring">
    <mkdir dir="${basedir}/build/tools"/>
    <get src="${spring.dir}/${spring.zip}" dest="${basedir}/build/tools/${spring.zip}" />
    <unzip src="${basedir}/build/tools/${spring.zip}" dest="${basedir}/build/tools/" overwrite="true" />
  </target>
  
  <target name="download" if="do.download">
    <echo>Downloading project dependencies.  This may take a moment</echo>
    <parallel>
      <get src="${geronimo.activation.dir}/${geronimo.activation.jar}" dest="${dependencies}/${geronimo.activation.jar}" usetimestamp="true" />
      <get src="${geronimo.servlet.dir}/${geronimo.servlet.jar}" dest="${dependencies}/${geronimo.servlet.jar}" usetimestamp="true" />
      <get src="${axiom.dir}/${axiom.api.jar}" dest="${dependencies}/${axiom.api.jar}" usetimestamp="true" />
      <get src="${axiom.dir}/${axiom.impl.jar}" dest="${dependencies}/${axiom.impl.jar}" usetimestamp="true" />
      <get src="${jaxen.dir}/${jaxen.jar}" dest="${dependencies}/${jaxen.jar}" usetimestamp="true" />
      <get src="${log4j.dir}/${log4j.jar}" dest="${dependencies}/${log4j.jar}" usetimestamp="true" />
      <get src="${stax.dir}/${stax.api.jar}" dest="${dependencies}/${stax.api.jar}" usetimestamp="true" />
      <get src="${commons.logging.dir}/${commons.logging.jar}" dest="${dependencies}/${commons.logging.jar}" usetimestamp="true" />
      <get src="${commons.codec.dir}/${commons.codec.jar}" dest="${dependencies}/${commons.codec.jar}" usetimestamp="true" />
      <get src="${commons.httpclient.dir}/${commons.httpclient.jar}" dest="${dependencies}/${commons.httpclient.jar}" usetimestamp="true" />
      <get src="${junit.dir}/${junit.jar}" dest="${dependencies}/${junit.jar}" usetimestamp="true" />
      <get src="${wstx.dir}/${wstx.jar}" dest="${dependencies}/${wstx.jar}" usetimestamp="true" />
      <get src="${jetty.dir}/${jetty.jar}" dest="${dependencies}/${jetty.jar}" usetimestamp="true" />
      <get src="${jetty-util.dir}/${jetty-util.jar}" dest="${dependencies}/${jetty-util.jar}" usetimestamp="true" />
      <get src="${htmlparser.dir}/${htmlparser.jar}" dest="${dependencies}/${htmlparser.jar}" usetimestamp="true" />
      <get src="${htmlparser.dir}/${htmlserializer.jar}" dest="${dependencies}/${htmlserializer.jar}" usetimestamp="true" />
      <get src="${easymock.dir}/${easymock.jar}" dest="${dependencies}/${easymock.jar}" usetimestamp="true" />
      <get src="${easymockclassextension.dir}/${easymockclassextension.jar}" dest="${dependencies}/${easymockclassextension.jar}" usetimestamp="true" />
       <get src="${cglib.dir}/${cglib.jar}" dest="${dependencies}/${cglib.jar}" usetimestamp="true" />
    </parallel>
  </target>

  <target name="clean-downloads" depends="init">
    <delete>
      <fileset dir="${dependencies}" includes="**/*.jar" />
    </delete>
  </target>

  <target name="site-docs" depends="docs">
    <mkdir dir="${site}/docs/api" />
    <copy todir="${site}/docs/api">
      <fileset dir="${javadocs}" />
    </copy>
  </target>

  <target name="retro" depends="dist">
    <property name="retrozip" value="${basedir}/build/tools/${retroweaver.zip}" />
    <property name="retro" value="${basedir}/build/tools/retroweaver-${retroweaver.version}" />
    <property name="retro_core.jar" value="${dist}/${ant.project.name}.core.${version}.retro.jar" />
    <property name="retro_parser.jar" value="${dist}/${ant.project.name}.parser.${version}.retro.jar" />
    <property name="retro_extensions.jar" value="${dist}/${ant.project.name}.extensions.${version}.retro.jar" />
    <property name="retro_server.jar" value="${dist}/${ant.project.name}.server.${version}.retro.jar" />
    <property name="retro_client.jar" value="${dist}/${ant.project.name}.client.${version}.retro.jar" />
    <property name="retro_spring.jar" value="${dist}/${ant.project.name}.spring.${version}.retro.jar" />
    <property name="retro_i18n.jar" value="${dist}/lib/${ant.project.name}-i18n-${i18n.version}.retro.jar" />    
    <property name="retro_complete.jar" value="${dist}/${ant.project.name}-complete-${version}.retro.jar" />
    
    <condition property="do.download.retroweaver">
      <not>
        <available file="${retrozip}" />
      </not>
    </condition>
    <antcall target="go_retro" />
    <path id="jar.retro">
      <fileset dir="${retro}/release" includes="**/*.jar" />
    </path>
    <echo>Retroweaving the Jars...</echo>
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${core.jar}&quot; &quot;${retro_core.jar}&quot;" />
    </java>
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${parser.jar}&quot; &quot;${retro_parser.jar}&quot;" />
    </java>
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${server.jar}&quot; &quot;${retro_server.jar}&quot;" />
    </java>
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${client.jar}&quot; &quot;${retro_client.jar}&quot;" />
    </java>
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${i18n.jar}&quot; &quot;${retro_i18n.jar}&quot;" />
    </java>
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${complete.jar}&quot; &quot;${retro_complete.jar}&quot;" />
    </java>
    <antcall target="retro.extensions" />
    <antcall target="retro.security" />
    <antcall target="retro.spring" />
    <copy todir="${dist_lib}" file="${retro}/release/retroweaver-rt-${retroweaver.version}.jar" />
  </target>

  <target name="retro.security" if="do.security">
    <property name="retro_security.jar" value="${dist}/${ant.project.name}.security.${version}.retro.jar" />
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${security.jar}&quot; &quot;${retro_security.jar}&quot;" />
    </java>
    <get src="${bouncycastle.dir}/${bouncycastle.jar.retro}" dest="${dependencies}/${bouncycastle.jar.retro}" usetimestamp="true" ignoreerrors="true" />
  </target>
  
  <target name="retro.spring" if="do.spring">
    <property name="retro_spring.jar" value="${dist}/${ant.project.name}.spring.${version}.retro.jar" />
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${spring.jar}&quot; &quot;${retro_spring.jar}&quot;" />
    </java>
  </target>

  <target name="go_retro" if="do.download.retroweaver">
    <echo>Downloading Retroweaver...</echo>
    <mkdir dir="${basedir}/build/tools" />
    <get src="${retroweaver.dir}/${retroweaver.zip}" dest="${basedir}/build/tools/${retroweaver.zip}" usetimestamp="true" />
    <unzip src="${basedir}/build/tools/${retroweaver.zip}" dest="${basedir}/build/tools/" overwrite="true" />
  </target>

  <target name="download_feedvalidator_tests" depends="init" if="do.download.feedvalidator.tests">
    <mkdir dir="${parser.test.resources}/feedvalidator.org" />
    <exec failifexecutionfails="false" dir="${parser.test.resources}/feedvalidator.org" executable="svn">
      <arg line="co http://feedvalidator.googlecode.com/svn/trunk/feedvalidator/testcases/atom testcases/atom" />
    </exec>
  </target>
  
  
  <target name="compile.extensions" depends="init, compile.core, compile.parser, compile.dependencies, compile.client">
    <mkdir dir="${extensions.work}" />
    
    <antcall target="compile.extension">
      <param name="ext" value="main" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="gdata" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="geo" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="html" />
    </antcall>
    
    <antcall target="compile.extension">
      <param name="ext" value="json" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="media" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="opensearch" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="sharing" />
    </antcall>
    
    <antcall target="compile.extension">
      <param name="ext" value="wsse" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="oauth" />
    </antcall>

    <antcall target="compile.extension">
      <param name="ext" value="serializer" />
    </antcall>
    
  </target>
  
  <target name="compile.extension.ask">
    <input addproperty="ask.response" message="Extension name to compile:"/>
    <antcall target="compile.extension">      
      <param name="ext" value="${ask.response}"/>
    </antcall>
  </target>
  
  <target name="compile.extension">
    <echo>Compiling extension ${ext}...</echo>
    <mkdir dir="${extensions.work}/${ext}" />
    <mkdir dir="${extensions.work}/${ext}/META-INF" />
    <javac srcdir="${extensions}/${ext}/src/main/java" destdir="${extensions.work}/${ext}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${client.work};${server.work};${extensions.work}/main;${extensions.work}/html" debug="${debug}" />

    <available file="${extensions}/${ext}/src/test/java" property="is.available.${ext}.test" />
    
    <copy todir="${extensions.work}/${ext}/META-INF">
      <fileset dir="${basedir}">
        <include name="LICENSE" />
        <include name="NOTICE" />
      </fileset>
    </copy>
    <copy todir="${extensions.work}/${ext}">
      <fileset dir="${extensions}/${ext}/src/main/resources" includes="**/*" />
    </copy>
    
    <antcall target="compile.extension.test">
      <param name="ext" value="${ext}"/>
    </antcall>
  </target>
  
  <target name="compile.extension.test" if="is.available.${ext}.test">
    <echo>Compiling tests for extension ${ext}...</echo>
    <javac srcdir="${extensions}/${ext}/src/test/java" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${extensions.work}/${ext};${client.work}" debug="${debug}" />
      <copy todir="${test}">
        <fileset dir="${extensions}/${ext}/src/test/resources" includes="**/*" />
      </copy>
  </target>
  
  <target name="dist.extensions">
    <mkdir dir="${dist}/ext" />

    <antcall target="dist.extension">
      <param name="ext" value="main" />
    </antcall>

    <antcall target="dist.extension">
      <param name="ext" value="gdata" />
    </antcall>

    <antcall target="dist.extension">
      <param name="ext" value="geo" />
    </antcall>

    <antcall target="dist.extension">
      <param name="ext" value="html" />
    </antcall>
          
    <antcall target="dist.extension">
      <param name="ext" value="json" />
    </antcall>

    <antcall target="dist.extension">
      <param name="ext" value="media" />
    </antcall>

    <antcall target="dist.extension">
      <param name="ext" value="opensearch" />
    </antcall>

    <antcall target="dist.extension">
      <param name="ext" value="sharing" />
    </antcall>
    
    <antcall target="dist.extension">
      <param name="ext" value="wsse" />
    </antcall>
    
    <antcall target="dist.extension">
      <param name="ext" value="oauth" />
    </antcall>

    <antcall target="dist.extension">
      <param name="ext" value="serializer" />
    </antcall>
    
  </target>
  
  <target name="dist.extension">
    <echo>Building jar for extension ${ext}...</echo>
    <jar destfile="${extensions.jar.base}.${ext}.${version}.jar"
         basedir="${extensions.work}/${ext}"
         manifest="${work}/MANIFEST.MF" />
  </target>
  
  <target name="dist.extension.ask">
   <input addproperty="ask.response" message="Extension name to build:"/>
   <antcall target="dist.extension">
     <param name="ext" value="${ask.response}"/>
   </antcall>
  </target>
  
  <target name="test.extensions">
    
    <antcall target="test.extension">
      <param name="ext" value="main" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="gdata" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="geo" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="html" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="json" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="media" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="opensearch" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="sharing" />
    </antcall>
    
    <antcall target="test.extension">
      <param name="ext" value="wsse" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="oauth" />
    </antcall>

    <antcall target="test.extension">
      <param name="ext" value="serializer" />
    </antcall>
    
  </target>
  
  <target name="test.extension">
    <echo>Running tests for extension ${ext}...</echo>
    <java 
      classpathref="jar.dependencies" 
      classpath="${core.work}:${parser.work}:${server.work}:${extensions.work}/${ext}:${test}" 
      classname="org.apache.abdera.test.ext.${ext}.TestSuite" fork="yes" failonerror="false"/>
  </target>
  
  <target name="retro.extensions">
    
    <antcall target="retro.extension">
      <param name="ext" value="main" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="gdata" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="geo" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="html" />
    </antcall>
    
    <antcall target="retro.extension">
      <param name="ext" value="json" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="media" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="opensearch" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="sharing" />
    </antcall>
    
    <antcall target="retro.extension">
      <param name="ext" value="wsse" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="oauth" />
    </antcall>

    <antcall target="retro.extension">
      <param name="ext" value="serializer" />
    </antcall>
    
  </target>
  
  <target name="retro.extension">
    <echo>Retroweaving extension ${ext}...</echo>
    <property name="retro_ext.jar" value="${extensions.jar.base}.${ext}.${version}.retro.jar" />
    <java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes">
      <arg line="-jar &quot;${extensions.jar.base}.${ext}.${version}.jar&quot; &quot;${retro_ext.jar}&quot;" />
    </java>
  </target>
  
  <target name="adapters">
    <ant antfile="${basedir}/adapters/couchdb/build.xml" target="dist" dir="${basedir}/adapters/couchdb" inheritall="false" />
    <ant antfile="${basedir}/adapters/jcr/build.xml" target="dist" dir="${basedir}/adapters/jcr" inheritall="false" />
    <ant antfile="${basedir}/adapters/jdbc/build.xml" target="dist" dir="${basedir}/adapters/jdbc" inheritall="false" />
    <ant antfile="${basedir}/adapters/filesystem/build.xml" target="dist" dir="${basedir}/adapters/filesystem" inheritall="false" />
  </target>
  
</project>
