<?xml version="1.0"?>
<!-- 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  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.
-->

<!--
    POI Build System.  Written by:

        Glen Stampoultzis   glens at apache.org

    Modified by:

        Rainer Klute        klute@rainer-klute.de
        Bruno Girin         brunogirin@gmail.com
        Yegor Kozlov        yegor at apache.org
        Dominik Stadler     centic at apache.org

    This build was tested with ant 1.9.4 although it will probably work with
    other versions, however at least 1.8.0 is required.

    To build the documentation you will need to install forrest and set
    the FORREST_HOME environment variable.  Forrest 0.5.1 required.

    Since POI 3.11 you will need JDK 1.6 or newer to build POI. 

    Some people may find the tests hang when run through Ant. If this
    happens to you, try giving Ant some more memory when you run it, eg:
          ANT_OPTS="-Xmx1024m -XX:MaxPermSize=256m" ant test

 -->
<project name="POI Build" default="help" basedir="." xmlns:mvn="antlib:org.apache.maven.artifact.ant">

    <description>The Apache POI project Ant build.</description>

    <property name="version.id" value="3.13-beta1"/>
    <property name="version.rel" value="REL_3_13_BETA1"/>

    <property environment="env"/>
    <!-- the repository to download jars from -->
    <property name="repository.m2" value="http://repo1.maven.org"/>

    <property name="main.lib" location="lib"/>
    <property name="ooxml.lib" location="ooxml-lib"/>
    <property name="compile.lib" location="compile-lib"/>
    <property name="forrest.home" value="${env.FORREST_HOME}"/>

    <!-- compiler options options -->
    <property name="jdk.version.source" value="1.6" description="JDK version of source code"/>
    <property name="jdk.version.class" value="1.6" description="JDK version of generated class files"/>
    <property name="compile.debug" value="true"/>

    <!-- 
        Logging is suppressed by default. 
        To redirect log output to console, run ant with -Dorg.apache.poi.util.POILogger=org.apache.poi.util.SystemOutLogger  
    -->
    <property name="org.apache.poi.util.POILogger" value="org.apache.poi.util.NullLogger"/>

    <!-- issue warnings if source code contains unmappable characters for encoding ASCII  -->
    <property name="java.source.encoding" value="ASCII"/>

    <!--
      JVM system properties for running tests,
      user.language and user.country are required as we have locale-sensitive formatters
    -->
    <property name="testpattern" value="Test*"/>
    <property name="poi.test.locale" value="-Duser.language=en -Duser.country=US"/>
    <property name="POI.testdata.path" value="test-data"/>
    <property name="java.awt.headless" value="true"/>
    <property name="additionaljar" value=""/>
	<condition property="http_proxy" 
	   value="${env.http_proxy}"
	   else="">
		<isset property="env.http_proxy"/>
	</condition>

    <!-- Main: -->
    <property name="main.resource1.dir" value="src/resources/main"/>
    <property name="main.src" location="src/java"/>
    <property name="main.src.test" location="src/testcases"/>
    <property name="main.documentation" value="src/documentation"/>
    <property name="main.output.dir" location="build/classes"/>
    <property name="main.output.test.dir" location="build/test-classes"/>
    <property name="main.reports.test" location="build/test-results"/>
    <property name="main.testokfile" location="build/main-testokfile.txt"/>

    <!-- Scratchpad: -->
    <property name="scratchpad.resource1.dir" value="src/resources/scratchpad"/>
    <property name="scratchpad.src" location="src/scratchpad/src"/>
    <property name="scratchpad.src.test" location="src/scratchpad/testcases"/>
    <property name="scratchpad.reports.test" location="build/scratchpad-test-results"/>
    <property name="scratchpad.output.dir" location="build/scratchpad-classes"/>
    <property name="scratchpad.output.test.dir" location="build/scratchpad-test-classes"/>
    <property name="scratchpad.testokfile" location="build/scratchpad-testokfile.txt"/>

    <!-- Scratchpad/Geometry -->
	<property name="geometry.schema" value="src/resources/ooxml/org/apache/poi/xslf/usermodel/presetShapeDefinitions.xml"/>
	<property name="geometry.pkg" value="org.apache.poi.sl.draw.binding"/>
	<property name="geometry.output.tmpdir" value="build/geometry-java"/>
	
	
    <!-- Examples: -->
    <property name="examples.src" location="src/examples/src"/>
    <property name="examples.output.dir" location="build/examples-classes"/>

    <!-- OOXML support: -->
    <property name="ooxml.src" location="src/ooxml/java"/>
    <property name="ooxml.resource1.dir" value="src/resources/ooxml"/>
    <property name="ooxml.src.test" location="src/ooxml/testcases"/>
    <property name="ooxml.reports.test" location="build/ooxml-test-results"/>
    <property name="ooxml.output.dir" location="build/ooxml-classes"/>
    <property name="ooxml.output.test.dir" location="build/ooxml-test-classes"/>
    <property name="ooxml.testokfile" location="build/ooxml-testokfile.txt"/>
    <property name="ooxml.lite.output.dir" location="build/ooxml-lite-classes"/>

	<!-- Integration testing -->
    <property name="integration.src.test" location="src/integrationtest"/>
    <property name="integration.reports.test" location="build/integration-test-results"/>
    <property name="integration.output.test.dir" location="build/integration-test-classes"/>
    <property name="integration.testokfile" location="build/integration-testokfile.txt"/>

    <!-- Excelant: -->
    <property name="excelant.resource.dir" value="src/excelant/resources"/>
    <property name="excelant.src" location="src/excelant/java"/>
    <property name="excelant.src.test" location="src/excelant/testcases"/>
    <property name="excelant.reports.test" location="build/excelant-test-results"/>
    <property name="excelant.output.dir" location="build/excelant-classes"/>
    <property name="excelant.output.test.dir" location="build/excelant-test-classes"/>
    <property name="excelant.testokfile" location="build/excelant-testokfile.txt"/>

    <!-- jars in the /lib directory, see the fetch-jars target-->
    <property name="main.commons-logging.jar" location="${main.lib}/commons-logging-1.1.3.jar"/>
    <property name="main.commons-logging.url"
              value="${repository.m2}/maven2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar"/>
    <property name="main.commons-codec.jar" location="${main.lib}/commons-codec-1.9.jar"/>
    <property name="main.commons-codec.url"
              value="${repository.m2}/maven2/commons-codec/commons-codec/1.9/commons-codec-1.9.jar"/>
    <property name="main.log4j.jar" location="${main.lib}/log4j-1.2.17.jar"/>
    <property name="main.log4j.url" value="${repository.m2}/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar"/>
    <property name="main.junit.jar" location="${main.lib}/junit-4.12.jar"/>
    <property name="main.junit.url" value="${repository.m2}/maven2/junit/junit/4.12/junit-4.12.jar"/>
    <property name="main.hamcrest.jar" location="${main.lib}/hamcrest-core-1.3.jar"/>
    <property name="main.hamcrest.url" value="${repository.m2}/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"/>
    <property name="main.ant.jar" location="${main.lib}/ant-1.9.4.jar"/>
    <property name="main.ant.url" value="${repository.m2}/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar"/>
    <property name="main.antlauncher.jar" location="${main.lib}/ant-launcher-1.9.4.jar"/>
    <property name="main.antlauncher.url" value="${repository.m2}/maven2/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar"/>

	<!-- xml signature libs -->
	<property name="dsig.xmlsec.jar" location="${compile.lib}/xmlsec-2.0.1.jar"/>
	<property name="dsig.xmlsec.url" value="${repository.m2}/maven2/org/apache/santuario/xmlsec/2.0.1/xmlsec-2.0.1.jar"/>
	<property name="dsig.bouncycastle-prov.jar" location="${compile.lib}/bcprov-ext-jdk15on-1.51.jar"/>
	<property name="dsig.bouncycastle-prov.url" value="${repository.m2}/maven2/org/bouncycastle/bcprov-ext-jdk15on/1.51/bcprov-ext-jdk15on-1.51.jar"/>
	<property name="dsig.bouncycastle-pkix.jar" location="${compile.lib}/bcpkix-jdk15on-1.51.jar"/>
	<property name="dsig.bouncycastle-pkix.url" value="${repository.m2}/maven2/org/bouncycastle/bcpkix-jdk15on/1.51/bcpkix-jdk15on-1.51.jar"/>
	<property name="dsig.sl4j-api.jar" location="${compile.lib}/slf4j-api-1.7.7.jar"/>
	<property name="dsig.sl4j-api.url" value="${repository.m2}/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar"/>

	<!-- jars in the lib-ooxml directory, see the fetch-ooxml-jars target-->
    <property name="ooxml.xmlbeans23.jar" location="${ooxml.lib}/xmlbeans-2.3.0.jar"/>
    <property name="ooxml.xmlbeans23.url"
              value="${repository.m2}/maven2/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar"/>
    <property name="ooxml.xmlbeans26.jar" location="${ooxml.lib}/xmlbeans-2.6.0.jar"/>
    <property name="ooxml.xmlbeans26.url"
              value="${repository.m2}/maven2/org/apache/xmlbeans/xmlbeans/2.6.0/xmlbeans-2.6.0.jar"/>
	
    <!-- coverage libs -->
    <property name="jacoco.zip" location="${main.lib}/jacoco-0.7.4.201502262128.zip"/>
    <property name="jacoco.url" value="${repository.m2}/maven2/org/jacoco/jacoco/0.7.4.201502262128/jacoco-0.7.4.201502262128.zip"/>
    <property name="asm.jar" location="${main.lib}/asm-all-5.0.3.jar"/>
    <property name="asm.url" value="${repository.m2}/maven2/org/ow2/asm/asm-all/5.0.3/asm-all-5.0.3.jar"/>
	
    <!-- license checks -->
    <property name="rat.jar" location="${main.lib}/apache-rat-0.11.jar"/>
    <property name="rat.url" value="${repository.m2}/maven2/org/apache/rat/apache-rat/0.11/apache-rat-0.11.jar"/>

    <!-- See http://www.ecma-international.org/publications/standards/Ecma-376.htm -->
    <!-- "Copy these file(s), free of charge" -->
    <property name="ooxml.xsds.ozip.1" value="OfficeOpenXML-Part4.zip"/>
    <property name="ooxml.xsds.izip.1" value="OfficeOpenXML-XMLSchema.zip"/>
    <property name="ooxml.xsds.url.1"
              value="http://www.ecma-international.org/publications/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%204%20(PDF).zip"/>
    <property name="ooxml.xsds.src.dir" location="build/ooxml-xsds-src"/>
    <property name="ooxml.xsds.src.jar" location="${ooxml.lib}/ooxml-schemas-1.1-sources.jar"/>
    <property name="ooxml.xsds.jar" location="${ooxml.lib}/ooxml-schemas-1.1.jar"/>

    <!-- additional schemas are packed into the poi schemas jar, -->
    <!-- so we don't have to care about a seperate versioning of the original ooxml schemas -->
    <property name="ooxml.xsds.dc.1" value="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/>
    <property name="ooxml.xsds.dc.2" value="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/>
    <property name="ooxml.xsds.dc.3" value="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcmitype.xsd"/>
    <property name="ooxml.xsds.dsig.1" value="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
    <property name="ooxml.xsds.dsig.2" value="http://uri.etsi.org/01903/v1.3.2/XAdES.xsd"/>
    <property name="ooxml.xsds.dsig.3" value="http://uri.etsi.org/01903/v1.4.1/XAdESv141.xsd"/>
    <property name="ooxml.xsds.ozip.2" value="OfficeOpenXML-Part2.zip"/>
    <property name="ooxml.xsds.izip.2" value="OpenPackagingConventions-XMLSchema.zip"/>
    <property name="ooxml.xsds.url.2"
              value="http://www.ecma-international.org/publications/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%202%20(PDF).zip"/>
    <property name="ooxml.security.src.dir" location="build/ooxml-security-src"/>
    <property name="ooxml.security.src.jar" location="${ooxml.lib}/ooxml-security-1.0-sources.jar"/>
    <property name="ooxml.security.jar" location="${ooxml.lib}/ooxml-security-1.0.jar"/>
    <property name="ooxml.security.xsd.dir" location="src/ooxml/resources/org/apache/poi/poifs/crypt"/>

    <property name="maven.ooxml.xsds.version.id" value="1.0"/>
    <property name="maven.ooxml.xsds.jar" value="ooxml-schemas-${maven.ooxml.xsds.version.id}.jar"/>

    <!-- Coverage -->
    <property name="coverage.dir" value="build/coverage"/>
    <!-- Exclude some uninteresting classes from coverage-instrumentation as we do not want to measure coverage in those packages anyway -->
    <property name="coverage.excludes" value="org.openxmlformats.*:com.*:org.junit.*:junit.*:org.etsi.*:org.w3.*"/>
    
    <!-- Apache RAT license check properties -->
    <property name="rat.reportdir" value="build/rat"/>
    <property name="rat.report" value="${rat.reportdir}/report.txt"/>    

    <!-- build and distro settings -->
    <property name="jar.name" value="poi"/>
    <property name="build.site" location="build/tmp/site/build/site"/>
    <property name="build.site.src" location="build/tmp/site"/>
    <property name="apidocs.report.dir" location="${build.site}/apidocs"/>
    <property name="dist.dir" location="build/dist"/>
    <property name="halt.on.test.failure" value="true"/>

    <propertyset id="junit.properties">
        <propertyref name="POI.testdata.path"/>
        <propertyref name="java.awt.headless"/>
        <propertyref name="org.apache.poi.util.POILogger"/>
        <propertyref name="http_proxy"/>
    </propertyset>

    <path id="main.classpath">
        <pathelement location="${main.commons-logging.jar}"/>
        <pathelement location="${main.commons-codec.jar}"/>
        <pathelement location="${main.log4j.jar}"/>
        <pathelement location="${main.junit.jar}"/>
        <pathelement location="${main.hamcrest.jar}"/>
    </path>

    <path id="scratchpad.classpath">
        <path refid="main.classpath"/>
        <pathelement location="${main.output.dir}"/>
    </path>

    <path id="ooxml.xmlsec.classpath">
        <pathelement location="${dsig.xmlsec.jar}"/>
        <pathelement location="${dsig.bouncycastle-prov.jar}"/>
        <pathelement location="${dsig.bouncycastle-pkix.jar}"/>
        <pathelement location="${dsig.sl4j-api.jar}"/>
    </path>

    <path id="ooxml.classpath">
        <pathelement location="${ooxml.xmlbeans26.jar}"/>
        <pathelement location="${ooxml.xsds.jar}"/>
        <path refid="main.classpath"/>
        <pathelement location="${main.output.dir}"/>
        <pathelement location="${ooxml.security.jar}"/>
        <!-- classes are omitted on test cases outside the xml-dsign area to avoid classpath poisioning -->
        <!--path refid="ooxml.xmlsec.classpath"/-->
        <!-- Used only for ExtractorFactory, see #57963 -->
        <pathelement location="${scratchpad.output.dir}"/>
    </path>

    <path id="test.classpath">
        <path refid="main.classpath"/>
        <pathelement location="${main.output.dir}"/>
        <pathelement location="${main.output.test.dir}"/>
        <pathelement location="${additionaljar}"/>
    </path>

    <path id="test.scratchpad.classpath">
        <path refid="scratchpad.classpath"/>
        <pathelement location="${main.output.test.dir}"/>
        <pathelement location="${scratchpad.output.dir}"/>
        <pathelement location="${scratchpad.output.test.dir}"/>
        <pathelement location="${additionaljar}"/>
    </path>

    <path id="test.ooxml.classpath">
        <path refid="ooxml.classpath"/>
        <pathelement location="${ooxml.output.dir}"/>
        <pathelement location="${ooxml.output.test.dir}"/>
        <pathelement location="${main.output.test.dir}"/>
        <pathelement location="${additionaljar}"/>
    </path>

    <path id="test.integration.classpath">
        <path refid="scratchpad.classpath"/>
        <path refid="ooxml.classpath"/>
        <pathelement location="${main.output.test.dir}"/>
        <pathelement location="${ooxml.output.dir}"/>
        <pathelement location="${integration.output.test.dir}"/>
    </path>

    <path id="ooxml-lite.classpath">
        <pathelement location="${ooxml.xmlbeans26.jar}"/>
        <pathelement location="${ooxml.lite.output.dir}"/> <!-- instead of ooxml-xsds.jar use the filtered classes-->
        <path refid="main.classpath"/>
        <pathelement location="${main.output.dir}"/>
        <pathelement location="${scratchpad.output.dir}"/>
        <!--path refid="ooxml.classpath"/-->
        <pathelement location="${ooxml.output.dir}"/>
        <pathelement location="${ooxml.output.test.dir}"/>
        <pathelement location="${main.output.test.dir}"/>
        <pathelement location="${ooxml.security.jar}"/>
    </path>


    <path id="examples.classpath">
        <path refid="main.classpath"/>
        <pathelement location="${main.output.dir}"/>
        <pathelement location="${scratchpad.output.dir}"/>
    </path>

    <path id="excelant.classpath">
        <path refid="ooxml.classpath"/>
        <pathelement location="${main.ant.jar}"/>
        <pathelement location="${ooxml.output.dir}"/>
    </path>
    <path id="test.excelant.classpath">
        <path refid="ooxml.classpath"/>
        <pathelement location="${ooxml.output.dir}"/>
        <pathelement location="${excelant.output.dir}"/>
        <pathelement location="${excelant.output.test.dir}"/>
        <pathelement location="${main.output.test.dir}"/>
        <pathelement location="${additionaljar}"/>
    </path>

    <path id="javadoc.classpath">
        <path refid="main.classpath"/>
        <path refid="scratchpad.classpath"/>
        <path refid="ooxml.classpath"/>
        <path refid="ooxml.xmlsec.classpath"/>
        <path path="${env.CLASSPATH}"/>
    </path>

    <path id="lib.jacoco">
        <fileset dir="lib">
            <include name="org.jacoco*.jar" />
            <include name="asm-all-*.jar" />
        </fileset>
    </path>

    <!-- Prints POI's Ant usage help -->
    <target name="help" description="Prints Apache POI's Ant usage help">
      <echo>
  This is POI ${version.id}
  Java Version ${ant.java.version}      
  Timestamp ${DSTAMP}
  The main targets of interest are:
    - clean       Erase all build work products (ie. everything in the build directory)
    - compile     Compile all files from main, ooxml and scratchpad
    - test        Run all unit tests from main, ooxml and scratchpad
    - jar         Produce jar files
    - jar-src     Produce source-jar files
    - assemble    Produce the zipped distribution files
    - site        Generate all documentation (Requires Apache Forrest)
    - dist        Create a distribution (Requires Apache Forrest)
        </echo>
    </target>

    <tstamp>
        <format property="tstamp.year" pattern="yyyy"/>
    </tstamp>

    <target name="init" depends="fetch-jars,fetch-ooxml-jars">
        <mkdir dir="build"/>
        <mkdir dir="${main.output.dir}"/>
        <mkdir dir="${main.output.test.dir}"/>
        <mkdir dir="${main.reports.test}"/>
        <mkdir dir="${scratchpad.output.dir}"/>
        <mkdir dir="${scratchpad.output.test.dir}"/>
        <mkdir dir="${scratchpad.reports.test}"/>
    	<mkdir dir="${geometry.output.tmpdir}"/>
        <mkdir dir="${ooxml.output.dir}"/>
        <mkdir dir="${ooxml.output.test.dir}"/>
        <mkdir dir="${ooxml.reports.test}"/>
        <mkdir dir="${excelant.output.dir}"/>
        <mkdir dir="${excelant.output.test.dir}"/>
        <mkdir dir="${excelant.reports.test}"/>
        <mkdir dir="${examples.output.dir}"/>
        <mkdir dir="${integration.output.test.dir}"/>
        <mkdir dir="${integration.reports.test}"/>
        <mkdir dir="${dist.dir}"/>
        <mkdir dir="${build.site}"/>

		<echo message="Using Java: ${java.version}/${java.runtime.version}/${java.vm.version}/${java.vm.name} from ${java.vm.vendor} on ${os.name}: ${os.version}" />		
    </target>

    <target name="clean">
        <delete dir="build"/>
    </target>

    <target name="testexist">
        <echo message="Testing  for ${destfile}" level="debug"/>
        <available file="${destfile}" property="exist"/>
    </target>
    <target name="downloadfile" unless="exist" depends="testexist">
        <get src="${sourcefile}" dest="${destfile}"/>
    </target>

    <target name="check-jars">
    	<!-- remove previous versions of third-party jars to prevent them from lingering around, 
    		we often had hard-to-find build/CI-problems because of these! -->
		<mkdir dir="${main.lib}"/>
		<mkdir dir="${compile.lib}"/>
		<delete verbose="true">
			<fileset dir="${main.lib}">
	    		<include name="ant-1.8*"/>
				<include name="asm-all-4*"/>
				<include name="commons-codec-1.5*"/>
				<include name="commons-logging-1.1.jar"/>
				<include name="jacoco-0.6*"/>
				<include name="jacoco-0.7.1*"/>
				<include name="jacoco-0.7.2*"/>
				<include name="jacoco-0.7.3*"/>
				<include name="log4j-1.2.13*"/>
				<include name="org.jacoco.*-0.6.*"/>
				<include name="org.jacoco.*-0.7.1*"/>
				<include name="org.jacoco.*-0.7.2*"/>
				<include name="org.jacoco.*-0.7.3*"/>
				<include name="dom4j*"/>
				<include name="apache-rat-0.10*"/>
				<include name="xercesImpl-*.jar"/>
				<include name="junit-3*"/>
				<include name="junit-4.11*"/>
			</fileset>
		</delete>

        <condition property="jars.present">
            <or>
                <and>
                    <available file="${main.commons-logging.jar}"/>
                    <available file="${main.commons-codec.jar}"/>
                    <available file="${main.log4j.jar}"/>
                    <available file="${main.junit.jar}"/>
                    <available file="${main.hamcrest.jar}"/>
                    <available file="${main.ant.jar}"/>
                    <available file="${main.antlauncher.jar}"/>
                    <available file="${asm.jar}"/>
                    <available file="${jacoco.zip}"/>
                    <available file="${rat.jar}"/>
                    <available file="${dsig.bouncycastle-prov.jar}"/>
                    <available file="${dsig.bouncycastle-pkix.jar}"/>
                    <available file="${dsig.xmlsec.jar}"/>
                    <available file="${dsig.sl4j-api.jar}"/>
                </and>
                <isset property="disconnected"/>
            </or>
        </condition>
    </target>

    <target name="fetch-jars" depends="check-jars" unless="jars.present"
            description="Fetches needed JAR files from the Internet">
        <mkdir dir="${main.lib}"/>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.commons-logging.url}"/>
            <param name="destfile" value="${main.commons-logging.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.commons-codec.url}"/>
            <param name="destfile" value="${main.commons-codec.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.log4j.url}"/>
            <param name="destfile" value="${main.log4j.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.junit.url}"/>
            <param name="destfile" value="${main.junit.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.hamcrest.url}"/>
            <param name="destfile" value="${main.hamcrest.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.ant.url}"/>
            <param name="destfile" value="${main.ant.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.antlauncher.url}"/>
            <param name="destfile" value="${main.antlauncher.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${asm.url}"/>
            <param name="destfile" value="${asm.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${jacoco.url}"/>
            <param name="destfile" value="${jacoco.zip}"/>
        </antcall>
        <unzip src="${jacoco.zip}" dest=".">
            <patternset>
                <include name="lib/*.jar"/>
            </patternset>
        </unzip>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${rat.url}"/>
            <param name="destfile" value="${rat.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${dsig.bouncycastle-prov.url}"/>
            <param name="destfile" value="${dsig.bouncycastle-prov.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${dsig.bouncycastle-pkix.url}"/>
            <param name="destfile" value="${dsig.bouncycastle-pkix.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${dsig.xmlsec.url}"/>
            <param name="destfile" value="${dsig.xmlsec.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${dsig.sl4j-api.url}"/>
            <param name="destfile" value="${dsig.sl4j-api.jar}"/>
        </antcall>
    </target>

    <target name="check-ooxml-jars">
        <condition property="ooxml.jars.present">
            <or>
                <and>
                    <available file="${ooxml.xmlbeans23.jar}"/>
                    <available file="${ooxml.xmlbeans26.jar}"/>
                </and>
                <isset property="disconnected"/>
            </or>
        </condition>
    </target>
    <target name="fetch-ooxml-jars" depends="check-ooxml-jars" unless="ooxml.jars.present">
        <mkdir dir="${ooxml.lib}"/>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${ooxml.xmlbeans23.url}"/>
            <param name="destfile" value="${ooxml.xmlbeans23.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${ooxml.xmlbeans26.url}"/>
            <param name="destfile" value="${ooxml.xmlbeans26.jar}"/>
        </antcall>
    </target>

    <target name="check-ooxml-xsds">
        <condition property="ooxml-xsds.present">
            <or>
                <and>
                    <available file="${ooxml.lib}/${ooxml.xsds.izip.1}"/>
                    <available file="${ooxml.lib}/${ooxml.xsds.izip.2}"/>
                </and>
                <isset property="disconnected"/>
            </or>
        </condition>
    </target>
    <target name="fetch-ooxml-xsds" unless="ooxml-xsds.present"
        depends="check-ooxml-xsds"
            description="Fetches needed OOXML xsd files from the Internet">
        <get dest="${ooxml.lib}" skipexisting="true">
        	<url url="${ooxml.xsds.url.1}"/>
        	<url url="${ooxml.xsds.url.2}"/>
        	<url url="${ooxml.xsds.dc.1}"/>
        	<url url="${ooxml.xsds.dc.2}"/>
        	<url url="${ooxml.xsds.dc.3}"/>
        	<url url="${ooxml.xsds.dsig.1}"/>
        	<url url="${ooxml.xsds.dsig.2}"/>
        	<url url="${ooxml.xsds.dsig.3}"/>
        	<chainedmapper>
        		<flattenmapper/>
	        	<firstmatchmapper>
	        		<globmapper from="Office%20Open%20XML%201st%20edition%20Part%20*%20(PDF).zip" to="OfficeOpenXML-Part*.zip"/>
	        		<identitymapper/>
	    		</firstmatchmapper>
    		</chainedmapper>
    	</get>
        <unzip src="${ooxml.lib}/${ooxml.xsds.ozip.1}" dest="${ooxml.lib}">
        	<fileset dir="${ooxml.lib}" includes="OfficeOpenXML-Part*.zip"/>
            <patternset>
                <include name="${ooxml.xsds.izip.1}"/>
            	<include name="${ooxml.xsds.izip.2}"/>
            </patternset>
        </unzip>
    </target>
    <target name="check-compiled-ooxml-xsds" depends="fetch-ooxml-xsds">
        <condition property="ooxml-compiled-xsds.present">
            <or>
            	<and>
                    <available file="${ooxml.xsds.jar}"/>
                    <available file="${ooxml.security.jar}"/>
                    <available file="${ooxml.xsds.src.jar}"/>
                    <available file="${ooxml.security.src.jar}"/>
            	</and>
                <isset property="disconnected"/>
            </or>
        </condition>
    </target>
    <target name="compile-ooxml-xsds" unless="ooxml-compiled-xsds.present"
        depends="check-jars,fetch-jars,check-compiled-ooxml-xsds"
        description="Unpacks the OOXML xsd files, and compiles them into XmlBeans">
        <taskdef name="xmlbean"
                 classname="org.apache.xmlbeans.impl.tool.XMLBean"
                 classpath="${ooxml.xmlbeans23.jar}"/>

        <!-- We need a fair amount of memory to compile the xml schema, -->
        <!--  but limit it in case it goes wrong! -->
        <!-- Pick the right amount based on 32 vs 64 bit jvm -->
        <condition property="ooxml.memory" value="768m" else="512m">
           <equals arg1="${sun.arch.data.model}" arg2="64" />
        </condition>

    	<property name="ooxml.xsds.tmp.dir" location="build/ooxml-xsds"/>
        <mkdir dir="${ooxml.xsds.tmp.dir}"/>
        <unzip src="${ooxml.lib}/${ooxml.xsds.izip.1}" dest="${ooxml.xsds.tmp.dir}"/>
        <xmlbean
                schema="${ooxml.xsds.tmp.dir}"
                srcgendir="${ooxml.xsds.src.dir}"
                optimize="yes"
                destfile="${ooxml.xsds.jar}"
                javasource="1.5"
                failonerror="true"
                fork="true"
                memoryMaximumSize="${ooxml.memory}"
                >
            <classpath refid="ooxml.classpath"/>
        </xmlbean>

    	<!-- Now make a jar of the schema sources -->
    	<jar
                basedir="${ooxml.xsds.src.dir}"
                destfile="${ooxml.xsds.src.jar}"
                />

		<!-- Now do the same for the security schemas -->
    	<property name="ooxml.enc.xsds.tmp.dir" location="build/ooxml-security-xsds"/>
        <mkdir dir="${ooxml.enc.xsds.tmp.dir}"/>
        <unzip src="${ooxml.lib}/${ooxml.xsds.izip.2}" dest="${ooxml.enc.xsds.tmp.dir}"/>
    	
    	<copy todir="${ooxml.enc.xsds.tmp.dir}">
    		<fileset dir="${ooxml.lib}" includes="dc*.xsd,xmldsig*.xsd,XAdES*.xsd"/>
    		<fileset dir="${ooxml.security.xsd.dir}"/>
    	</copy>

    	<!-- noupa/nopvr is set because of the dublincore schemas -->
    	<!-- https://issues.apache.org/jira/browse/XMLBEANS-340 -->
    	<!-- javasource > 1.5 will not generate all array accessor -->
        <xmlbean
                schema="${ooxml.enc.xsds.tmp.dir}"
                srcgendir="${ooxml.security.src.dir}"
                optimize="yes"
                destfile="${ooxml.security.jar}"
                javasource="1.5" 
                failonerror="true"
                fork="true"
                memoryMaximumSize="${ooxml.memory}"
	    		noupa="true"
	    		nopvr="true"
                >
            <classpath refid="ooxml.classpath"/>
        </xmlbean>

        <jar
                basedir="${ooxml.security.src.dir}"
                destfile="${ooxml.security.src.jar}"
                />
    </target>

    <target name="compile" depends="init, compile-main,
            compile-scratchpad, compile-examples, compile-excelant"
            description="Compiles the POI main classes, scratchpad and examples"/>

    <target name="compile-all" depends="compile,compile-ooxml-lite"/>

    <target name="compile-main" depends="init">
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${main.output.dir}"
               srcdir="${main.src}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath refid="main.classpath"/>
        </javac>
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${main.output.test.dir}"
               srcdir="${main.src.test}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath>
                <path refid="main.classpath"/>
                <pathelement path="${main.output.dir}"/>
            </classpath>
        </javac>
        <copy todir="${main.output.dir}">
            <fileset dir="${main.resource1.dir}"/>
        </copy>
    </target>

	<target name="generate-geometry" depends="fetch-ooxml-xsds">
		<delete dir="${geometry.output.tmpdir}"/>
		<!-- taskdef xjc -->
		<!-- "D:\Program Files\Java\jdk1.6.0_45\bin\xjc" -p org.apache.poi.sl.model.geom.binding -readOnly -Xlocator -mark-generated ooxml-schemas\dml-shapeGeometry.xsd -->
		<unzip src="${ooxml.lib}/${ooxml.xsds.izip.1}" dest="${geometry.output.tmpdir}"/>
		<exec executable="${env.JAVA_HOME}/bin/xjc">
			<arg value="-p"/>
			<arg value="${geometry.pkg}"/>
			<arg value="-b"/>
			<arg file="src/types/definitions/dml-shapeGeometry.xjb"/>
			<arg value="-readOnly"/>
			<arg value="-npa"/>
			<arg value="-no-header"/>
			<!--arg value="-mark-generated"/ -->
			<!--arg value="-Xlocator"/ -->
			<arg file="${geometry.output.tmpdir}/dml-shapeGeometry.xsd"/>
			<arg value="-d"/>
			<arg file="${geometry.output.tmpdir}"/>
		</exec>
		<copy file="src/java/org/apache/poi/POIDocument.java" tofile="${geometry.output.tmpdir}/apache-license.txt">
			<filterchain>
			<headfilter lines="16"/>
			</filterchain>
		</copy>
		<copy todir="${main.src}">
			<fileset dir="${geometry.output.tmpdir}" includes="**/*.java"/>
		     <filterchain>
		         <concatfilter prepend="${geometry.output.tmpdir}/apache-license.txt"/>
		     </filterchain>
		</copy>
	</target>
	
	<target name="compile-scratchpad" depends="compile-main,generate-geometry">
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${scratchpad.output.dir}"
               srcdir="${scratchpad.src}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath refid="scratchpad.classpath"/>
        </javac>
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${scratchpad.output.test.dir}"
               srcdir="${scratchpad.src.test}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath>
                <path refid="scratchpad.classpath"/>
                <pathelement location="${scratchpad.output.dir}"/>
                <pathelement location="${main.output.test.dir}"/>
            </classpath>
        </javac>
        <copy todir="${scratchpad.output.dir}">
            <fileset dir="${scratchpad.resource1.dir}"/>
        </copy>
    </target>

    <target name="compile-examples" depends="compile-main,compile-scratchpad,compile-ooxml">
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${examples.output.dir}"
               srcdir="${examples.src}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath>
                <path refid="ooxml.classpath"/>
                <pathelement path="${ooxml.output.dir}"/>
            </classpath>
        </javac>
        <copy todir="${examples.output.dir}">
          <fileset dir="${examples.src}">
            <include name="**/*.css"/>
          </fileset>
        </copy>
    </target>

    <target name="compile-ooxml" depends="compile-main,compile-scratchpad,compile-ooxml-xsds">
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${ooxml.output.dir}"
               srcdir="${ooxml.src}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath>
            	<path refid="ooxml.classpath"/>
            	<path refid="ooxml.xmlsec.classpath"/>
        	</classpath>
        </javac>
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${ooxml.output.test.dir}"
               srcdir="${ooxml.src.test}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath>
                <path refid="ooxml.classpath"/>
            	<path refid="ooxml.xmlsec.classpath"/>
            	<path refid="test.ooxml.classpath"/>
                <pathelement path="${ooxml.output.dir}"/>
                <pathelement path="${main.output.test.dir}"/>
            </classpath>
        </javac>
        <copy todir="${ooxml.output.dir}">
            <fileset dir="${ooxml.resource1.dir}"/>
        </copy>
    </target>

    <target name="compile-excelant" depends="compile-main,compile-ooxml">
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${excelant.output.dir}"
               srcdir="${excelant.src}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath refid="excelant.classpath"/>
        </javac>
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${excelant.output.test.dir}"
               srcdir="${excelant.src.test}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath>
                <path refid="excelant.classpath"/>
                <pathelement location="${excelant.output.dir}"/>
                <pathelement path="${main.output.test.dir}"/>
            </classpath>
        </javac>
        <copy todir="${excelant.output.dir}">
            <fileset dir="${excelant.resource.dir}"/>
        </copy>
    </target>

    <target name="compile-integration" depends="compile-scratchpad, compile-main, compile-ooxml">
        <javac target="${jdk.version.class}"
               source="${jdk.version.source}"
               destdir="${integration.output.test.dir}"
               srcdir="${integration.src.test}"
               debug="${compile.debug}"
               encoding="${java.source.encoding}"
               fork="yes"
               includeantruntime="false">
            <classpath>
                <path refid="scratchpad.classpath"/>
                <path refid="ooxml.classpath"/>
            	<pathelement location="${ooxml.output.dir}"/>
                <pathelement location="${main.output.test.dir}"/>
            	<pathelement location="${main.ant.jar}"/>
            </classpath>
        </javac>
        <!--copy todir="${integration.output.dir}">
            <fileset dir="${integration.resource1.dir}"/>
        </copy-->
    </target>

    <target name="compile-version" depends="init"
            description="Compiles the version class">
        <!-- Generate the .java file -->
        <property name="version.java" value="${main.output.dir}/org/apache/poi/Version.java"/>
        <delete file="${version.java}"/>
        <copy
                file="src/resources/version/Version.java.template"
                tofile="${version.java}">
            <filterset>
                <filter token="VERSION" value="${version.id}"/>
                <filter token="DSTAMP" value="${DSTAMP}"/>
            </filterset>
        </copy>

        <!-- Compile -->
        <javac target="${jdk.version.class}" source="${jdk.version.source}"
               failonerror="true" destdir="${main.output.dir}" debug="on" fork="yes"
               srcdir="${main.output.dir}"
               encoding="${java.source.encoding}" includeantruntime="false">
        </javac>
        <!-- Tidy up -->
        <delete file="${version.java}"/>
    </target>

    <target name="jacocotask" depends="">
        <echo message="Coverage reporting: ${coverage.enabled}"/>
        <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
            <classpath refid="lib.jacoco"/>
        </taskdef>
    </target>

    <target name="test" depends="compile,jacocotask,test-main,test-scratchpad,test-ooxml,test-excelant"
            description="Tests main, scratchpad and ooxml"/>
    <target name="test-all" depends="test,test-ooxml-lite,testcoveragereport"/>

    <target name="testcoveragereport" depends="jacocotask" description="create test-report" xmlns:jacoco="antlib:org.jacoco.ant" if="coverage.enabled">
        <delete dir="${coverage.dir}"/>
        <mkdir dir="${coverage.dir}"/>

        <jacoco:report>
            <executiondata>
                <fileset dir="build">
                    <include name="*.exec"/>
                </fileset>
            </executiondata>
                               
            <structure name="Apache POI">
                <group name="Main">
                    <classfiles>
                        <fileset dir="${main.output.dir}">
                        	<!-- exclude large test-class -->
                            <exclude name="org/apache/poi/hssf/usermodel/DummyGraphics2d.class"/>
                        </fileset>
                    </classfiles>
                    <sourcefiles encoding="UTF-8">
                        <fileset dir="${main.src}"/>
                    </sourcefiles>
                </group>
                <group name="Scratchpad">
                    <classfiles>
                        <fileset dir="${scratchpad.output.dir}">
                        	<!-- exclude some generated classes -->
							<exclude name="org/apache/poi/hwpf/model/types/*.class"/>
							<exclude name="org/apache/poi/hdf/model/hdftypes/definitions/*.class"/>
						</fileset>
                    </classfiles>
                    <sourcefiles encoding="UTF-8">
                        <fileset dir="${scratchpad.src}"/>
                    </sourcefiles>
                </group>
                <group name="OOXML">
                    <classfiles>
                        <fileset dir="${ooxml.output.dir}"/>
                        <!-- there are no actual POI classes in build/ooxml-lite-classes, only generated code...
                        fileset dir="${ooxml.lite.output.dir}">
                            <exclude name="org/openxmlformats/**"/>
                            <exclude name="schema*/**"/>
                        	<exclude name="org/etsi/**"/>
                        	<exclude name="org/w3/**"/>
                        	<exclude name="com/**"/>
                        </fileset-->
                    </classfiles>
                    <sourcefiles encoding="UTF-8">
                        <fileset dir="${ooxml.src}"/>
                        <!--fileset dir="${ooxml.lite.src}"/-->
                    </sourcefiles>
                </group>
                <group name="Excelant">
                    <classfiles>
                        <fileset dir="${excelant.output.dir}"/>
                    </classfiles>
                    <sourcefiles encoding="UTF-8">
                        <fileset dir="${excelant.src}"/>
                    </sourcefiles>
                </group>
                <!--group name="Examples">
                    <classfiles>
                        <fileset dir="${examples.output.dir}"/>
                    </classfiles>
                    <sourcefiles encoding="UTF-8">
                        <fileset dir="${examples.src}"/>
                    </sourcefiles>
                </group-->
            </structure>
        
            <html destdir="${coverage.dir}"/>
            <xml destfile="${coverage.dir}/coverage.xml"/>
        </jacoco:report>        
        
        <echo message="Coverage results are available at ${coverage.dir}/index.html, ${coverage.dir}/coverage.xml" />
    </target>

    <target name="-test-main-check">
        <uptodate property="main.test.notRequired" targetfile="${main.testokfile}">
            <srcfiles dir="${main.src}"/>
            <srcfiles dir="${main.src.test}"/>
        </uptodate>
    </target>

    <target name="test-main" unless="main.test.notRequired"
            depends="compile-main, -test-main-check,jacocotask" xmlns:jacoco="antlib:org.jacoco.ant">
        <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-main.exec">
            <junit fork="yes" forkmode="once" printsummary="yes" haltonfailure="${halt.on.test.failure}"
                   failureproperty="main.test.failed" showoutput="true">
                <classpath refid="test.classpath"/>
                <syspropertyset refid="junit.properties"/>
                <jvmarg value="${poi.test.locale}"/>
                <jvmarg value="-ea"/>
                <jvmarg value="-Xmx256m"/>
            	<jvmarg value="-Dadditionaljar=${additionaljar}"/>
                <formatter type="plain"/>
                <formatter type="xml"/>
                <batchtest todir="${main.reports.test}">
                    <fileset dir="${main.src.test}">
                        <include name="**/${testpattern}.java"/>
                        <exclude name="**/All*Tests.java"/>
                        <exclude name="**/TestUnfixedBugs.java"/>
                        <exclude name="**/TestcaseRecordInputStream.java"/>
                    </fileset>
                </batchtest>
            </junit>
        </jacoco:coverage>
        <delete file="${main.testokfile}"/>
        <antcall target="-test-main-write-testfile"/>
    </target>

    <target name="-test-property-check" unless="testcase">
        <echo message="Please use -Dtestcase=org.your.testcase to run a single test"/>
        <fail/>
    </target>

    <target name="-test-main-write-testfile" unless="main.test.failed">
        <echo file="${main.testokfile}" append="false" message="testok"/>
    </target>

    <target name="-test-scratchpad-check">
        <uptodate property="scratchpad.test.notRequired" targetfile="${scratchpad.testokfile}">
            <srcfiles dir="${scratchpad.src}"/>
            <srcfiles dir="${scratchpad.src.test}"/>
        </uptodate>
    </target>

    <target name="test-scratchpad" depends="compile-main,compile-scratchpad,-test-scratchpad-check,jacocotask,test-scratchpad-download-resources"
            unless="scratchpad.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant">
        <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-scratchpad.exec">
            <junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
                   failureproperty="scratchpad.test.failed">
                <classpath refid="test.scratchpad.classpath"/>
                <syspropertyset refid="junit.properties"/>
                <jvmarg value="${poi.test.locale}"/>
                <jvmarg value="-ea"/>
            	<jvmarg value="-Dadditionaljar=${additionaljar}"/>
                <!-- 
                  YK: ensure that JUnit has enough memory to run tests. 
                  Without the line below tests fail on Mac OS X with jdk-1.6.26 
                  and on Windows with jdk-1.5.22 
                -->
                <jvmarg value="-Xmx256M"/>            
                <formatter type="plain"/>
                <formatter type="xml"/>
                <batchtest todir="${scratchpad.reports.test}">
                    <fileset dir="${scratchpad.src.test}">
                        <include name="**/${testpattern}.java"/>
                        <exclude name="**/AllTests.java"/>
                    </fileset>
                </batchtest>
            </junit>
        </jacoco:coverage>
        <delete file="${scratchpad.testokfile}"/>
        <antcall target="-test-scratchpad-write-testfile"/>
    </target>

    <target name="-test-scratchpad-write-testfile" unless="scratchpad.test.failed">
        <echo file="${scratchpad.testokfile}" append="false" message="testok"/>
    </target>

    <target name="-test-ooxml-check">
        <uptodate property="ooxml.test.notRequired" targetfile="${ooxml.testokfile}">
            <srcfiles dir="${ooxml.src}"/>
            <srcfiles dir="${ooxml.src.test}"/>
        </uptodate>
    </target>

    <macrodef name="ooxml-test-runner" xmlns:jacoco="antlib:org.jacoco.ant">    
        <attribute name="classpath"/>
        <attribute name="type"/>
        <sequential>
            <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-@{type}.exec">
              <junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
                     failureproperty="ooxml.test.failed">
                  <classpath refid="@{classpath}"/>
                  <syspropertyset refid="junit.properties"/>
                  <jvmarg value="${poi.test.locale}"/>
                  <jvmarg value="-ea"/>
                  <jvmarg value="-Dadditionaljar=${additionaljar}"/>
                  <formatter type="plain"/>
                  <formatter type="xml"/>
                  <batchtest todir="${ooxml.reports.test}">
                      <fileset dir="${ooxml.src.test}">
                          <include name="**/${testpattern}.java"/>
                          <exclude name="**/TestUnfixedBugs.java"/>
                          <exclude name="**/All*Tests.java"/>
                      	  <exclude name="**/TestSignatureInfo.java"/>
                      </fileset>
                  </batchtest>
              </junit>
            </jacoco:coverage>
            <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-@{type}-xmlsec.exec">
              <junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
                     failureproperty="ooxml.xmlsec.test.failed">
                  <classpath>
                  	<path refid="@{classpath}"/>
                  	<path refid="ooxml.xmlsec.classpath"/>
                  </classpath>
                  <syspropertyset refid="junit.properties"/>
                  <jvmarg value="${poi.test.locale}"/>
                  <jvmarg value="-ea"/>
                  <jvmarg value="-Dadditionaljar=${additionaljar}"/>
                  <formatter type="plain"/>
                  <formatter type="xml"/>
                  <batchtest todir="${ooxml.reports.test}">
                      <fileset dir="${ooxml.src.test}">
                      	  <include name="**/TestSignatureInfo.java"/>
                      </fileset>
                  </batchtest>
              </junit>
            </jacoco:coverage>
        </sequential>
    </macrodef>    

    <target name="test-ooxml" depends="compile-main,compile-ooxml,-test-ooxml-check,jacocotask" unless="ooxml.test.notRequired">
        <ooxml-test-runner classpath="test.ooxml.classpath" type="ooxml"/>
        <delete file="${ooxml.testokfile}"/>
        <antcall target="-test-ooxml-write-testfile"/>
    </target>

    <target name="-test-ooxml-write-testfile" unless="ooxml.test.failed">
        <echo file="${ooxml.testokfile}" append="false" message="testok"/>
    </target>

    <target name="-test-integration-check">
        <uptodate property="integration.test.notRequired" targetfile="${integration.testokfile}">
            <srcfiles dir="${integration.src.test}"/>
        </uptodate>
    </target>

    <target name="test-integration" depends="compile-integration,-test-integration-check,jacocotask"
            unless="integration.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant">
        <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-integration.exec">
            <junit printsummary="withOutAndErr" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
                   failureproperty="integration.test.failed" showoutput="true">
                <classpath refid="test.integration.classpath"/>
                <syspropertyset refid="junit.properties"/>
                <jvmarg value="${poi.test.locale}"/>
                <jvmarg value="-ea"/>
                <!-- 
                  YK: ensure that JUnit has enough memory to run tests. 
                  Without the line below tests fail on Mac OS X with jdk-1.6.26 
                  and on Windows with jdk-1.5.22 
                -->
                <jvmarg value="-Xmx1512M"/>            
            	<jvmarg value="-Dadditionaljar=${additionaljar}"/>
                <formatter type="plain"/>
                <formatter type="xml"/>
                <batchtest todir="${integration.reports.test}">
                    <fileset dir="${integration.src.test}">
                        <include name="**/${testpattern}.java"/>
                    </fileset>
                </batchtest>
            </junit>
        </jacoco:coverage>
        <delete file="${integration.testokfile}"/>
        <antcall target="-test-integration-write-testfile"/>
    </target>

    <target name="-test-integration-write-testfile" unless="integration.test.failed">
        <echo file="${integration.testokfile}" append="false" message="testok"/>
    </target>
	
    <target name="compile-ooxml-lite" depends="compile-ooxml">
        <property name="ooxml.lite-merged.dir" location="build/ooxml-lite-merged"/>
        <mkdir dir="${ooxml.lite-merged.dir}"/>

    	<jar destfile="${ooxml.lite-merged.dir}/ooxml-lite-merged.jar">
    		<zipfileset includes="**/*" src="${ooxml.xsds.jar}"/>
        	<zipfileset includes="**/*" src="${ooxml.security.jar}"/>
        </jar>
    	
        <java classname="org.apache.poi.util.OOXMLLite" fork="yes"
        	failonerror="true">
        	<classpath>
        		<pathelement path="${ooxml.lite-merged.dir}/ooxml-lite-merged.jar"/>
    		</classpath>
            <classpath refid="test.ooxml.classpath"/>
        	<classpath refid="ooxml.xmlsec.classpath"/>
            <syspropertyset refid="junit.properties"/>
            <jvmarg value="${poi.test.locale}"/>
            <jvmarg value="-Dadditionaljar=${additionaljar}"/>
            <arg value="-ooxml"/>
            <arg value="${ooxml.lite-merged.dir}/ooxml-lite-merged.jar"/>
            <arg value="-test"/>
            <arg value="${ooxml.output.test.dir}"/>
            <arg value="-dest"/>
            <arg value="${ooxml.lite.output.dir}"/>
        </java>
    </target>

    <target name="test-ooxml-lite" depends="jacocotask,compile-ooxml-xsds,compile-ooxml-lite">
        <delete file="${ooxml.testokfile}"/>
        <echo message="Running ooxml tests against 'poi-ooxml-schemas'"/>
        <ooxml-test-runner classpath="ooxml-lite.classpath" type="ooxml-lite"/>
    </target>
    
    <target name="-test-excelant-check">
        <uptodate property="excelant.test.notRequired" targetfile="${excelant.testokfile}">
            <srcfiles dir="${excelant.src}"/>
            <srcfiles dir="${excelant.src.test}"/>
        </uptodate>
    </target>

    <target name="-test-excelant-write-testfile" unless="excelant.test.failed">
        <echo file="${excelant.testokfile}" append="false" message="testok"/>
    </target>

    <target name="test-excelant" depends="compile-excelant,-test-excelant-check,jacocotask"
            unless="excelant.test.notRequired" xmlns:jacoco="antlib:org.jacoco.ant">
        <jacoco:coverage enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="build/jacoco-excelant.exec">
            <junit printsummary="yes" fork="yes" forkmode="once" haltonfailure="${halt.on.test.failure}"
                   failureproperty="excelant.test.failed">
                <classpath refid="test.excelant.classpath"/>
                <syspropertyset refid="junit.properties"/>
                <jvmarg value="${poi.test.locale}"/>
                <jvmarg value="-ea"/>
                <jvmarg value="-Dadditionaljar=${additionaljar}"/>
                <formatter type="plain"/>
                <formatter type="xml"/>
                <batchtest todir="${excelant.reports.test}">
                    <fileset dir="${excelant.src.test}">
                        <include name="**/${testpattern}.java"/>
                    </fileset>
                </batchtest>
            </junit>
        </jacoco:coverage>
        <delete file="${excelant.testokfile}"/>
        <antcall target="-test-excelant-write-testfile"/>
    </target>



    <target name="-check-docs">
        <uptodate property="main.docs.notRequired" targetfile="${build.site}/index.html">
            <srcfiles dir="${main.documentation}" />
        </uptodate>
    </target>

    <target name="-check-forrest-installed" unless="env.FORREST_HOME">
        <echo>Please install Apache Forrest (see
            &lt;http://forrest.apache.org/index.html&gt;) and set the
            FORREST_HOME environment variable!
        </echo>
        <fail message="Apache Forrest is not installed."/>
    </target>

    <target name="docs" depends="init, -check-forrest-installed, -check-docs"
            unless="main.docs.notRequired" description="Builds the POI website">

        <mkdir dir="${build.site.src}/${main.documentation}"/>
        <copy todir="${build.site.src}/${main.documentation}">
            <fileset dir="${main.documentation}"/>
        </copy>
        <copy file="forrest.properties" tofile="${build.site.src}/forrest.properties"/>

        <move
                file="${build.site.src}/src/documentation/content/xdocs/status.xml"
                tofile="${build.site.src}/status.xml"/>

        <ant antfile="${env.FORREST_HOME}/forrest.antproxy.xml" target="site">
            <property name="project.home" location="${build.site.src}"/>
        </ant>

        <echo>Broken links:</echo>
        <echo file="${build.site}/../tmp/brokenlinks.txt"/>

        <touch>
            <fileset dir="${build.site}"/>
        </touch>
    </target>

    <!-- Generates the API documentation. -->
    <target name="javadocs"
            description="Generates the API documentation">
        <javadoc verbose="false" author="true" destdir="${apidocs.report.dir}"
                 windowtitle="POI API Documentation" use="true" version="true" 
                 maxmemory="384M" additionalparam="-notimestamp" locale="en_US" 
                 classpathref="javadoc.classpath">
            <packageset dir="${main.src}" defaultexcludes="yes">
                <include name="org/apache/poi/**"/>
            </packageset>
            <packageset dir="${scratchpad.src}" defaultexcludes="yes">
                <include name="org/apache/poi/**"/>
                <exclude name="org/apache/poi/hdf/**"/>
            </packageset>
            <packageset dir="${ooxml.src}" defaultexcludes="yes">
                <include name="org/apache/poi/**"/>
            </packageset>

            <doctitle><![CDATA[<h1>POI API Documentation</h1>]]></doctitle>
            <bottom>
                <![CDATA[<i>Copyright ${tstamp.year} The Apache Software Foundation or
        its licensors, as applicable.</i>]]>
            </bottom>
            <group>
                <title>DDF - Dreadful Drawing Format</title>
                <package name="org.apache.poi.ddf*"/>
            </group>
            <group>
                <title>HPSF - Horrible Property Set Format</title>
                <package name="org.apache.poi.hpsf*"/>
            </group>
            <group>
                <title>HSSF - Horrible Spreadsheet Format</title>
                <package name="org.apache.poi.hssf*"/>
            </group>
            <group>
                <title>HWPF - Horrible Word Processor Format</title>
                <package name="org.apache.poi.hwpf*"/>
            </group>
            <group>
                <title>POIFS - POI File System</title>
                <package name="org.apache.poi.poifs*"/>
            </group>
            <group>
                <title>Utilities</title>
                <package name="org.apache.poi.util*"/>
            </group>
            <group>
                <title>Examples</title>
                <package name="org.apache.poi.hpsf.examples*"/>
                <package name="org.apache.poi.hssf.usermodel.examples*"/>
            </group>
        </javadoc>
    </target>


    <!-- Generates documentation and reports -->
    <target name="site" depends="docs,javadocs"
            description="Generates POI's website's contents"/>


    <target name="maven-poms"
            description="Builds the POM files for a maven distribution, and copies these and the jars to the appropriate locations">

        <!-- Build the org.apache.poi poms -->
        <copy file="maven/poi.pom" tofile="${dist.dir}/poi-${version.id}.pom">
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="${version.id}"/>
                </replacetokens>
            </filterchain>
        </copy>
        <copy file="maven/poi-scratchpad.pom" tofile="${dist.dir}/poi-scratchpad-${version.id}.pom">
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="${version.id}"/>
                </replacetokens>
            </filterchain>
        </copy>
        <copy file="maven/poi-ooxml.pom" tofile="${dist.dir}/poi-ooxml-${version.id}.pom">
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="${version.id}"/>
                </replacetokens>
            </filterchain>
        </copy>
        <copy file="maven/poi-examples.pom" tofile="${dist.dir}/poi-examples-${version.id}.pom">
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="${version.id}"/>
                </replacetokens>
            </filterchain>
        </copy>
        <copy file="maven/poi-ooxml-schemas.pom" tofile="${dist.dir}/poi-ooxml-schemas-${version.id}.pom">
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="${version.id}"/>
                </replacetokens>
            </filterchain>
        </copy>
        <copy file="maven/poi-excelant.pom" tofile="${dist.dir}/poi-excelant-${version.id}.pom">
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="${version.id}"/>
                </replacetokens>
            </filterchain>
        </copy>
        <copy file="maven/mvn-deploy.sh" todir="${dist.dir}">
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="${version.id}"/>
                    <token key="DSTAMP" value="${DSTAMP}"/>
                </replacetokens>
            </filterchain>
        </copy>
        <echo>Maven POMs are located in ${dist.dir}</echo>
        <echo>Use mvn-deploy.sh to deploy the artifacts in the remote repository</echo>
    </target>

    <target name="-manifest">
        <manifest file="build/poi-manifest.mf">
            <attribute name="Built-By" value="${user.name}"/>
            <attribute name="Specification-Title" value="Apache POI"/>
            <attribute name="Specification-Version" value="${version.id}"/>
            <attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
            <attribute name="Implementation-Title" value="Apache POI"/>
            <attribute name="Implementation-Version" value="${version.id}"/>
            <attribute name="Implementation-Vendor-Id" value="org.apache.poi"/>
            <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
        </manifest>
    </target>

    <target name="jar" depends="compile-all, compile-version, -manifest" description="Creates jar files for distribution">
        <jar destfile="${dist.dir}/${jar.name}-${version.id}-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${main.output.dir}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-scratchpad-${version.id}-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${scratchpad.output.dir}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-ooxml-${version.id}-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${ooxml.output.dir}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-examples-${version.id}-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${examples.output.dir}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-ooxml-schemas-${version.id}-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${ooxml.lite.output.dir}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-excelant-${version.id}-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${excelant.output.dir}"/>
            <metainf dir="legal/"/>
        </jar>
    </target>

    <target name="jar-src" depends="compile-all, compile-version, -manifest" description="Sources for Maven">
        <jar destfile="${dist.dir}/${jar.name}-${version.id}-sources-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${main.src}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-scratchpad-${version.id}-sources-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${scratchpad.src}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-ooxml-${version.id}-sources-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${ooxml.src}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-examples-${version.id}-sources-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${examples.src}"/>
            <metainf dir="legal/"/>
        </jar>
        <jar destfile="${dist.dir}/${jar.name}-excelant-${version.id}-sources-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${excelant.src}"/>
            <metainf dir="legal/"/>
        </jar>
    </target>


    <target name="-do-jar-check-javadocs-package-list">
        <condition property="javadocs.package-list.present">
        	<available file="build/tmp/site/build/site/apidocs/package-list"/>
        </condition>
    </target>

    <target name="-do-jar-create-javadocs-package-list"
    	depends="-do-jar-check-javadocs-package-list"
    	unless="javadocs.package-list.present">
    	<antcall target="javadocs"/>
    </target>
	
	
	<target name="jar-javadocs" description="JavaDocs for Maven" depends="compile,-manifest,-do-jar-create-javadocs-package-list">
        <property name="build.maven.javadocs" location="build/tmp/maven-javadocs"/>

        <!-- Build and package the main javadocs -->
        <antcall target="-do-jar-javadocs">
           <param name="srcfolder" value="${main.src}" />
           <param name="jarname" value="${jar.name}" />
        </antcall>
        <!-- Build and package the scratchpad javadocs -->
        <antcall target="-do-jar-javadocs">
           <param name="srcfolder" value="${scratchpad.src}" />
           <param name="jarname" value="${jar.name}-scratchpad" />
        </antcall>
        <!-- Build and package the ooxml javadocs -->
        <antcall target="-do-jar-javadocs">
           <param name="srcfolder" value="${ooxml.src}" />
           <param name="jarname" value="${jar.name}-ooxml" />
        </antcall>
    </target>

	<target name="-do-jar-javadocs">
        <echo message="Building ${jarname} javadocs from ${srcfolder}" />
        <delete dir="${build.maven.javadocs}"/>
        <mkdir dir="${build.maven.javadocs}"/>
        <javadoc verbose="false" author="false" destdir="${build.maven.javadocs}"
                 windowtitle="POI API Documentation" use="false" version="false" 
                 maxmemory="384M" additionalparam="-notimestamp -quiet" locale="en_US"
                 classpathref="javadoc.classpath">
            <packageset dir="${srcfolder}" defaultexcludes="yes">
                <include name="org/apache/poi/**"/>
            </packageset>
            <link offline="true" href="https://poi.apache.org/apidocs" packagelistLoc="build/tmp/site/build/site/apidocs"/>
        </javadoc>
        <jar destfile="${dist.dir}/${jarname}-${version.id}-javadocs-${DSTAMP}.jar"
             manifest="build/poi-manifest.mf">
            <fileset dir="${build.maven.javadocs}"/>
            <metainf dir="legal/"/>
        </jar>
    </target>

    <target name="release-notes" depends="init">
        <copy file="src/documentation/RELEASE-NOTES.txt" todir="build/dist/">
            <filterset>
                <filter token="VERSION" value="${version.id}"/>
                <filter token="DSTAMP"  value="${DSTAMP}"/>
                <filter token="RELEASE_TAG" value="${version.rel}"/>
            </filterset>
        </copy>
    </target>

    <target name="assemble" depends="jar,jar-src,jar-javadocs">
         <!-- jars to include in binary assemblies -->         
         <patternset id="bin.dist.jars">
            <include name="${jar.name}-${version.id}-${DSTAMP}.jar"/>
            <include name="${jar.name}-scratchpad-${version.id}-${DSTAMP}.jar"/>
            <include name="${jar.name}-ooxml-${version.id}-${DSTAMP}.jar"/>
            <include name="${jar.name}-examples-${version.id}-${DSTAMP}.jar"/>
            <include name="${jar.name}-ooxml-schemas-${version.id}-${DSTAMP}.jar"/>
            <include name="${jar.name}-excelant-${version.id}-${DSTAMP}.jar"/>
         </patternset>  

        <!-- patterns to exclude from source assemblies -->         
        <patternset id="src.dist.patterns"
            excludes="build/**,
                      dist*/**,
                      maven/**,
                      lib/**,
                      compile-lib/**,
                      ooxml-lib/**,
                      scripts/**,
                      TEST*,
                      *.ipr,
                      *.iml,
                      *.iws,
                      *.lnk,
                      *.rdf,
                      *.swp,
                      .settings/**,
                      .classpath,
                      .settings/**,
                      .project"/>
         
        <property name="zipdir" value="${jar.name}-${version.id}"/>

        <zip destfile="${dist.dir}/${jar.name}-bin-${version.id}-${DSTAMP}.zip">
            <zipfileset dir="legal/" prefix="${zipdir}"/>
            <zipfileset dir="${main.lib}" prefix="${zipdir}/lib">
              <include name="commons-codec-*.jar"/>
              <include name="commons-logging-*.jar"/>
              <include name="junit-*.jar"/>
              <include name="log4j-*.jar"/>
            </zipfileset>
            <zipfileset dir="${ooxml.lib}" prefix="${zipdir}/ooxml-lib">
              <include name="xmlbeans-2.6*.jar"/>
            </zipfileset>
            <zipfileset dir="${dist.dir}" prefix="${zipdir}">
                <patternset refid="bin.dist.jars"/>
            </zipfileset>
            <zipfileset dir="${build.site}" prefix="${zipdir}/docs"/>
        </zip>

        <zip destfile="${dist.dir}/${jar.name}-src-${version.id}-${DSTAMP}.zip">
            <zipfileset dir="legal/" prefix="${zipdir}" />
            <zipfileset dir="." prefix="${zipdir}">
                <patternset refid="src.dist.patterns"/>
            </zipfileset>
        </zip>
        
        <tar destfile="${dist.dir}/${jar.name}-bin-${version.id}-${DSTAMP}.tar.gz"
               longfile="gnu"
               compression="gzip">
            <tarfileset dir="legal/" prefix="${zipdir}"/>
            <zipfileset dir="${main.lib}" prefix="${zipdir}/lib">
              <include name="commons-codec-*.jar"/>
              <include name="commons-logging-*.jar"/>
              <include name="junit-*.jar"/>
              <include name="log4j-*.jar"/>
            </zipfileset>
            <tarfileset dir="${ooxml.lib}" prefix="${zipdir}/ooxml-lib">
              <include name="xmlbeans-2.6*.jar"/>
            </tarfileset>
            <tarfileset dir="${build.site}" prefix="${zipdir}/docs"/>
            <tarfileset dir="${dist.dir}" prefix="${zipdir}">
                <patternset refid="bin.dist.jars"/>
            </tarfileset>
        </tar>

        <tar destfile="${dist.dir}/${jar.name}-src-${version.id}-${DSTAMP}.tar.gz"
             longfile="gnu"
             compression="gzip">
            <tarfileset dir="legal/" prefix="${zipdir}" />
            <tarfileset dir="." prefix="${zipdir}">
                <patternset refid="src.dist.patterns"/>
            </tarfileset>
        </tar>
         
        <!-- script to create signatures and hashes -->
        <copy file="maven/multisign.sh" todir="${dist.dir}"/>

        <echo>Creating Maven POMs</echo>
        <antcall target="maven-poms"/>

        <echo>Distribution located in ${dist.dir}</echo>
        <echo>Use ${dist.dir}/multisign.sh to create md5 checksums and GPG signatures</echo>
    </target>

    <target name="osgi" depends="mvn-install">
       <echo message="Building OSGi bundle via Maven" />
       <mvn:mvn pom="osgi/pom.xml">
          <arg value="-Dpoi.version=${version.id}" />
          <arg value="install" />
       </mvn:mvn>
    </target>

    <target name="dist" depends="clean, compile-all, test-all, site, jar, release-notes, assemble"
            description="Creates the entire distribution into build/dist, from scratch">
    </target>

    <target name="gump" depends="compile-all, test-all, jar"/>
    <target name="jenkins" depends="compile-all, test-all, test-integration, jar, javadocs, assemble, findbugs, release-notes, rat-check"/>

    <available property="maven.ant.tasks.present" classname="org.apache.maven.artifact.ant.Pom"/>
    <target name="maven.ant.tasks-check">
      <fail unless="maven.ant.tasks.present">
      Maven ant tasks not found.
      Please make sure the maven-ant-tasks jar is in ANT_HOME/lib, or made 
      available to Ant using other mechanisms like -lib or CLASSPATH.
      
      You can download the Maven Ant Tasks from http://maven.apache.org/ant-tasks/download.html
      </fail>
    </target>

    <macrodef name="m2-install">
      <attribute name="artifactId"/>
      
      <sequential>
        <mvn:install file="${dist.dir}/@{artifactId}-${version.id}-${DSTAMP}.jar">
          <pom file="${dist.dir}/@{artifactId}-${version.id}.pom"/>
        </mvn:install>
      </sequential>
    </macrodef>  

    <!--
      Install POI artifacts into the local repository. 
      Invoking this command is equivalent to 'mvn install' in Maven-driven projects.
    -->
    <target name="mvn-install" depends="maven.ant.tasks-check,jar,maven-poms">
      <m2-install artifactId="poi"/>
      <m2-install artifactId="poi-scratchpad"/>
      <m2-install artifactId="poi-ooxml"/>
      <m2-install artifactId="poi-examples"/>
      <m2-install artifactId="poi-ooxml-schemas"/>
      <m2-install artifactId="poi-excelant"/>
    </target>
    
    <!-- Runs Apache Rat against the source code, to spot any files -->
    <!--  which are missing the correct license headers -->
    <!-- You need to download rat from http://incubator.apache.org/rat/ -->
    <!--  and place the Rat jar into your ant lib before running -->
    <target name="rat-check" depends="check-jars,fetch-jars">
       <mkdir dir="${rat.reportdir}" />

       <typedef resource="org/apache/rat/anttasks/antlib.xml"
             uri="antlib:org.apache.rat.anttasks"
             classpath="${rat.jar}" />
       <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" reportFile="${rat.report}">
           <fileset dir="src/">
              <exclude name="documentation/*.txt" />
              <exclude name="documentation/content/xdocs/dtd/" />
              <exclude name="documentation/content/xdocs/entity/" />
              <exclude name="scratchpad/testcases/dummy.txt" />
              <exclude name="contrib/testcases/dummy.txt" />
              <exclude name="examples/lib/dummy.txt" />
              <exclude name="resources/ooxml/org/apache/poi/xslf/usermodel/notesMaster.xml" />
              <exclude name="resources/ooxml/org/apache/poi/xslf/usermodel/presetShapeDefinitions.xml" />
              <exclude name="examples/src/org/apache/poi/xslf/usermodel/pie-chart-data.txt" />
           </fileset>
       </rat:report>
       
       <loadfile property="rat.reportcontent" srcFile="${rat.report}"/>
       <echo>${rat.reportcontent}</echo> 
       
       <!-- fail the build if at least one note is in the report -->
       <fail><condition><matches pattern="[1-9][0-9]* Unknown Licens" string="${rat.reportcontent}"/></condition></fail>
    </target>
	
	<target name="findbugs"><!-- depends="assemble" -->
        <antcall target="downloadfile">
            <param name="sourcefile" value="http://prdownloads.sourceforge.net/findbugs/findbugs-noUpdateChecks-2.0.3.zip?download"/>
            <param name="destfile" value="${main.lib}/findbugs-noUpdateChecks-2.0.3.zip"/>
        </antcall>

		<unzip src="${main.lib}/findbugs-noUpdateChecks-2.0.3.zip"
		       dest="build/findbugs/lib">
		    <patternset>
		        <include name="findbugs-2.0.3/lib/**"/>
		    </patternset>
			<mapper type="flatten"/>
		</unzip>
		
		<property name="findbugs.home" value="build/findbugs" />
		<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask">
			<classpath>
				<fileset dir="${findbugs.home}/lib">
					<include name="*.jar" />
				</fileset>
			</classpath>
		</taskdef>
		<findbugs home="${findbugs.home}" output="html" outputFile="build/findbugs.html"
			excludeFilter="src/resources/devtools/findbugs-filters.xml">
			<fileset dir="${dist.dir}">
				<include name="poi-${version.id}-*.jar"/>
				<include name="poi-scratchpad-${version.id}-*.jar"/>
				<include name="poi-ooxml-${version.id}-*.jar"/>
				<exclude name="poi-*${version.id}-sources-*.jar"/>
				<exclude name="poi-*${version.id}-javadocs-*.jar"/>
			</fileset>
			<auxClasspath path="${compile.lib}/bcpkix-jdk15on-1.51.jar" />
			<auxClasspath path="${compile.lib}/bcprov-ext-jdk15on-1.51.jar" />
			<auxClasspath path="${compile.lib}/slf4j-api-1.7.7.jar" /> 
			<auxClasspath path="${compile.lib}/xmlsec-2.0.1.jar" />
			<auxClasspath path="ooxml-lib/ooxml-schemas-1.1.jar" />
			<auxClasspath path="ooxml-lib/ooxml-security-1.0.jar" />
			<auxClasspath path="ooxml-lib/xmlbeans-2.6.0.jar" />
			<auxClasspath path="lib/commons-codec-1.9.jar" />
			<auxClasspath path="lib/commons-logging-1.1.3.jar" />
			<auxClasspath path="lib/junit-4.12.jar" />
			<sourcePath path="src/java" />
			<sourcePath path="src/ooxml/java" />
			<sourcePath path="src/scratchpad/src" />
		</findbugs>
		<findbugs home="${findbugs.home}" output="xml" outputFile="build/findbugs.xml"
			excludeFilter="src/resources/devtools/findbugs-filters.xml">
			<fileset dir="${dist.dir}">
				<include name="poi-${version.id}-*.jar"/>
				<include name="poi-scratchpad-${version.id}-*.jar"/>
				<include name="poi-ooxml-${version.id}-*.jar"/>
				<exclude name="poi-*${version.id}-sources-*.jar"/>
				<exclude name="poi-*${version.id}-javadocs-*.jar"/>
			</fileset>
			<auxClasspath path="${compile.lib}/bcpkix-jdk15on-1.51.jar" />
			<auxClasspath path="${compile.lib}/bcprov-ext-jdk15on-1.51.jar" />
			<auxClasspath path="${compile.lib}/slf4j-api-1.7.7.jar" />
			<auxClasspath path="${compile.lib}/xmlsec-2.0.1.jar" />
			<auxClasspath path="ooxml-lib/ooxml-schemas-1.1.jar" />
			<auxClasspath path="ooxml-lib/ooxml-security-1.0.jar" />
			<auxClasspath path="ooxml-lib/xmlbeans-2.6.0.jar" />
			<auxClasspath path="lib/commons-codec-1.9.jar" />
			<auxClasspath path="lib/commons-logging-1.1.3.jar" />
			<auxClasspath path="lib/junit-4.12.jar" />
			<sourcePath path="src/java" />
			<sourcePath path="src/ooxml/java" />
			<sourcePath path="src/scratchpad/src" />
		</findbugs>
	</target>

	<target name="test-scratchpad-download-resources">
		<!-- disable font downloading until TestFontRendering works on all plattforms -->
		<!-- ... eventually copy the files into the resource dirs ... -->
		<!--
		<mkdir dir="build/scratchpad-test-resources"/>
		
        <antcall target="downloadfile">
            <param name="sourcefile" value="http://sourceforge.net/projects/monafont/files/monafont/monafont-2.90/monafont-ttf-2.90.zip/download"/>
            <param name="destfile" value="build/scratchpad-test-resources/monafont-ttf-2.90.zip"/>
        </antcall>

		<unzip src="build/scratchpad-test-resources/monafont-ttf-2.90.zip"
		       dest="build/scratchpad-test-resources">
		    <patternset>
		        <include name="mona.ttf"/>
		    </patternset>
		</unzip>
		
        <antcall target="downloadfile">
            <param name="sourcefile" value="https://googlefontdirectory.googlecode.com/hg-history/c5955de4df3e40f6ab705bbccbd1f5ad93998287/cabin/Cabin-Regular.ttf"/>
            <param name="destfile" value="build/scratchpad-test-resources/Cabin-Regular.ttf"/>
        </antcall>
        -->
	</target>
	
</project>
