<?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.
-->
<!--
    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.


    updated to forrest 0.9:
    To build the documentation you will need to install forrest and set
    the FORREST_HOME environment variable.

    Since POI 4.0 you will need JDK 1.8 or newer to build and run 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" ant test

 -->
<project name="POI Build" default="help" basedir="."
    xmlns:mvn="antlib:org.apache.maven.artifact.ant"
    xmlns:openpgp="antlib:org.apache.commons.openpgp.ant"
    xmlns:staging="antlib:org.sonatype.nexus.ant.staging"
    xmlns:if="ant:if"
    xmlns:unless="ant:unless">

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

    <property name="version.id" value="5.2.3-SNAPSHOT"/>
    <property name="release.rc" value=""/>

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

    <property name="main.lib" location="${basedir}/lib/main"/>
    <property name="main-tests.lib" location="${basedir}/lib/main-tests"/>
    <property name="ooxml.lib" location="${basedir}/lib/ooxml"/>
    <property name="ooxml-tests.lib" location="${basedir}/lib/ooxml-tests"/>
    <property name="ooxml-provided.lib" location="${basedir}/lib/ooxml-provided"/>
    <property name="ooxml-batik.lib" location="${basedir}/lib/ooxml-batik"/>
    <property name="util.lib" location="${basedir}/lib/util"/>


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

    <condition property="isIBMVM">
        <contains string="${java.vendor}" substring="IBM" casesensitive="false"/>
    </condition>

    <condition property="isJava8" else="false">
        <equals arg1="${ant.java.version}" arg2="1.8"/>
    </condition>

    <!-- add addOpens parameter for Java 9 and higher -->
    <condition property="addOpens">
        <not><matches pattern="^1\..*" string="${java.version}"/></not>
    </condition>

    <!-- add addOpens parameter for Java 10 -->
    <condition property="addOpens10">
        <matches pattern="^10\..*" string="${java.version}"/>
    </condition>

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

    <macrodef name="propertyreset">
        <attribute name="name"/>
        <attribute name="value"/>
        <sequential>
            <mkdir dir="poi-excelant/build/poi-ant-contrib"/>
            <javac srcdir="poi-excelant/src/poi-ant-contrib/java" destdir="poi-excelant/build/poi-ant-contrib" includeantruntime="true" excludes="Junit5Progress.java"/>
            <taskdef name="PropertyResetHelper" classname="PropertyReset" classpath="poi-excelant/build/poi-ant-contrib"/>
            <PropertyResetHelper name="@{name}" value="@{value}" />
        </sequential>
    </macrodef>

    <!--
      JVM system properties for running tests,
      user.language and user.country are required as we have locale-sensitive formatters
    -->
    <property name="testpattern" value="Test*"/> <!--note: this excludes BaseTest* -->
    <property name="POI.testdata.path" location="test-data"/>
    <property name="java.awt.headless" value="true"/>
    <property name="java.locale.providers" value="JRE,CLDR"/>
    <property name="additionaljar" value=""/>
    <propertyreset name="user.language" value="en"/>
    <propertyreset name="user.country" value="US"/>
    <condition property="http_proxy" value="${env.http_proxy}" else="">
        <isset property="env.http_proxy"/>
    </condition>
    <!-- Fix for strange woodstox references in gump build -->
    <property name="javax.xml.stream.XMLInputFactory" value="com.sun.xml.internal.stream.XMLInputFactoryImpl"/>
    <property name="tempdir" value="build/tmp"/>

    <!-- Main: -->
    <property name="main.resources.main" value="poi/src/main/resources"/>
    <property name="main.src" location="poi/src/main/java"/>
    <property name="main.src.test" location="poi/src/test/java"/>
    <property name="main.resources.test" location="poi/src/test/resources"/>
    <property name="main.documentation" value="src/documentation"/>
    <property name="main.output.dir" location="poi/build/classes/ant/java"/>
    <property name="main.output.test.dir" location="poi/build/test-classes"/>
    <property name="main.reports.test" location="poi/build/test-results"/>
    <property name="main.testokfile" location="poi/build/testokfile.txt"/>
    <property name="main.output.gen-sources.dir" location="poi/build/generated-sources"/>
    <property name="main.version.template" location="poi/src/main/version/Version.java.template"/>
    <property name="main.version.java" location="${main.output.gen-sources.dir}/org/apache/poi/Version.java"/>

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

    <!-- Examples: -->
    <property name="examples.src" location="poi-examples/src/main/java"/>
    <property name="examples.output.dir" location="poi-examples/build/classes/ant/java"/>

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

    <property name="ooxml.lite.agent" location="build/dist/maven/poi-ooxml-lite-agent/poi-ooxml-lite-agent-${version.id}.jar"/>
    <property name="ooxml.lite.report" location="src/resources/ooxml-lite-report"/>
    <property name="ooxml.lite.jar" location="build/dist/maven/poi-ooxml-lite/poi-ooxml-lite-${version.id}.jar"/>
    <property name="ooxml.lite.includes" value="^(com/microsoft/schemas|org/(etsi|openxmlformats|w3/)|org/apache/poi/schemas)"/>
    <property name="ooxml.lite.output.dir" location="poi-ooxml-lite-agent/build/classes/ant/java"/>


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

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

    <macrodef name="dependency">
        <attribute name="prefix"/>
        <attribute name="artifact"/>
        <attribute name="usage"/>
        <attribute name="packaging" default="jar"/>
        <attribute name="repo" default="${repository.m2}"/>
        <attribute name="snapshot" default=""/>
        <attribute name="query" default=""/>
        <attribute name="target" default=""/>
        <attribute name="url" default=""/>

        <sequential>
            <local name="groupDir"/>
            <loadresource property="groupDir">
                <string>@{artifact}</string>
                <filterchain>
                    <replaceregex pattern="([^:]+).*" replace="\1"/>
                    <replaceregex pattern="\." replace="/" flags="g"/>
                </filterchain>
            </loadresource>

            <local name="artifactId"/>
            <loadresource property="artifactId">
                <string>@{artifact}</string>
                <filterchain>
                    <replaceregex pattern="[^:]+:([^:]+).*" replace="\1"/>
                </filterchain>
            </loadresource>

            <local name="versionDir"/>
            <loadresource property="versionDir">
                <string>@{artifact}</string>
                <filterchain>
                    <replaceregex pattern="[^:]+:[^:]+:([^:]+).*" replace="\1"/>
                </filterchain>
            </loadresource>

            <local name="classifier"/>
            <loadresource property="classifier">
                <string>@{artifact}</string>
                <filterchain>
                    <replaceregex pattern="[^:]+:[^:]+:[^:]+:?([^:]*)" replace="\1"/>
                    <replaceregex pattern="(.+)" replace="-\1"/>
                </filterchain>
            </loadresource>
            <property name="classifier" value=""/>

            <local name="version"/>
            <property name="version" value="${versionDir}" if:blank="@{snapshot}"/>
            <property name="version" value="@{snapshot}"/>

            <local name="usageDir"/>
            <loadresource property="usageDir">
                <string>@{usage}</string>
                <filterchain>
                    <replaceregex pattern="^([^/])" replace="/lib/\1"/>
                    <prefixlines prefix="${basedir}"/>
                </filterchain>
            </loadresource>

            <local name="jarName"/>
            <property name="jarName" value="${artifactId}-${version}${classifier}.@{packaging}"/>

            <!-- delete old versions -->
            <delete failonerror="false">
                <fileset dir="${usageDir}" excludes="${jarName}">
                    <filename regex="^${artifactId}-[0-9].*${classifier}\.@{packaging}"/>
                </fileset>
            </delete>

            <local name="jarLoc"/>
            <property name="jarLoc" value="${usageDir}/@{target}" unless:blank="@{target}"/>
            <property name="jarLoc" value="${usageDir}/${jarName}"/>

            <local name="urlLoc"/>
            <property name="urlLoc" value="@{url}" unless:blank="@{url}"/>
            <property name="urlLoc" value="@{repo}/${groupDir}/${artifactId}/${versionDir}/${jarName}@{query}"/>

            <property name="@{prefix}.@{packaging}" value="${jarLoc}"/>
            <property name="@{prefix}.url" value="${urlLoc}"/>

            <!-- TODO: add library to a queue for downloading ... -->
        </sequential>
    </macrodef>


    <!-- jars in the /lib directory, see the fetch-jars target-->
    <dependency prefix="main.commons-codec" artifact="commons-codec:commons-codec:1.15" usage="main"/>
    <dependency prefix="main.commons-collections4" artifact="org.apache.commons:commons-collections4:4.4" usage="main"/>
    <dependency prefix="main.commons-math3" artifact="org.apache.commons:commons-math3:3.6.1" usage="main"/>
    <dependency prefix="main.commons-io" artifact="commons-io:commons-io:2.11.0" usage="main"/>
    <dependency prefix="main.com.zaxxer" artifact="com.zaxxer:SparseBitSet:1.2" usage="main"/>
    <dependency prefix="main.log4j-api" artifact="org.apache.logging.log4j:log4j-api:2.18.0" usage="main"/>

    <dependency prefix="main.junit-api" artifact="org.junit.jupiter:junit-jupiter-api:5.8.2" usage="main-tests"/>
    <dependency prefix="main.junit-jengine" artifact="org.junit.jupiter:junit-jupiter-engine:5.8.2" usage="main-tests"/>
    <dependency prefix="main.junit-params" artifact="org.junit.jupiter:junit-jupiter-params:5.8.2" usage="main-tests"/>
    <dependency prefix="main.junit-opentest4j" artifact="org.opentest4j:opentest4j:1.2.0" usage="main-tests"/>
    <dependency prefix="main.junit-apiguardian" artifact="org.apiguardian:apiguardian-api:1.1.0" usage="main-tests"/>
    <dependency prefix="main.junit-pcommons" artifact="org.junit.platform:junit-platform-commons:1.8.1" usage="main-tests"/>
    <dependency prefix="main.junit-pengine" artifact="org.junit.platform:junit-platform-engine:1.8.1" usage="main-tests"/>
    <dependency prefix="main.junit-plauncher" artifact="org.junit.platform:junit-platform-launcher:1.8.1" usage="main-tests"/>


    <dependency prefix="main.jmh" artifact="org.openjdk.jmh:jmh-core:1.35" usage="main-tests"/>
    <dependency prefix="main.jmhAnnotation" artifact="org.openjdk.jmh:jmh-generator-annprocess:1.35" usage="main-tests"/>
    <dependency prefix="main.hamcrest" artifact="org.hamcrest:hamcrest:2.2" usage="main-tests"/>
    <dependency prefix="main.xmlunit" artifact="org.xmlunit:xmlunit-core:2.9.0" usage="main-tests"/>
    <dependency prefix="main.mockito" artifact="org.mockito:mockito-core:4.6.1" usage="main-tests"/>
    <dependency prefix="main.byte-buddy" artifact="net.bytebuddy:byte-buddy:1.12.3" usage="main-tests"/>
    <dependency prefix="main.byte-buddy-agent" artifact="net.bytebuddy:byte-buddy-agent:1.12.3" usage="main-tests"/>
    <dependency prefix="main.objenesis" artifact="org.objenesis:objenesis:3.1" usage="main-tests"/>
    <dependency prefix="main.log4j-core" artifact="org.apache.logging.log4j:log4j-core:2.18.0" usage="main-tests"/>
    <dependency prefix="main.commons-logging" artifact="commons-logging:commons-logging:1.2" usage="main-tests"/>

    <dependency prefix="main.ant" artifact="org.apache.ant:ant:1.10.9" usage="excelant"/>
    <dependency prefix="main.antlauncher" artifact="org.apache.ant:ant-launcher:1.10.9" usage="excelant"/>

    <!-- xml signature libs - not part of the distribution -->
    <dependency prefix="dsig.xmlsec" artifact="org.apache.santuario:xmlsec:3.0.0" usage="ooxml-provided"/>
    <dependency prefix="dsig.bouncycastle-prov" artifact="org.bouncycastle:bcprov-jdk15on:1.70" usage="ooxml-provided"/>
    <dependency prefix="dsig.bouncycastle-pkix" artifact="org.bouncycastle:bcpkix-jdk15on:1.70" usage="ooxml-provided"/>
    <dependency prefix="dsig.bouncycastle-util" artifact="org.bouncycastle:bcutil-jdk15on:1.70" usage="ooxml-provided"/>
    <!-- only used for signing the release - not used with the ooxml signatures -->
    <dependency prefix="dsig.bouncycastle-bcpg" artifact="org.bouncycastle:bcpg-jdk15on:1.70" usage="util"/>

    <!-- svg/batik/pdf libs - not part of the distribution - move batik to its own directory because of JPMS module-path issues -->
    <dependency prefix="svg.xml-apis-ext" artifact="xml-apis:xml-apis-ext:1.3.04" usage="ooxml-batik"/>
    <dependency prefix="svg.xmlgraphics-commons" artifact="org.apache.xmlgraphics:xmlgraphics-commons:2.4" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-anim" artifact="org.apache.xmlgraphics:batik-anim:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-awt-util" artifact="org.apache.xmlgraphics:batik-awt-util:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-bridge" artifact="org.apache.xmlgraphics:batik-bridge:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-codec" artifact="org.apache.xmlgraphics:batik-codec:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-constants" artifact="org.apache.xmlgraphics:batik-constants:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-css" artifact="org.apache.xmlgraphics:batik-css:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-dom" artifact="org.apache.xmlgraphics:batik-dom:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-ext" artifact="org.apache.xmlgraphics:batik-ext:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-gvt" artifact="org.apache.xmlgraphics:batik-gvt:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-i18n" artifact="org.apache.xmlgraphics:batik-i18n:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-parser" artifact="org.apache.xmlgraphics:batik-parser:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-script" artifact="org.apache.xmlgraphics:batik-script:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-shared-resources" artifact="org.apache.xmlgraphics:batik-shared-resources:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-svg-dom" artifact="org.apache.xmlgraphics:batik-svg-dom:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-svggen" artifact="org.apache.xmlgraphics:batik-svggen:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-svgrasterizer" artifact="org.apache.xmlgraphics:batik-svgrasterizer:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-transcoder" artifact="org.apache.xmlgraphics:batik-transcoder:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-util" artifact="org.apache.xmlgraphics:batik-util:1.14" usage="ooxml-batik"/>
    <dependency prefix="svg.batik-xml" artifact="org.apache.xmlgraphics:batik-xml:1.14" usage="ooxml-batik"/>
    <dependency prefix="pdf.pdfbox" artifact="org.apache.pdfbox:pdfbox:2.0.26" usage="ooxml-provided"/>
    <dependency prefix="pdf.fontbox" artifact="org.apache.pdfbox:fontbox:2.0.26" usage="ooxml-provided"/>
    <dependency prefix="pdf.graphics2d" artifact="de.rototor.pdfbox:graphics2d:0.38" usage="ooxml-provided"/>

    <!-- jars in the ooxml-lib directory, see the fetch-ooxml-jars target-->
    <dependency prefix="ooxml.curvesapi" artifact="com.github.virtuald:curvesapi:1.07" usage="ooxml"/>
    <dependency prefix="ooxml.xmlbeans" artifact="org.apache.xmlbeans:xmlbeans:5.1.0" usage="ooxml"/>
    <dependency prefix="ooxml.commons-compress" artifact="org.apache.commons:commons-compress:1.21" usage="ooxml"/>

    <!-- jars in the ooxml-test-lib directory, see the fetch-ooxml-jars target-->
    <dependency prefix="ooxml.test.reflections" artifact="org.reflections:reflections:0.10.2" usage="ooxml-tests"/>
    <dependency prefix="ooxml.test.guava" artifact="com.google.guava:guava:31.1-jre" usage="ooxml-tests"/>
    <dependency prefix="ooxml.test.javassist" artifact="org.javassist:javassist:3.27.0-GA" usage="ooxml-tests"/>
    <dependency prefix="ooxml.test.slf4j-api" artifact="org.slf4j:slf4j-api:1.7.36" usage="ooxml-tests"/>
    <dependency prefix="ooxml.test.opczip" artifact="com.github.rzymek:opczip:1.2.0" usage="ooxml-tests"/>

    <!-- coverage libs -->
    <dependency prefix="jacoco" artifact="org.jacoco:jacoco:0.8.8" usage="util" packaging="zip"/>
    <dependency prefix="asm" artifact="org.ow2.asm:asm:9.0" usage="util"/>
    <dependency prefix="asm-commons" artifact="org.ow2.asm:asm-commons:9.0" usage="util"/>
    <dependency prefix="asm-tree" artifact="org.ow2.asm:asm-tree:9.0" usage="util"/>

    <!-- license and api checks -->
    <dependency prefix="rat" artifact="org.apache.rat:apache-rat:0.13" usage="util"/>
    <dependency prefix="forbidden" artifact="de.thetaphi:forbiddenapis:3.3" usage="util"/>

    <!-- See https://www.ecma-international.org/publications/standards/Ecma-376.htm -->
    <!-- "Copy these file(s), free of charge" -->
    <property name="ooxml-schema.output.dir" location="poi-ooxml-full/build/classes/ant/java"/>
    <property name="ooxml-schema.output.test.dir" location="poi-ooxml-full/build/test-classes"/>
    <property name="ooxml-schema.output.gen-sources.dir" location="poi-ooxml-full/build/generated-sources"/>
    <property name="ooxml-schema.output.gen-classes.dir" location="poi-ooxml-full/build/generated-classes"/>
    <property name="ooxml.xsds.izip.1" value="${basedir}/poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/OfficeOpenXML-XMLSchema-Transitional.zip"/>
    <property name="ooxml.xsds.src.dir" location="poi-ooxml-full/build/xsds"/>
    <property name="ooxml.xsds.src.jar" location="build/dist/maven/poi-ooxml-full/poi-ooxml-full-${version.id}-sources.jar"/>
    <property name="ooxml.xsds.jar" location="build/dist/maven/poi-ooxml-full/poi-ooxml-full-${version.id}.jar"/>

    <!-- additional schemas are packed into the poi schemas jar, -->
    <!-- so we don't have to care about a separate versioning of the original ooxml schemas -->
    <property name="ooxml.xsds.izip.2" value="${basedir}/poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/OpenPackagingConventions-XMLSchema.zip"/>
    <property name="ooxml.security.xsd.dir" location="poi-ooxml-full/src/main/xmlschema/org/apache/poi/poifs/crypt"/>
    <property name="ooxml.visio.xsd.dir" location="poi-ooxml-full/src/main/xmlschema/org/apache/poi/xdgf"/>
    <property name="ooxml.schema.xsdconfig.dir" location="poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas"/>

    <!-- 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.*:org.slf4j.*:org.apache.logging.log4j.*:org.hamcrest.*:org.bouncycastle.*:org.apache.xmlbeans.*:org.apache.tools.*:org.apache.commons.*:org.apache.jcp.*:sun.*:schemaorg_apache_xmlbeans.*"/>

    <property name="file.leak.detector" value="-Dthis.is.a.dummy=true"/>

    <!-- 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/site"/>
    <property name="javadocs.report.dir" location="${build.site}/apidocs/dev"/>
    <property name="dist.dir" location="build/dist"/>
    <property name="halt.on.test.failure" value="true"/>

    <!-- helper jars for pgp signing, building and nexus staging -->
    <dependency prefix="dist.commons-openpgp" artifact="org.apache.commons:commons-openpgp:1.0-SNAPSHOT" usage="util"
        repo="https://repository.apache.org/content/groups/snapshots" snapshot="1.0-20190121.221905-12"/>
    <dependency prefix="dist.nexus-staging" artifact="org.sonatype.nexus.ant:nexus-staging-ant-tasks:1.6.3:uber" usage="util"/>

    <!-- jars required for maven helper targets -->
    <dependency prefix="maven.ant" artifact="org.apache.maven:maven-ant-tasks:2.1.3" usage="util"/>

    <!-- subclipse.tigris.org is gone - left-over is hosted at https://bintray.com/openmeetings/maven/org.tigris.subclipse.svnant -->
    <!-- request will be forwarded to d29vzk4ow07wi7.cloudfront.net which is an Atlassian Marketplace instance -->
    <dependency prefix="dist.svnant" artifact="org.tigris.subclipse:svnant:1.3.1" usage="util"
        repo="https://dl.bintray.com/openmeetings/maven"/>

    <!-- hosted at https://bintray.com/subclipse/maven/svnclientadapter - https://github.com/subclipse/svnclientadapter -->
    <dependency prefix="dist.svnclientadapter-base" artifact="org.tigris.svnclientadapter:adapter-base:1.12.0" usage="util"
        repo="https://dl.bintray.com/subclipse/maven"/>
    <dependency prefix="dist.svnclientadapter-svnkit" artifact="org.tigris.svnclientadapter:adapter-svnkit:1.12.0" usage="util"
        repo="https://dl.bintray.com/subclipse/maven"/>
    <dependency prefix="dist.svnclientadapter-javahl" artifact="org.tigris.svnclientadapter:adapter-javahl:1.12.0" usage="util"
        repo="https://dl.bintray.com/subclipse/maven"/>
    <dependency prefix="dist.svnkit" artifact="org.tmatesoft.svnkit:svnkit:1.10.1" usage="util"/>
    <dependency prefix="dist.svnkit-javahl16" artifact="org.tmatesoft.svnkit:svnkit-javahl16:1.10.1" usage="util"/>
    <dependency prefix="dist.sqljet" artifact="org.tmatesoft.sqljet:sqljet:1.1.13" usage="util"/>
    <dependency prefix="dist.antlr" artifact="org.antlr:antlr-runtime:3.5.2" usage="util"/>
    <dependency prefix="dist.sequence-library" artifact="de.regnis.q.sequence:sequence-library:1.0.4" usage="util"/>
    <dependency prefix="dist.lz4-java" artifact="org.lz4:lz4-java:1.7.1" usage="util"/>



    <propertyset id="junit.properties">
        <propertyref name="POI.testdata.path"/>
        <propertyref name="java.awt.headless"/>
        <propertyref name="http_proxy"/>
        <propertyref name="additionaljar"/>
        <propertyref name="user.language"/>
        <propertyref name="user.country"/>
        <propertyref name="javax.xml.stream.XMLInputFactory"/>
        <!-- required for Java 9 compilation -->
        <propertyref name="java.locale.providers"/>
        <!-- to detect if we are running on slow Gump VM -->
        <propertyref name="version.id"/>
        <propertyref name="scratchpad.ignore"/>
    </propertyset>

    <path id="main.classpath">
        <pathelement location="${main.commons-codec.jar}"/>
        <pathelement location="${main.commons-collections4.jar}"/>
        <pathelement location="${main.commons-math3.jar}"/>
        <pathelement location="${main.commons-io.jar}"/>
        <pathelement location="${main.com.zaxxer.jar}"/>
        <pathelement location="${main.log4j-api.jar}"/>
    </path>

    <!-- some libraries should only be required for compiling/running tests -->
    <path id="test.jar.classpath">
        <pathelement location="${main.junit-api.jar}"/>
        <pathelement location="${main.junit-jengine.jar}"/>
        <pathelement location="${main.junit-params.jar}"/>
        <pathelement location="${main.junit-plauncher.jar}"/>
        <pathelement location="${main.junit-pengine.jar}"/>
        <pathelement location="${main.junit-pcommons.jar}"/>
        <pathelement location="${main.junit-opentest4j.jar}"/>
        <pathelement location="${main.junit-apiguardian.jar}"/>
        <pathelement location="${main.jmh.jar}"/>
        <pathelement location="${main.jmhAnnotation.jar}"/>
        <pathelement location="${main.hamcrest.jar}"/>
        <pathelement location="${main.xmlunit.jar}"/>
        <pathelement location="${main.mockito.jar}"/>
        <pathelement location="${main.byte-buddy.jar}"/>
        <pathelement location="${main.byte-buddy-agent.jar}"/>
        <pathelement location="${main.objenesis.jar}"/>
        <pathelement location="${main.log4j-core.jar}"/>
        <pathelement location="${main.commons-logging.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.bouncycastle-util.jar}"/>
    </path>

    <path id="ooxml.base.classpath">
        <pathelement location="${ooxml.curvesapi.jar}"/>
        <pathelement location="${ooxml.xmlbeans.jar}"/>
        <pathelement location="${ooxml.commons-compress.jar}"/>
        <path refid="main.classpath"/>
        <pathelement location="${main.output.dir}"/>
        <pathelement location="${ooxml.test.guava.jar}"/>
        <pathelement location="${ooxml.test.opczip.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}" unless:true="${scratchpad.ignore}"/>
    </path>

    <path id="batik.classpath">
        <pathelement location="${svg.batik-anim.jar}"/>
        <pathelement location="${svg.batik-awt-util.jar}"/>
        <pathelement location="${svg.batik-bridge.jar}"/>
        <pathelement location="${svg.batik-codec.jar}"/>
        <pathelement location="${svg.batik-constants.jar}"/>
        <pathelement location="${svg.batik-css.jar}"/>
        <pathelement location="${svg.batik-dom.jar}"/>
        <pathelement location="${svg.batik-ext.jar}"/>
        <pathelement location="${svg.batik-gvt.jar}"/>
        <pathelement location="${svg.batik-i18n.jar}"/>
        <pathelement location="${svg.batik-parser.jar}"/>
        <pathelement location="${svg.batik-script.jar}"/>
        <pathelement location="${svg.batik-shared-resources.jar}"/>
        <pathelement location="${svg.batik-svg-dom.jar}"/>
        <pathelement location="${svg.batik-svggen.jar}"/>
        <pathelement location="${svg.batik-svgrasterizer.jar}"/>
        <pathelement location="${svg.batik-transcoder.jar}"/>
        <pathelement location="${svg.batik-util.jar}"/>
        <pathelement location="${svg.batik-xml.jar}"/>
        <pathelement location="${svg.xml-apis-ext.jar}"/>
        <pathelement location="${svg.xmlgraphics-commons.jar}"/>
    </path>

    <path id="pdfbox.classpath">
        <pathelement location="${pdf.pdfbox.jar}"/>
        <pathelement location="${pdf.fontbox.jar}"/>
        <pathelement location="${pdf.graphics2d.jar}"/>
    </path>

    <path id="ooxml.classpath">
        <pathelement location="${ooxml.xsds.jar}"/>
        <path refid="ooxml.base.classpath"/>
        <path refid="batik.classpath"/>
        <path refid="pdfbox.classpath"/>
    </path>

    <path id="ooxml.lite.verify.classpath">
        <pathelement location="build/dist/maven/poi-ooxml-lite/poi-ooxml-lite-${version.id}.jar"/>
        <path refid="ooxml.base.classpath"/>
    </path>

    <path id="test.ooxml.reflections.classpath">
        <pathelement location="${ooxml.test.reflections.jar}"/>
        <pathelement location="${ooxml.test.guava.jar}"/>
        <pathelement location="${ooxml.test.javassist.jar}"/>
    </path>

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

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

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

    <path id="javadoc.classpath">
        <path refid="main.classpath"/>
        <path refid="scratchpad.classpath"/>
        <path refid="ooxml.classpath"/>
        <path refid="ooxml.xmlsec.classpath"/>
        <path refid="test.jar.classpath"/>
        <pathelement location="${main.log4j-api.jar}"/>
        <path path="${env.CLASSPATH}"/>
    </path>

    <patternset id="exclude-scratchpad-test">
        <exclude name="**/TestExtractorFactory.class"/>
        <exclude name="**/TestEmbedOLEPackage.class"/>
        <exclude name="**/TestHxxFEncryption.class"/>
    </patternset>

    <!-- 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}/${java.version}, isJava8: ${isJava8}
  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
    - 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" description="Initialization run before other targets.">
        <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="${ooxml.output.dir}"/>
        <mkdir dir="${ooxml.output.test.dir}"/>
        <mkdir dir="${ooxml-schema.output.dir}"/>
        <mkdir dir="${ooxml-schema.output.test.dir}"/>
        <mkdir dir="${ooxml-schema.output.gen-sources.dir}"/>
        <mkdir dir="${ooxml-schema.output.gen-classes.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 Ant: ${ant.version} from ${ant.home}, Ant detected Java ${ant.java.version} (may be different than actual Java sometimes...)" />
        <echo message="Using Java: ${java.version}/${java.runtime.version}/${java.vm.version}/${java.vm.name} from ${java.vm.vendor} on ${os.name}: ${os.version}" />
        <echo message="Building Apache POI version ${version.id} and RC: ${release.rc}, isJava8: ${isJava8}" />
        <echo if:true="${isJava8}">Compiling for Java 8</echo>
        <echo unless:true="${isJava8}">Compiling for Java 9+</echo>

        <loadresource property="RELEASE_TAG">
            <string>REL_${version.id}</string>
            <filterchain>
                <replaceregex pattern="\W" replace="_" flags="g"/>
            </filterchain>
        </loadresource>
    </target>

    <target name="clean" description="Remove generated artefacts">
        <delete dir="build"/>
        <delete dir="poi-examples/build"/>
        <delete dir="poi-excelant/build"/>
        <delete dir="poi-integration/build"/>
        <delete dir="poi/build"/>
        <delete dir="poi-ooxml/build"/>
        <delete dir="poi-ooxml-full/build"/>
        <delete dir="poi-scratchpad/build"/>
    </target>

    <macrodef name="downloadfile">
        <attribute name="src"/>
        <attribute name="dest"/>
        <sequential>
            <local name="destdir"/>
            <dirname property="destdir" file="@{dest}"/>
            <mkdir dir="${destdir}"/>
            <get src="@{src}" dest="@{dest}" skipexisting="true"/>
        </sequential>
    </macrodef>

    <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="${ooxml.lib}"/>
        <mkdir dir="${ooxml-tests.lib}"/>

        <!-- remove jars from previous versions, but not the current version -->
        <delete dir="compile-lib" failonerror="false"/>
        <delete dir="ooxml-lib" failonerror="false"/>
        <delete dir="ooxml-testlib" failonerror="false"/>
        <delete verbose="true" failonerror="false">
            <fileset dir="${basedir}/lib" includes="*.jar"/>
            <fileset dir="${basedir}/lib/excelant">
                <include name="ant*-1.10.1.jar"/>
            </fileset>
            <fileset dir="${basedir}/lib/main">
                <include name="log4j-1.2*.jar"/>
                <include name="log4j-api-2.14*.jar"/>
                <include name="log4j-api-2.15*.jar"/>
                <include name="log4j-api-2.16*.jar"/>
                <include name="log4j-api-2.17.0.jar"/>
                <include name="commons-logging-1.2.jar"/>
                <include name="*slf4j*.jar"/>
            </fileset>
            <fileset dir="${basedir}/lib/main-tests">
                <include name="mockito-core-3*.jar"/>
                <include name="mockito-core-4.0*.jar"/>
                <include name="mockito-core-4.2*.jar"/>
                <include name="mockito-core-4.5*.jar"/>
                <include name="hamcrest-core*"/>
                <include name="junit-4*.jar"/>
                <include name="*slf4j*.jar"/>
                <include name="junit-jupiter-*-5.8.0.jar"/>
                <include name="junit-jupiter-*-5.7.*.jar"/>
                <include name="junit-platform-*-1.7.*.jar"/>
                <include name="log4j-core-2.14*.jar"/>
                <include name="log4j-core-2.15*.jar"/>
                <include name="log4j-core-2.16*.jar"/>
                <include name="log4j-core-2.17.0.jar"/>
            </fileset>
            <fileset dir="${basedir}/lib/ooxml">
                <include name="xmlbeans-3*.jar"/>
                <include name="xmlbeans-4*.jar"/>
                <include name="xmlbeans-5.0*.jar"/>
            </fileset>
            <fileset dir="${basedir}/lib/ooxml-provided">
                <include name="bc*-1.6*.jar"/>
                <include name="batik*.jar"/>
                <include name="slf4j*-1.7.30.jar"/>
                <include name="xmlsec-2*.jar"/>
            </fileset>
            <fileset dir="${basedir}/lib/ooxml-tests">
                <include name="guava-20.0.jar"/>
            </fileset>
            <fileset dir="${basedir}/lib/util">
                <include name="asm*7.2.jar"/>
                <include name="org.jacoco.*-0.8.5.*.jar"/>
                <include name="org.jacoco.*-0.8.6.*.jar"/>
                <include name="forbiddenapis-3.1.jar"/>
            </fileset>
            <fileset dir="${basedir}/lib/util">
                <include name="jacoco-0.8.5.zip"/>
                <include name="jacoco-0.8.6.zip"/>
            </fileset>
            <fileset dir="${basedir}/lib/excelant">
                <include name="ant*1.10.1.jar"/>
            </fileset>
        </delete>

        <condition property="jars.present">
            <or>
                <and>
                    <available file="${main.commons-codec.jar}"/>
                    <available file="${main.junit-api.jar}"/>
                    <available file="${main.junit-jengine.jar}"/>
                    <available file="${main.junit-params.jar}"/>
                    <available file="${main.junit-plauncher.jar}"/>
                    <available file="${main.junit-pengine.jar}"/>
                    <available file="${main.junit-pcommons.jar}"/>
                    <available file="${main.junit-opentest4j.jar}"/>
                    <available file="${main.junit-apiguardian.jar}"/>
                    <available file="${main.jmh.jar}"/>
                    <available file="${main.jmhAnnotation.jar}"/>
                    <available file="${main.hamcrest.jar}"/>
                    <available file="${main.xmlunit.jar}"/>
                    <available file="${main.mockito.jar}"/>
                    <available file="${main.byte-buddy.jar}"/>
                    <available file="${main.byte-buddy-agent.jar}"/>
                    <available file="${main.objenesis.jar}"/>
                    <available file="${main.ant.jar}"/>
                    <available file="${main.antlauncher.jar}"/>
                    <available file="${main.log4j-api.jar}"/>
                    <available file="${main.log4j-core.jar}"/>
                    <available file="${asm.jar}"/>
                    <available file="${asm-commons.jar}"/>
                    <available file="${asm-tree.jar}"/>
                    <available file="${jacoco.zip}"/>
                    <available file="${rat.jar}"/>
                    <available file="${forbidden.jar}"/>
                    <available file="${dsig.bouncycastle-prov.jar}"/>
                    <available file="${dsig.bouncycastle-pkix.jar}"/>
                    <available file="${dsig.bouncycastle-util.jar}"/>
                    <available file="${dsig.xmlsec.jar}"/>
                    <available file="${main.commons-collections4.jar}"/>
                    <available file="${main.commons-math3.jar}"/>
                    <available file="${main.commons-io.jar}"/>
                    <available file="${main.com.zaxxer.jar}"/>

                    <!-- we had some CI failures when the extracted files for JaCoCo were missing somehow... -->
                    <available file="${util.lib}/jacocoagent.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}"/>
        <downloadfile src="${main.commons-logging.url}" dest="${main.commons-logging.jar}"/>
        <downloadfile src="${main.commons-codec.url}" dest="${main.commons-codec.jar}"/>
        <downloadfile src="${main.junit-api.url}" dest="${main.junit-api.jar}"/>
        <downloadfile src="${main.junit-jengine.url}" dest="${main.junit-jengine.jar}"/>
        <downloadfile src="${main.junit-params.url}" dest="${main.junit-params.jar}"/>
        <downloadfile src="${main.junit-plauncher.url}" dest="${main.junit-plauncher.jar}"/>
        <downloadfile src="${main.junit-pengine.url}" dest="${main.junit-pengine.jar}"/>
        <downloadfile src="${main.junit-pcommons.url}" dest="${main.junit-pcommons.jar}"/>
        <downloadfile src="${main.junit-opentest4j.url}" dest="${main.junit-opentest4j.jar}"/>
        <downloadfile src="${main.junit-apiguardian.url}" dest="${main.junit-apiguardian.jar}"/>
        <downloadfile src="${main.jmh.url}" dest="${main.jmh.jar}"/>
        <downloadfile src="${main.jmhAnnotation.url}" dest="${main.jmhAnnotation.jar}"/>
        <downloadfile src="${main.hamcrest.url}" dest="${main.hamcrest.jar}"/>
        <downloadfile src="${main.xmlunit.url}" dest="${main.xmlunit.jar}"/>
        <downloadfile src="${main.mockito.url}" dest="${main.mockito.jar}"/>
        <downloadfile src="${main.byte-buddy.url}" dest="${main.byte-buddy.jar}"/>
        <downloadfile src="${main.byte-buddy-agent.url}" dest="${main.byte-buddy-agent.jar}"/>
        <downloadfile src="${main.objenesis.url}" dest="${main.objenesis.jar}"/>
        <downloadfile src="${main.ant.url}" dest="${main.ant.jar}"/>
        <downloadfile src="${main.antlauncher.url}" dest="${main.antlauncher.jar}"/>
        <downloadfile src="${main.log4j-api.url}" dest="${main.log4j-api.jar}"/>
        <downloadfile src="${main.log4j-core.url}" dest="${main.log4j-core.jar}"/>
        <downloadfile src="${asm.url}" dest="${asm.jar}"/>
        <downloadfile src="${asm-commons.url}" dest="${asm-commons.jar}"/>
        <downloadfile src="${asm-tree.url}" dest="${asm-tree.jar}"/>
        <downloadfile src="${jacoco.url}" dest="${jacoco.zip}"/>
        <downloadfile src="${main.commons-collections4.url}" dest="${main.commons-collections4.jar}"/>
        <downloadfile src="${main.commons-math3.url}" dest="${main.commons-math3.jar}"/>
        <downloadfile src="${main.commons-io.url}" dest="${main.commons-io.jar}"/>
        <downloadfile src="${main.com.zaxxer.url}" dest="${main.com.zaxxer.jar}"/>
        <unzip src="${jacoco.zip}" dest="${util.lib}">
            <patternset>
                <include name="lib/*.jar"/>
            </patternset>
            <mapper type="flatten"/>
        </unzip>
        <downloadfile src="${rat.url}" dest="${rat.jar}"/>
        <downloadfile src="${forbidden.url}" dest="${forbidden.jar}"/>
        <downloadfile src="${dsig.bouncycastle-prov.url}" dest="${dsig.bouncycastle-prov.jar}"/>
        <downloadfile src="${dsig.bouncycastle-pkix.url}" dest="${dsig.bouncycastle-pkix.jar}"/>
        <downloadfile src="${dsig.bouncycastle-util.url}" dest="${dsig.bouncycastle-util.jar}"/>
        <downloadfile src="${dsig.xmlsec.url}" dest="${dsig.xmlsec.jar}"/>
    </target>

    <target name="check-ooxml-jars">
        <condition property="ooxml.jars.present">
            <or>
                <and>
                    <available file="${ooxml.curvesapi.jar}"/>
                    <available file="${ooxml.xmlbeans.jar}"/>
                    <available file="${ooxml.commons-compress.jar}"/>
                    <available file="${ooxml.test.reflections.jar}"/>
                    <available file="${ooxml.test.guava.jar}"/>
                    <available file="${ooxml.test.javassist.jar}"/>
                    <available file="${ooxml.test.slf4j-api.jar}"/>
                    <available file="${ooxml.test.opczip.jar}"/>
                    <available file="${svg.xml-apis-ext.jar}"/>
                    <available file="${svg.batik-anim.jar}"/>
                    <available file="${svg.batik-awt-util.jar}"/>
                    <available file="${svg.batik-bridge.jar}"/>
                    <available file="${svg.batik-codec.jar}"/>
                    <available file="${svg.batik-constants.jar}"/>
                    <available file="${svg.batik-css.jar}"/>
                    <available file="${svg.batik-dom.jar}"/>
                    <available file="${svg.batik-ext.jar}"/>
                    <available file="${svg.batik-gvt.jar}"/>
                    <available file="${svg.batik-i18n.jar}"/>
                    <available file="${svg.batik-parser.jar}"/>
                    <available file="${svg.batik-script.jar}"/>
                    <available file="${svg.batik-shared-resources.jar}"/>
                    <available file="${svg.batik-svg-dom.jar}"/>
                    <available file="${svg.batik-svggen.jar}"/>
                    <available file="${svg.batik-svgrasterizer.jar}"/>
                    <available file="${svg.batik-transcoder.jar}"/>
                    <available file="${svg.batik-util.jar}"/>
                    <available file="${svg.batik-xml.jar}"/>
                    <available file="${svg.xmlgraphics-commons.jar}"/>
                    <available file="${pdf.pdfbox.jar}"/>
                    <available file="${pdf.fontbox.jar}"/>
                    <available file="${pdf.graphics2d.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}"/>
        <mkdir dir="${ooxml-tests.lib}"/>
        <downloadfile src="${ooxml.curvesapi.url}" dest="${ooxml.curvesapi.jar}"/>
        <downloadfile src="${ooxml.xmlbeans.url}" dest="${ooxml.xmlbeans.jar}"/>
        <downloadfile src="${ooxml.commons-compress.url}" dest="${ooxml.commons-compress.jar}"/>
        <downloadfile src="${ooxml.test.reflections.url}" dest="${ooxml.test.reflections.jar}"/>
        <downloadfile src="${ooxml.test.guava.url}" dest="${ooxml.test.guava.jar}"/>
        <downloadfile src="${ooxml.test.javassist.url}" dest="${ooxml.test.javassist.jar}"/>
        <downloadfile src="${ooxml.test.slf4j-api.url}" dest="${ooxml.test.slf4j-api.jar}"/>
        <downloadfile src="${ooxml.test.opczip.url}" dest="${ooxml.test.opczip.jar}"/>
        <downloadfile src="${svg.batik-anim.url}" dest="${svg.batik-anim.jar}"/>
        <downloadfile src="${svg.batik-awt-util.url}" dest="${svg.batik-awt-util.jar}"/>
        <downloadfile src="${svg.batik-bridge.url}" dest="${svg.batik-bridge.jar}"/>
        <downloadfile src="${svg.batik-codec.url}" dest="${svg.batik-codec.jar}"/>
        <downloadfile src="${svg.batik-constants.url}" dest="${svg.batik-constants.jar}"/>
        <downloadfile src="${svg.batik-css.url}" dest="${svg.batik-css.jar}"/>
        <downloadfile src="${svg.batik-dom.url}" dest="${svg.batik-dom.jar}"/>
        <downloadfile src="${svg.batik-ext.url}" dest="${svg.batik-ext.jar}"/>
        <downloadfile src="${svg.batik-gvt.url}" dest="${svg.batik-gvt.jar}"/>
        <downloadfile src="${svg.batik-i18n.url}" dest="${svg.batik-i18n.jar}"/>
        <downloadfile src="${svg.batik-parser.url}" dest="${svg.batik-parser.jar}"/>
        <downloadfile src="${svg.batik-script.url}" dest="${svg.batik-script.jar}"/>
        <downloadfile src="${svg.batik-shared-resources.url}" dest="${svg.batik-shared-resources.jar}"/>
        <downloadfile src="${svg.batik-svg-dom.url}" dest="${svg.batik-svg-dom.jar}"/>
        <downloadfile src="${svg.batik-svggen.url}" dest="${svg.batik-svggen.jar}"/>
        <downloadfile src="${svg.batik-svgrasterizer.url}" dest="${svg.batik-svgrasterizer.jar}"/>
        <downloadfile src="${svg.batik-transcoder.url}" dest="${svg.batik-transcoder.jar}"/>
        <downloadfile src="${svg.batik-util.url}" dest="${svg.batik-util.jar}"/>
        <downloadfile src="${svg.batik-xml.url}" dest="${svg.batik-xml.jar}"/>
        <downloadfile src="${svg.xml-apis-ext.url}" dest="${svg.xml-apis-ext.jar}"/>
        <downloadfile src="${svg.xmlgraphics-commons.url}" dest="${svg.xmlgraphics-commons.jar}"/>
        <downloadfile src="${pdf.pdfbox.url}" dest="${pdf.pdfbox.jar}"/>
        <downloadfile src="${pdf.fontbox.url}" dest="${pdf.fontbox.jar}"/>
        <downloadfile src="${pdf.graphics2d.url}" dest="${pdf.graphics2d.jar}"/>
    </target>

    <target name="check-svn-jars">
        <condition property="svn.jars.present">
            <or>
                <and>
                    <available file="${dist.svnant.jar}"/>
                    <available file="${dist.svnclientadapter-base.jar}"/>
                    <available file="${dist.svnclientadapter-svnkit.jar}"/>
                    <available file="${dist.svnclientadapter-javahl.jar}"/>
                    <available file="${dist.svnkit.jar}"/>
                    <available file="${dist.svnkit-javahl16.jar}"/>
                    <available file="${dist.sqljet.jar}"/>
                    <available file="${dist.antlr.jar}"/>
                    <available file="${dist.sequence-library.jar}"/>
                    <available file="${dist.lz4-java.jar}"/>
                </and>
                <isset property="disconnected"/>
            </or>
        </condition>
    </target>
    <target name="fetch-svn-jars" depends="check-svn-jars" unless="svn.jars.present">
        <!-- some jars are gone since bintray.dl is shutting down, so we started to include them in the sources for now -->
        <copy todir="lib/util">
            <fileset dir="lib.stored/" includes="*.jar"/>
        </copy>
        <downloadfile src="${dist.svnkit.url}" dest="${dist.svnkit.jar}"/>
        <downloadfile src="${dist.svnkit-javahl16.url}" dest="${dist.svnkit-javahl16.jar}"/>
        <downloadfile src="${dist.sqljet.url}" dest="${dist.sqljet.jar}"/>
        <downloadfile src="${dist.antlr.url}" dest="${dist.antlr.jar}"/>
        <downloadfile src="${dist.sequence-library.url}" dest="${dist.sequence-library.jar}"/>
        <downloadfile src="${dist.lz4-java.url}" dest="${dist.lz4-java.jar}"/>
    </target>

    <target name="check-compiled-ooxml-xsds">
        <condition property="ooxml-compiled-xsds.present">
            <and>
                <available file="${ooxml.xsds.jar}"/>
                <available file="${ooxml.xsds.src.jar}"/>
            </and>
        </condition>
    </target>

    <target name="compile-ooxml-xsds"
        depends="init,check-compiled-ooxml-xsds"
        unless="ooxml-compiled-xsds.present"
        description="Unpacks the OOXML xsd files, and compiles them into XmlBeans">

        <local name="ooxml.memory"/>

        <!-- 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="1536m" else="1024m">
            <equals arg1="${sun.arch.data.model}" arg2="64" />
        </condition>

        <mkdir dir="${ooxml.xsds.src.dir}"/>

        <copy todir="${ooxml.xsds.src.dir}">
            <zipfileset src="${ooxml.xsds.izip.1}"/>
            <fileset dir="${ooxml.visio.xsd.dir}"/>
            <fileset dir="${ooxml.schema.xsdconfig.dir}" includes="ooxmlSchemas.xsdconfig,markup-compatibility.xsd,vmlDrawing.xsd"/>
            <fileset dir="${ooxml.schema.xsdconfig.dir}" includes="dml-drawing.xsd,word12.xsd,XAdES*.xsd,xlThreaded*.xsd,xmldsig*.xsd"/>
            <zipfileset src="${ooxml.xsds.izip.2}" includes="opc-digSig.xsd,opc-relationships.xsd"/>
            <fileset dir="${ooxml.security.xsd.dir}" includes="signatureInfo.xsd"/>
        </copy>

        <taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean">
            <classpath>
                <path location="${ooxml.xmlbeans.jar}"/>
                <path location="${main.log4j-api.jar}"/>
                <path location="${main.log4j-core.jar}"/>
            </classpath>
        </taskdef>

        <xmlbean
            schema="${ooxml.xsds.src.dir}"
            srcgendir="${ooxml-schema.output.gen-sources.dir}"
            classgendir="${ooxml-schema.output.gen-classes.dir}"
            destfile="${ooxml.xsds.src.dir}.jar"
            srconly="true"
            failonerror="true"
            fork="true"
            memoryMaximumSize="${ooxml.memory}"
            typesystemname="ooxml"
            repackage="org.apache.xmlbeans.metadata:org.apache.poi.schemas.ooxml">
            <classpath>
                <path location="${ooxml.xmlbeans.jar}"/>
            </classpath>
        </xmlbean>

        <javac release="8"
               target="${jdk.version.class}"
               source="${jdk.version.source}"
               srcdir="${ooxml-schema.output.gen-sources.dir}"
               destdir="${ooxml-schema.output.dir}"
               encoding="${java.source.encoding}"
               fork="yes"
               debug="${compile.debug}"
               memoryMaximumSize="${ooxml.memory}"
               includeantruntime="false">
            <classpath refid="ooxml.classpath"/>
            <classpath>
                <pathelement path="${ooxml-schema.output.gen-classes.dir}"/>
            </classpath>
        </javac>

        <javac release="9"
               srcdir="${basedir}/poi-ooxml-full/src/main/java9"
               destdir="${basedir}/poi-ooxml-full/src/main/java9"
               includeantruntime="false"
               fork="true"
               modulepath="lib/ooxml"
               unless:true="${isJava8}">
            <compilerarg line="--patch-module org.apache.poi.ooxml.schemas=${ooxml-schema.output.dir}${path.separator}${ooxml-schema.output.gen-classes.dir}"/>
        </javac>

        <mkdir dir="build/dist/maven/poi-ooxml-full"/>

        <jar destfile="${ooxml.xsds.jar}">
            <fileset dir="${ooxml-schema.output.dir}"/>
            <fileset dir="${ooxml-schema.output.gen-classes.dir}"/>
            <zipfileset dir="${basedir}/poi-ooxml-full/src/main/java9" prefix="META-INF/versions/9" excludes="*.java"/>
            <metainf dir="legal/" excludes="HEADER"/>
            <manifest>
                <attribute name="Multi-Release" value="true"/>
                <attribute name="Automatic-Module-Name" value="org.apache.poi.ooxml.schemas"/>
                <attribute name="Built-By" value="${user.name}"/>
                <attribute name="Specification-Title" value="Apache POI OOXML Schemas"/>
                <attribute name="Specification-Version" value="${version.id}"/>
                <attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
                <attribute name="Implementation-Title" value="Apache POI OOXML Schemas"/>
                <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>
        </jar>

        <jar destfile="${ooxml.xsds.src.jar}">
            <fileset dir="${ooxml-schema.output.gen-sources.dir}"/>
            <zipfileset dir="${basedir}/poi-ooxml-full/src/main/java9" prefix="META-INF/versions/9/" excludes="*.class"/>
            <metainf dir="legal" excludes="HEADER"/>
        </jar>
    </target>

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

    <macrodef name="compile-jar">
        <attribute name="module"/>
        <attribute name="java"/>
        <attribute name="classes"/>
        <attribute name="test" default=""/>
        <attribute name="test-classes" default=""/>
        <attribute name="version" default="${version.id}"/>
        <element name="lib"/>
        <element name="resources" optional="true"/>
        <element name="test-resources" optional="true"/>
        <sequential>
            <local name="cp_java"/>
            <pathconvert property="cp_java" pathsep=",">
                <path><lib/></path>
                <filtermapper>
                    <replacestring from="${basedir}" to=""/>
                    <replaceregex pattern="^." replace=""/>
                    <suffixlines suffix="${file.separator}*.jar"/>
                </filtermapper>
            </pathconvert>

            <local name="maven-name"/>
            <loadresource property="maven-name">
                <string>@{module}</string>
                <filterchain>
                    <prefixlines prefix="poi-"/>
                    <replacestring from="poi-poi" to="poi"/>
                </filterchain>
            </loadresource>

            <!-- compile the sources -->
            <javac release="8"
                   target="${jdk.version.class}"
                   source="${jdk.version.source}"
                   destdir="@{classes}"
                   srcdir="@{java}"
                   debug="${compile.debug}"
                   encoding="${java.source.encoding}"
                   fork="yes"
                   includeantruntime="false">
                <classpath>
                    <fileset dir="${basedir}" includes="${cp_java}"/>
                </classpath>
            </javac>

            <local name="module-name"/>
            <loadresource property="module-name">
                <string>@{module}</string>
                <filterchain>
                    <replacestring from="poi-" to=""/>
                </filterchain>
            </loadresource>

            <!-- compile jigsaw files to sources, so we don't forget to update/provide them for Java 8 builds -->
            <javac release="9"
                   srcdir="${basedir}/@{module}/src/main/java9"
                   destdir="${basedir}/@{module}/src/main/java9"
                   includeantruntime="false"
                   fork="true"
                   unless:true="${isJava8}">
                <compilerarg line="--patch-module org.apache.poi.${module-name}=@{classes}"/>
                <modulepath>
                    <lib/>
                </modulepath>
            </javac>

            <mkdir dir="build/dist/maven/${maven-name}"/>

            <echo message="Building jar for @{module}, module-name: ${module-name} with isJava8: ${isJava8}"/>

            <!-- create classes jar -->
            <jar destfile="build/dist/maven/${maven-name}/${maven-name}-@{version}.jar">
                <fileset dir="@{classes}"/>
                <resources/>
                <zipfileset dir="${basedir}/@{module}/src/main/java9"
                            prefix="META-INF/versions/9"
                            excludes="*.java"/>
                <metainf dir="legal/" excludes="HEADER"/>
                <manifest>
                    <attribute name="Multi-Release" value="true"/>
                    <attribute name="Automatic-Module-Name" value="org.apache.poi.@{module}"/>
                    <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>
            </jar>

            <!-- compile the tests -->
            <javac release="8"
                   target="${jdk.version.class}"
                   source="${jdk.version.source}"
                   destdir="@{test-classes}"
                   srcdir="@{test}"
                   debug="${compile.debug}"
                   encoding="${java.source.encoding}"
                   fork="yes"
                   includeantruntime="false" unless:blank="@{test}">
                <classpath>
                    <fileset dir="${basedir}" includes="${cp_java}"/>
                    <pathelement path="build/dist/maven/${maven-name}/${maven-name}-@{version}.jar"/>
                </classpath>
            </javac>

            <!-- again, generate jigsaw files to sources ... -->
            <local name="merged"/>
            <pathconvert property="merged">
                <path location="@{classes}"/>
                <path location="@{test-classes}"/>
            </pathconvert>

            <javac release="9"
                   srcdir="${basedir}/@{module}/src/test/java9"
                   destdir="${basedir}/@{module}/src/test/java9"
                   includeantruntime="false"
                   fork="true"
                   unless:true="${isJava8}" unless:blank="@{test}">
                <compilerarg line="--patch-module org.apache.poi.${module-name}=${merged}"/>
                <modulepath>
                    <lib/>
                </modulepath>
            </javac>

            <echo message="Building test-jar for @{module}, module-name: ${module-name} with isJava8: ${isJava8}"/>

            <!-- create test classes jar - using the module-info of the tests -->
            <jar destfile="build/dist/maven/${maven-name}-tests/${maven-name}-@{version}-tests.jar" unless:blank="@{test}">
                <fileset dir="@{classes}"/>
                <fileset dir="@{test-classes}">
                    <exclude name="org/apache/poi/ooxml/lite/**"/>
                </fileset>
                <resources/>
                <test-resources/>
                <zipfileset dir="${basedir}/@{module}/src/test/java9" prefix="META-INF/versions/9" excludes="*.java"/>
                <metainf dir="legal/" excludes="HEADER"/>
                <manifest>
                    <attribute name="Multi-Release" value="true"/>
                    <attribute name="Automatic-Module-Name" value="org.apache.poi.@{module}"/>
                    <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>
            </jar>

            <!-- create the sources jar -->
            <jar destfile="build/dist/maven/${maven-name}/${maven-name}-@{version}-sources.jar">
                <fileset dir="@{java}"/>
                <metainf dir="legal/" excludes="HEADER"/>
                <manifest>
                    <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>
            </jar>
        </sequential>
    </macrodef>

    <target name="compile-main" depends="init, compile-version">
        <compile-jar module="poi"
            java="${main.src}" classes="${main.output.dir}"
            test="${main.src.test}" test-classes="${main.output.test.dir}">
            <lib>
                <pathelement path="lib/main"/>
                <pathelement path="lib/main-tests"/>
                <pathelement path="lib/excelant"/>
            </lib>
            <resources>
                <fileset dir="${main.resources.main}"/>
            </resources>
            <test-resources>
                <fileset dir="${main.resources.test}" />
            </test-resources>
        </compile-jar>
    </target>

    <target name="compile-scratchpad" depends="compile-main">
        <compile-jar module="poi-scratchpad"
             java="${scratchpad.src}" classes="${scratchpad.output.dir}"
             test="${scratchpad.src.test}" test-classes="${scratchpad.output.test.dir}">
            <lib>
                <pathelement path="build/dist/maven/poi-tests"/>
                <pathelement path="lib/main"/>
                <pathelement path="lib/main-tests"/>
            </lib>
            <resources>
                <fileset dir="${scratchpad.resources.main}"/>
            </resources>
            <test-resources>
                <fileset dir="${scratchpad.resources.test}" />
            </test-resources>
        </compile-jar>
    </target>

    <target name="compile-examples" depends="compile-main,compile-scratchpad,compile-ooxml">
        <compile-jar module="poi-examples"
                     java="${examples.src}" classes="${examples.output.dir}">
            <lib>
                <pathelement path="build/dist/maven/poi-ooxml-full"/>
                <pathelement path="build/dist/maven/poi-tests"/>
                <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
                <pathelement path="build/dist/maven/poi-ooxml-tests"/>
                <pathelement path="lib/main"/>
                <pathelement path="lib/ooxml"/>
            </lib>
        </compile-jar>
    </target>

    <target name="compile-ooxml" depends="compile-main,compile-scratchpad,compile-ooxml-xsds">
        <compile-jar module="poi-ooxml"
             java="${ooxml.src}" classes="${ooxml.output.dir}"
             test="${ooxml.src.test}" test-classes="${ooxml.output.test.dir}">
            <lib>
                <pathelement path="build/dist/maven/poi-tests"/>
                <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
                <pathelement path="build/dist/maven/poi-ooxml-full"/>
                <pathelement path="lib/main"/>
                <pathelement path="lib/main-tests"/>
                <pathelement path="lib/ooxml"/>
                <pathelement path="lib/ooxml-provided"/>
                <pathelement path="lib/ooxml-tests"/>
                <pathelement path="lib/ooxml-batik"/>
            </lib>
            <resources>
                <fileset dir="${ooxml.resources.main}"/>
            </resources>
        </compile-jar>

        <!-- create ooxml-lite-agent jar -->
        <mkdir dir="${ooxml.lite.output.dir}"/>
        <javac release="8"
               srcdir="${basedir}/poi-ooxml-lite-agent/src/main/java"
               destdir="${ooxml.lite.output.dir}"
               includeantruntime="false"
               fork="true">
            <classpath>
                <fileset dir="${basedir}/lib/main-tests" includes="*.jar"/>
                <fileset dir="${basedir}/lib/ooxml" includes="*.jar"/>
            </classpath>
        </javac>

        <javac release="9"
               srcdir="${basedir}/poi-ooxml-lite-agent/src/main/java9"
               destdir="${basedir}/poi-ooxml-lite-agent/src/main/java9"
               includeantruntime="false"
               fork="true"
               modulepath="${basedir}/lib/main-tests"
               unless:true="${isJava8}">
            <compilerarg line="--patch-module org.apache.poi.ooxml_lite=${ooxml.output.test.dir}${path.separator}${ooxml.lite.output.dir}"/>
        </javac>

        <jar destfile="${ooxml.lite.agent}">
            <fileset dir="${ooxml.lite.output.dir}"/>
            <zipfileset dir="${basedir}/poi-ooxml-lite-agent/src/main/java9" prefix="META-INF/versions/9" excludes="*.java"/>
            <manifest>
                <attribute name="Multi-Release" value="true"/>
                <attribute name="Automatic-Module-Name" value="org.apache.poi.ooxml_lite"/>
                <attribute name="Premain-Class" value="org.apache.poi.ooxml.lite.OOXMLLiteAgent"/>
                <!-- attribute name="Can-Retransform-Classes" value="true"/ -->
            </manifest>
        </jar>
    </target>

    <macrodef name="poiunit" xmlns:jacoco="antlib:org.jacoco.ant">
        <attribute name="failureproperty"/>
        <attribute name="heap" default="512"/>
        <attribute name="showoutput" default="false"/>
        <attribute name="jacocodest" default="build/jacoco-dest.exec"/>
        <attribute name="modulepath-ref"/>
        <attribute name="module1" default=""/>
        <attribute name="module2" default=""/>
        <attribute name="outputDir"/>
        <element name="elements" implicit="true"/>
        <sequential>
            <local name="no.jit.sherlock"/>
            <!-- see http://www-01.ibm.com/support/docview.wss?uid=swg21294023 on how to determine the method strings -->
            <loadresource property="no.jit.sherlock">
                <string>
                    sun/java2d/pipe/AAShapePipe.renderTiles(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;Lsun/java2d/pipe/AATileGenerator;[I)V
                    sun/java2d/pipe/AlphaPaintPipe.renderPathTile(Ljava/lang/Object;[BIIIIII)V
                    java/awt/TexturePaintContext.getRaster(IIII)Ljava/awt/image/Raster;
                </string>
                <filterchain>
                    <trim/>
                    <ignoreblank/>
                    <prefixlines prefix=",exclude={"/>
                    <suffixlines suffix="}"/>
                    <striplinebreaks/>
                </filterchain>
            </loadresource>

            <path id="junit-jars">
                <pathelement location="${main.junit-api.jar}"/>
                <pathelement location="${main.junit-jengine.jar}"/>
                <pathelement location="${main.junit-params.jar}"/>
                <pathelement location="${main.junit-opentest4j.jar}"/>
                <pathelement location="${main.junit-apiguardian.jar}"/>
                <pathelement location="${main.junit-pcommons.jar}"/>
                <pathelement location="${main.junit-pengine.jar}"/>
                <pathelement location="${main.junit-plauncher.jar}"/>
            </path>


            <mkdir dir="poi-excelant/build/poi-ant-contrib"/>
            <javac srcdir="poi-excelant/src/poi-ant-contrib/java" destdir="poi-excelant/build/poi-ant-contrib"
                   includeantruntime="true" includes="Junit5Progress.java" classpathref="junit-jars"/>


            <local name="ooxml.lite.agent.exists"/>
            <available property="ooxml.lite.agent.exists" file="${ooxml.lite.agent}"/>

            <local name="cp_java"/>
            <pathconvert property="cp_java" pathsep=",">
                <path refid="@{modulepath-ref}"/>
                <filtermapper>
                    <replacestring from="${basedir}" to=""/>
                    <replaceregex pattern="^." replace=""/>
                    <suffixlines suffix="${file.separator}*.jar"/>
                </filtermapper>
            </pathconvert>

            <local name="use_module1"/>
            <local name="use_module2"/>
            <condition property="use_module1" value="true" unless:true="${isJava8}">
                <length string="@{module1}" when="greater" length="0"/>
            </condition>
            <condition property="use_module2" value="true" unless:true="${isJava8}">
                <length string="@{module2}" when="greater" length="0"/>
            </condition>

            <!-- As of 2018, JaCoCo is managing expectations and stay on Java 5 and therefore don't support junitlauncher -->
            <!-- https://github.com/jacoco/jacoco/issues/673  ... m( -->

            <jacoco:agent property="jacocoagent" enabled="${coverage.enabled}" excludes="${coverage.excludes}" destfile="@{jacocodest}"/>

            <junitlauncher printsummary="false" haltonfailure="${halt.on.test.failure}" failureproperty="@{failureproperty}">
                <classpath>
                    <path refid="junit-jars" if:true="${isJava8}"/>
                    <fileset dir="${basedir}" includes="${cp_java}" if:true="${isJava8}"/>
                    <pathelement location="poi-excelant/build/poi-ant-contrib"/>
                </classpath>

                <testclasses outputDir="@{outputDir}">
                    <fork>
                        <syspropertyset refid="junit.properties"/>
                        <sysproperty key="java.io.tmpdir" value="${tempdir}"/>
                        <jvmarg value="-Xmx@{heap}M"/>
                        <jvmarg value="-ea"/>

                        <!-- some "add-opens" and other properties are needed when running with Java 9 or newer -->
                        <sysproperty key="sun.reflect.debugModuleAccessChecks" value="true" if:true="${addOpens}" />
                        <sysproperty key="com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize" value="true" if:true="${addOpens}" />
                        <jvmarg value="--illegal-access=warn" if:true="${addOpens}" />
                        <jvmarg value="-javaagent:${ooxml.lite.agent}=${ooxml.lite.report}|${ooxml.lite.includes}" if:true="${ooxml.lite.agent.exists}"/>
                        <jvmarg line="${jacocoagent}"/>

                        <!-- jvmarg value="-Duser.timezone=UTC"/ -->
                        <jvmarg value="${file.leak.detector}" />
                        <jvmarg value="-Djunit.jupiter.execution.parallel.enabled=true" />
                        <jvmarg value="-Djunit.jupiter.execution.parallel.config.strategy=fixed" />
                        <jvmarg value="-Djunit.jupiter.execution.parallel.config.fixed.parallelism=3" />
                        <jvmarg value="-Xjit:verbose={compileStart|compileEnd},vlog=build/jit.log${no.jit.sherlock}" if:true="${isIBMVM}"/>

<!--                        <jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5000"/>-->
<!--                        <jvmarg value="&#45;&#45;show-module-resolution"/>-->


                        <modulepath refid="@{modulepath-ref}" unless:true="${isJava8}"/>

                        <jvmarg line="--add-modules org.junit.platform.launcher" unless:true="${isJava8}"/>
                        <jvmarg line="--add-modules org.junit.jupiter.params" unless:true="${isJava8}"/>
                        <jvmarg line="--add-modules org.apache.poi.@{module1}" if:set="use_module1"/>
                        <jvmarg line="--add-modules org.apache.poi.@{module2}" if:set="use_module2"/>
                    </fork>

                    <listener classname="Junit5Progress" />
                    <listener type="legacy-plain" sendSysOut="true" outputDir="@{outputDir}"/>
                    <listener type="legacy-xml" sendSysOut="true" sendSysErr="true" outputDir="@{outputDir}"/>
                    <elements/>
                </testclasses>
            </junitlauncher>
        </sequential>
    </macrodef>

    <target name="retest-ooxml" depends="jar"
        description="run ooxml tests with poi-ooxml-lite">
        <path id="restest.modules">
            <pathelement path="build/dist/maven/poi-tests"/>
            <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
            <pathelement path="build/dist/maven/poi-ooxml-tests"/>
            <pathelement path="build/dist/maven/poi-ooxml-lite"/>
            <pathelement path="lib/main"/>
            <pathelement path="lib/main-tests"/>
            <pathelement path="lib/ooxml"/>
            <pathelement path="lib/ooxml-provided"/>
            <pathelement path="lib/ooxml-tests"/>
        </path>

        <poiunit failureproperty="ooxml.test.failed" heap="768" modulepath-ref="restest.modules"
            module1="ooxml" module2="scratchpad" outputDir="${ooxml.reports.test}">
            <zipfileset src="build/dist/maven/poi-ooxml-tests/poi-ooxml-${version.id}-tests.jar">
                <include name="**/${testpattern}.class"/>
                <exclude name="**/*$*.class"/>
                <exclude name="**/TestUnfixedBugs.class"/>
                <exclude name="**/All*Tests.class"/>
                <exclude name="**/TestSignatureInfo.class"/>
                <exclude name="**/${testexcludepattern}.class"/>
                <patternset refid="exclude-scratchpad-test" if:true="${scratchpad.ignore}"/>
            </zipfileset>
        </poiunit>
    </target>

    <target name="compile-excelant" depends="compile-main,compile-ooxml">
        <compile-jar module="poi-excelant"
            java="${excelant.src}" classes="${excelant.output.dir}"
            test="${excelant.src.test}" test-classes="${excelant.output.test.dir}">
            <lib>
                <pathelement path="build/dist/maven/poi-tests"/>
                <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
                <pathelement path="build/dist/maven/poi-ooxml-tests"/>
                <pathelement path="lib/main"/>
                <pathelement path="lib/main-tests"/>
                <pathelement path="lib/excelant"/>
            </lib>
            <resources>
                <fileset dir="${excelant.resource.main}"/>
            </resources>
        </compile-jar>
    </target>

    <target name="compile-integration" depends="compile-scratchpad, compile-main, compile-ooxml, compile-examples">
        <javac release="8"
               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"/>
                <path refid="test.jar.classpath"/>
                <pathelement location="${ooxml.output.dir}"/>
                <pathelement location="${ooxml.output.test.dir}"/>
                <pathelement location="${main.output.test.dir}"/>
                <pathelement location="${examples.output.dir}"/>
                <pathelement location="${main.ant.jar}"/>
                <pathelement location="${scratchpad.output.dir}"/>
                <pathelement location="${integration.resources.test}"/>
            </classpath>
            <exclude name="**/HeapDump**" if:true="${isIBMVM}"/>
        </javac>


        <mkdir dir="${integration.output.test.dir}/META-INF/versions/9"/>

        <javac release="9"
               srcdir="${basedir}/poi-integration/src/test/java9"
               destdir="${integration.output.test.dir}/META-INF/versions/9"
               includeantruntime="false"
               fork="true"
               unless:true="${isJava8}">
            <compilerarg line="--patch-module org.apache.poi.stress=${integration.output.test.dir}"/>
            <modulepath>
                <pathelement path="build/dist/maven/poi-ooxml-full"/>
                <pathelement path="build/dist/maven/poi"/>
                <pathelement path="build/dist/maven/poi-ooxml"/>
                <pathelement path="build/dist/maven/poi-scratchpad"/>
                <pathelement path="build/dist/maven/poi-examples"/>
                <pathelement path="${main.lib}"/>
                <pathelement path="${main-tests.lib}"/>
                <pathelement path="${ooxml.lib}"/>
                <pathelement path="${ooxml-provided.lib}"/>
            </modulepath>
        </javac>

        <manifest file="poi-integration/build/poi-manifest.mf">
            <attribute name="Multi-Release" value="true"/>
            <attribute name="Automatic-Module-Name" value="org.apache.poi.stress"/>
        </manifest>

        <jar destfile="build/dist/maven/poi-integration/poi-integration-${version.id}.jar"
             basedir="${integration.output.test.dir}"
             manifest="poi-integration/build/poi-manifest.mf"/>
    </target>

    <target name="-version-java-check">
        <!-- recompile Version.java from the template whenever source or the version in build.xml changes -->
        <uptodate property="version.java.notRequired" targetfile="${main.output.dir}/org/apache/poi/Version.class">
            <srcfiles file="poi/src/main/version/Version.java.template"/>
            <srcfiles file="build.xml"/>
        </uptodate>
    </target>

    <target name="compile-version"
            unless="version.java.notRequired"
            depends="init, -version-java-check"
            description="Compiles the version class">
        <!-- Generate the .java file -->
        <local name="version.dir"/>
        <dirname property="version.dir" file="${main.version.java}"/>
        <mkdir dir="${version.dir}"/>
        <delete file="${main.version.java}"/>
        <copy file="${main.version.template}" tofile="${main.version.java}" overwrite="true">
            <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.gen-sources.dir}"
               encoding="${java.source.encoding}" includeantruntime="false">
        </javac>
    </target>

    <target name="jacocotask" depends="">
        <echo message="Coverage reporting: ${coverage.enabled}"/>
        <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
            <classpath>
                <fileset dir="${util.lib}">
                    <include name="org.jacoco*.jar" />
                    <include name="asm-*.jar" />
                </fileset>
            </classpath>
        </taskdef>
    </target>

    <!-- Section: test (execute junit tests on test suites) -->
    <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-integration,test-ooxml-lite,testcoveragereport"
            description="Tests main, scratchpad, ooxml, ooxml-lite, and coveragereport"/>

    <target name="testcoveragereport" depends="init,jacocotask" description="create test-report" xmlns:jacoco="antlib:org.jacoco.ant" if="coverage.enabled">
        <delete dir="${coverage.dir}"/>
        <mkdir dir="${coverage.dir}"/>
        <mkdir dir="${main.output.dir}"/>
        <mkdir dir="${scratchpad.output.dir}"/>
        <mkdir dir="${ooxml.output.dir}"/>
        <mkdir dir="${excelant.output.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 some generated classes -->
                            <exclude name="org/apache/poi/sl/draw/binding/*.class"/>
                            <!-- 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... -->
                    </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>

    <!-- Section: test-main -->
    <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"
            description="tests POI classes that deal with the Microsoft Office binary (BIFF8) file formats (excludes OOXML)">

        <path id="test-main.modules">
            <pathelement path="build/dist/maven/poi-tests"/>
            <pathelement path="lib/main"/>
            <pathelement path="lib/main-tests"/>
        </path>

        <poiunit failureproperty="main.test.failed" heap="256" showoutput="true" jacocodest="build/jacoco-main.exec"
                 modulepath-ref="test-main.modules" module1="poi" outputDir="${main.reports.test}">
            <zipfileset src="build/dist/maven/poi-tests/poi-${version.id}-tests.jar">
                <include name="**/${testpattern}.class"/>
                <exclude name="**/*$*.class"/>
                <exclude name="**/All*Tests.class"/>
                <exclude name="**/TestUnfixedBugs.class"/>
                <exclude name="**/TestcaseRecordInputStream.class"/>
                <exclude name="**/${testexcludepattern}.class"/>
                <patternset refid="exclude-scratchpad-test" if:true="${scratchpad.ignore}"/>
            </zipfileset>
        </poiunit>

        <delete file="${main.testokfile}"/>
        <antcall target="-test-main-write-testfile"/>
    </target>

    <target name="test-report" depends="init">
        <mkdir dir="build/report"/>
        <junitreport todir="build/report">
          <fileset dir=".">
            <include name="**/build/test-results/**/TEST-*.xml"/>
          </fileset>
          <report format="frames" todir="build/report"/>
        </junitreport>
        <echo message="Published results from tests at build/report/index.html"/>
    </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>

    <!-- Section: test-scratchpad -->
    <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="jacocotask,compile-scratchpad,-test-scratchpad-check,test-scratchpad-download-resources"
            unless="scratchpad.test.notRequired"
            description="test non-OOXML scratchpad classes">

        <path id="test-scratchpad.modules">
            <pathelement path="build/dist/maven/poi-tests"/>
            <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
            <pathelement path="lib/main"/>
            <pathelement path="lib/main-tests"/>
        </path>

        <poiunit failureproperty="scratchpad.test.failed" heap="512" jacocodest="build/jacoco-scratchpad.exec"
                 modulepath-ref="test-scratchpad.modules" module1="scratchpad" outputDir="${scratchpad.reports.test}">
            <zipfileset src="build/dist/maven/poi-scratchpad-tests/poi-scratchpad-${version.id}-tests.jar">
                <include name="**/${testpattern}.class"/>
                <exclude name="**/*$*.class"/>
                <exclude name="**/All*Tests.class"/>
                <exclude name="**/${testexcludepattern}.class"/>
                <patternset refid="exclude-scratchpad-test" if:true="${scratchpad.ignore}"/>
            </zipfileset>
        </poiunit>
        <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>

    <!-- Section: test-ooxml -->
    <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="modulepath-ref"/>
        <attribute name="type"/>
        <sequential>
            <poiunit failureproperty="ooxml.test.failed" heap="768" jacocodest="build/jacoco-@{type}.exec"
                     modulepath-ref="@{modulepath-ref}" module1="ooxml" module2="scratchpad" outputDir="${ooxml.reports.test}">
                <zipfileset src="build/dist/maven/poi-ooxml-tests/poi-ooxml-${version.id}-tests.jar">
                    <include name="**/${testpattern}.class"/>
                    <exclude name="**/*$*.class"/>
                    <exclude name="**/All*Tests.class"/>
                    <exclude name="**/TestUnfixedBugs.class"/>
                    <exclude name="**/${testexcludepattern}.class"/>
                    <patternset refid="exclude-scratchpad-test" if:true="${scratchpad.ignore}"/>
                </zipfileset>
            </poiunit>
        </sequential>
    </macrodef>

    <target name="test-ooxml" depends="compile-main,compile-ooxml,-test-ooxml-check,jacocotask" unless="ooxml.test.notRequired"
            description="test OOXML classes">
        <path id="test-ooxml.modules">
            <!-- full schema -->
            <pathelement path="build/dist/maven/poi-ooxml-full"/>
            <pathelement path="build/dist/maven/poi-tests"/>
            <pathelement path="build/dist/maven/poi-ooxml-tests"/>
            <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
            <pathelement path="lib/main"/>
            <pathelement path="lib/main-tests"/>
            <pathelement path="lib/ooxml"/>
            <pathelement path="lib/ooxml-provided"/>
            <pathelement path="lib/ooxml-tests"/>
        </path>

        <ooxml-test-runner modulepath-ref="test-ooxml.modules" 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>

    <!-- Section: test-integration -->
    <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">
        <delete dir="build" includes="test-integration.log*"/>

        <path id="test-integration.modules">
            <pathelement path="build/dist/maven/poi-tests"/>
            <pathelement path="build/dist/maven/poi-ooxml"/>
            <pathelement path="build/dist/maven/poi-scratchpad"/>
            <pathelement path="build/dist/maven/poi-examples"/>
            <pathelement path="build/dist/maven/poi-ooxml-full"/>
            <pathelement path="build/dist/maven/poi-integration"/>
            <pathelement path="lib/main"/>
            <pathelement path="lib/main-tests"/>
            <pathelement path="lib/ooxml"/>
            <pathelement path="lib/ooxml-provided"/>
            <pathelement path="lib/ooxml-tests"/>
        </path>

        <poiunit failureproperty="integration.test.failed" heap="1512" showoutput="true" jacocodest="build/jacoco-integration.exec"
                 modulepath-ref="test-integration.modules" module1="stress" outputDir="${integration.reports.test}">
            <zipfileset src="build/dist/maven/poi-integration/poi-integration-${version.id}.jar">
                <include name="**/${testpattern}.class"/>
                <exclude name="**/*$*.class"/>
                <exclude name="**/${testexcludepattern}.class"/>
                <patternset refid="exclude-scratchpad-test" if:true="${scratchpad.ignore}"/>
            </zipfileset>
        </poiunit>
        <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>

    <!-- the ooxml lite agent collects referenced schema files while other junit tests are run, -->
    <!-- therefore its best to compile the ooxml lite jar after all usual tests are done -->
    <target name="compile-ooxml-lite" depends="test-ooxml">
        <echo message="Create ooxml-lite schemas"/>
        <local name="lite.exports"/>
        <loadresource property="lite.exports">
            <file file="${ooxml.lite.report}.clazz"/>
            <filterchain>
                <tokenfilter>
                    <replaceregex pattern="[/\\][^/\\]+$" replace=""/>
                    <replaceregex pattern="[/\\]" replace="." flags="g"/>
                </tokenfilter>
                <linecontainsregexp negate="true" regexp="\.impl$"/>
                <sortfilter/>
                <uniqfilter/>
                <prefixlines prefix="    exports "/>
                <suffixlines suffix=";"/>
            </filterchain>
        </loadresource>

        <local name="full.schema"/>
        <loadresource property="full.schema">
            <file file="${basedir}/poi-ooxml-full/src/main/java9/module-info.java"/>
            <filterchain>
                <linecontains negate="true" matchany="true">
                    <contains value="exports"/>
                    <contains value="}"/>
                </linecontains>
            </filterchain>
        </loadresource>

        <echo output="${basedir}/poi-ooxml-lite/src/main/java9/module-info.java">${full.schema}${lite.exports}}</echo>

        <javac release="9"
               srcdir="${basedir}/poi-ooxml-lite/src/main/java9"
               destdir="${basedir}/poi-ooxml-lite/src/main/java9"
               includeantruntime="false"
               fork="true"
               unless:true="${isJava8}">
            <compilerarg line="--patch-module org.apache.poi.ooxml.schemas=${ooxml.xsds.jar}"/>
            <modulepath>
                <pathelement path="lib/ooxml"/>
            </modulepath>
        </javac>

        <copy file="${ooxml.lite.report}.clazz" tofile="${ooxml.lite.report}.clazz1" overwrite="true">
            <filterchain>
                <sortfilter/>
                <suffixlines suffix="$*.class"/>
            </filterchain>
        </copy>

        <copy file="${ooxml.lite.report}.clazz" tofile="${ooxml.lite.report}.clazz2" overwrite="true">
            <filterchain>
                <sortfilter/>
                <suffixlines suffix=".class"/>
            </filterchain>
        </copy>

        <copy file="${ooxml.lite.report}.xsb" tofile="${ooxml.lite.report}.xsb2" overwrite="true">
            <filterchain>
                <sortfilter/>
                <prefixlines prefix="org/apache/poi/schemas/ooxml/system/ooxml/"/>
                <suffixlines suffix=".xsb"/>
            </filterchain>
        </copy>

        <mkdir dir="build/dist/maven/poi-ooxml-lite"/>

        <jar destfile="${ooxml.lite.jar}" duplicate="fail">
            <zipfileset dir="${basedir}/poi-ooxml-lite/src/main/java9" prefix="META-INF/versions/9" excludes="*.java"/>
            <zipfileset src="${ooxml.xsds.jar}">
                <patternset>
                    <includesfile name="${ooxml.lite.report}.clazz1"/>
                    <includesfile name="${ooxml.lite.report}.clazz2"/>
                    <includesfile name="${ooxml.lite.report}.xsb2"/>
<!--                    <include name="org/apache/poi/schemas/ooxml/system/ooxml/*.xsb"/>-->
                    <include name="org/apache/poi/schemas/ooxml/element/**/*.xsb"/>
                </patternset>
            </zipfileset>
            <manifest>
                <attribute name="Multi-Release" value="true"/>
                <attribute name="Automatic-Module-Name" value="org.apache.poi.ooxml.schemas"/>
            </manifest>
        </jar>
    </target>

    <target name="test-ooxml-lite" depends="jacocotask,compile-ooxml-lite">
        <delete file="${ooxml.testokfile}"/>
        <echo message="Running ooxml tests against 'poi-ooxml-lite'"/>

        <path id="test-ooxml-lite.modules">
            <!-- lite schema -->
            <pathelement path="build/dist/maven/poi-ooxml-lite"/>
            <pathelement path="build/dist/maven/poi-tests"/>
            <pathelement path="build/dist/maven/poi-ooxml-tests"/>
            <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
            <pathelement path="lib/main"/>
            <pathelement path="lib/main-tests"/>
            <pathelement path="lib/ooxml"/>
            <pathelement path="lib/ooxml-provided"/>
            <pathelement path="lib/ooxml-tests"/>
        </path>


        <ooxml-test-runner modulepath-ref="test-ooxml-lite.modules" type="ooxml-lite"/>
    </target>

    <!-- Section: test-excelant -->
    <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,compile-ooxml-lite,-test-excelant-check,jacocotask"
            unless="excelant.test.notRequired">

        <path id="test-excelant.modules">
            <pathelement path="lib/main"/>
            <pathelement path="lib/main-tests"/>
            <pathelement path="lib/ooxml"/>
            <pathelement path="lib/ooxml-tests"/>
            <pathelement path="lib/ooxml-provided"/>
            <pathelement path="lib/excelant"/>
            <pathelement path="build/dist/maven/poi-tests"/>
            <pathelement path="build/dist/maven/poi-ooxml-tests"/>
            <pathelement path="build/dist/maven/poi-ooxml-lite"/>
            <pathelement path="build/dist/maven/poi-scratchpad-tests"/>
            <pathelement path="build/dist/maven/poi-excelant-tests"/>
        </path>

        <poiunit failureproperty="excelant.test.failed" jacocodest="build/jacoco-excelant.exec"
                 modulepath-ref="test-excelant.modules" module1="excelant" outputDir="${excelant.reports.test}">
            <zipfileset src="build/dist/maven/poi-excelant-tests/poi-excelant-${version.id}-tests.jar">
                <include name="**/${testpattern}.class"/>
                <exclude name="**/*$*.class"/>
                <exclude name="**/${testexcludepattern}.class"/>
                <patternset refid="exclude-scratchpad-test" if:true="${scratchpad.ignore}"/>
            </zipfileset>
        </poiunit>
        <delete file="${excelant.testokfile}"/>
        <antcall target="-test-excelant-write-testfile"/>
    </target>

    <!-- GENERATE DOCUMENTATION -->

    <!-- Section: docs -->
    <target name="-check-docs">
        <echo message="Checking if documentation recreation is necessary, i.e. if any file at ${main.documentation} is newer than ${build.site}/index.html"/>
        <uptodate property="main.docs.notRequired" targetfile="${build.site}/index.html">
            <srcfiles dir="${main.documentation}" />
        </uptodate>
        <echo message="Had result: ${main.docs.notRequired}"/>
    </target>

    <target name="-check-forrest-installed" unless="env.FORREST_HOME">
        <echo>Please install Apache Forrest (see
            &lt;https://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, javadocs, -forrest-docs"
            unless="main.docs.notRequired"
            description="Builds the POI website" />

    <target name="site" depends="-forrest-docs"/>

    <target name="-forrest-docs" depends="-check-forrest-installed, -check-docs"
            unless="main.docs.notRequired" description="Builds the HTML pages of the POI website">
        <echo message="Using Apache Forrest from ${env.FORREST_HOME}"/>

        <exec executable="${env.FORREST_HOME}/bin/forrest" osfamily="unix"/>
        <exec executable="cmd" osfamily="windows">
            <arg value="/c"/>
            <arg value="${env.FORREST_HOME}/bin/forrest.bat"/>
        </exec>

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

        <!-- Apache Forrest is dead, so we cannot expect fixes there
            however it does not handle "https" in "credits" currently
            if the *.xml file is in a sub-directory, see Apache Forrest
            code at main/webapp/skins/pelt/xslt/html/site-to-xhtml.xsl:350

            So we need to replace the links afterwards to have a fully "https"
            website and avoid browser warning about a "mixed content"
            website -->
        <echo>Fix https in ${build.site}</echo>
        <replace dir="${build.site}"
            token="http://www.apache.org/events/current-event-125x125.png"
            value="https://www.apache.org/events/current-event-125x125.png"
            summary="true"
            includes="**/*.html"/>
        <replace dir="${build.site}"
            token="http://www.google.com/search"
            value="https://www.google.com/search"
            summary="true"
            includes="**/*.html"/>

        <fixcrlf srcdir="${build.site}" includes="**/*.html,**/*.css" eol="unix" eof="remove" />

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

    <!-- Generates the latest/development API documentation. -->
    <target name="javadocs"
            description="Generates the API documentation">
        <echo message="Generating latest Javadocs in ${javadocs.report.dir}"/>
        <javadoc verbose="false" author="true" destdir="${javadocs.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>

            <arg value="--add-modules=java.xml.bind" if:true="${addOpens10}"/>

            <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>SS - Common Spreadsheet Format</title>
                <package name="org.apache.poi.ss*"/>
            </group>
            <group>
                <title>HSSF - Horrible Spreadsheet Format</title>
                <package name="org.apache.poi.hssf*"/>
            </group>
            <group>
                <title>XSSF - Open Office XML Spreadsheet Format</title>
                <package name="org.apache.poi.xssf*"/>
            </group>

            <group>
                <title>SL - Common Slideshow Format</title>
                <package name="org.apache.poi.sl*"/>
            </group>
            <group>
                <title>HSLF - Horrible Slideshow Format</title>
                <package name="org.apache.poi.hslf*"/>
            </group>
            <group>
                <title>XSLF - Open Office XML Slideshow Format</title>
                <package name="org.apache.poi.xslf*"/>
            </group>

            <group>
                <title>HWPF - Horrible Word Processor Format</title>
                <package name="org.apache.poi.hwpf*"/>
            </group>
            <group>
                <title>XWPF - Open Office XML Word Processor Format</title>
                <package name="org.apache.poi.xwpf*"/>
            </group>

            <group>
                <title>HDGF - Horrible Diagram Format</title>
                <package name="org.apache.poi.hdgf*"/>
            </group>
            <group>
                <title>XDGF - Open Office XML Diagram Format</title>
                <package name="org.apache.poi.xdgf*"/>
            </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>

    <macrodef name="maven-jar">
        <attribute name="src"/>
        <attribute name="module"/>
        <element name="elements" implicit="true" optional="true"/>

        <sequential>
            <local name="destfile"/>
            <pathconvert property="destfile" targetos="unix">
                <path><pathelement path="@{src}"/></path>
                <mapper>
                    <chainedmapper>
                        <filtermapper>
                            <replaceregex pattern=".jar" replace="" flags="g"/>
<!--                            <replaceregex pattern="ooxml-lite" replace="ooxml-schemas" flags="g"/>-->
                            <replaceregex pattern="(.java|.src)$$" replace="-sources"/>
                            <replaceregex pattern=".*(?:build|src).?(.*)?" replace="\1"/>
                            <replaceregex pattern="(.*)(-classes|-sources)" replace="poi-\1/poi-\1-${version.id}\2"/>
                            <replaceregex pattern="^(classes|sources)$$" replace="poi/poi-${version.id}-\1"/>
                            <replaceregex pattern="-classes" replace=""/>
                        </filtermapper>
                    </chainedmapper>
                </mapper>
            </pathconvert>

            <local name="isjar"/>
            <condition property="isjar">
                <contains string="@{src}" substring=".jar"/>
            </condition>

            <mkdir dir="@{src}/META-INF/versions/9"/>

            <local name="module-name"/>
            <loadresource property="module-name">
                <string>@{module}</string>
                <filterchain>
                    <replacestring from="poi-" to=""/>
                </filterchain>
            </loadresource>

            <echo message="Building maven-jar for @{module}, module-name: ${module-name} with isJava8: ${isJava8} and src: @{src}"/>

            <javac release="9"
                   srcdir="${basedir}/@{module}/src/main/java9"
                   destdir="@{src}/META-INF/versions/9"
                   includeantruntime="false"
                   fork="true"
                   modulepath="${main.lib}"
                   unless:true="${isJava8}">
                <compilerarg line="--patch-module org.apache.poi.${module-name}=@{src}"/>
                <elements/>
            </javac>

            <jar destfile="build/dist/maven/${destfile}.jar">
                <fileset dir="@{src}" unless:true="${isjar}"/>
                <zipfileset src="@{src}" if:true="${isjar}"/>
                <metainf dir="legal/" excludes="HEADER"/>
                <manifest>
                    <attribute name="Multi-Release" value="true"/>
                    <attribute name="Automatic-Module-Name" value="org.apache.poi.@{module}"/>
                    <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>
            </jar>
        </sequential>
    </macrodef>

    <target name="jar" depends="compile, compile-ooxml-lite" description="Creates jar files for distribution">
    </target>

    <target name="-do-jar-check-javadocs-package-list">
        <condition property="javadocs.package-list.present">
            <available file="${javadocs.report.dir}/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,-do-jar-create-javadocs-package-list">
        <property name="build.maven.javadocs" location="build/tmp/maven-javadocs"/>

        <manifest file="build/poi-manifest.mf">
            <attribute name="Multi-Release" value="true"/>
            <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>

        <!-- Build and package the main javadocs -->
        <maven-javadocs src="${main.src}" dest="${jar.name}"/>
        <!-- Build and package the scratchpad javadocs -->
        <maven-javadocs src="${scratchpad.src}" dest="${jar.name}-scratchpad"/>
        <!-- Build and package the ooxml javadocs -->
        <maven-javadocs src="${ooxml.src}" dest="${jar.name}-ooxml"/>
    </target>

    <macrodef name="maven-javadocs">
        <attribute name="src"/>
        <attribute name="dest"/>
        <sequential>
            <echo message="Building @{dest} javadocs from @{src}" />
            <local name="build.maven.javadocs"/>
            <property name="build.maven.javadocs" location="build/tmp/maven-javadocs"/>
            <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="@{src}" defaultexcludes="yes">
                    <include name="org/apache/poi/**"/>
                </packageset>
                <link offline="true" href="https://poi.apache.org/apidocs/dev" packagelistLoc="${javadocs.report.dir}"/>
            </javadoc>
            <jar destfile="${dist.dir}/maven/@{dest}/@{dest}-${version.id}-javadoc.jar"
                 manifest="build/poi-manifest.mf">
                <fileset dir="${build.maven.javadocs}"/>
                <metainf dir="legal/" excludes="HEADER"/>
            </jar>
        </sequential>
    </macrodef>

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

    <target name="assemble" depends="jar,jar-javadocs" description="Produce the zipped distribution files">
        <property name="zipdir" value="${jar.name}-${version.id}"/>

        <mappedresources id="legal-files" cache="true">
            <fileset dir="legal" excludes="HEADER"/>
            <globmapper from="*" to="${zipdir}/*"/>
        </mappedresources>

        <!-- jars to include in binary assemblies -->
        <union id="bin-files" cache="true">
            <mappedresources refid="legal-files"/>
            <mappedresources cache="true">
                <fileset dir="${main.lib}">
                    <include name="commons-codec-*.jar"/>
                    <include name="commons-collections4-*.jar"/>
                    <include name="commons-math3-*.jar"/>
                    <include name="commons-io-*.jar"/>
                    <include name="log4j-api-*.jar"/>
                    <include name="SparseBitSet-*.jar"/>
                </fileset>
                <globmapper from="*" to="${zipdir}/lib/*"/>
            </mappedresources>
            <mappedresources cache="true">
                <fileset dir="${ooxml.lib}"/>
                <regexpmapper from="^(.*\.jar)$$" to="${zipdir}/ooxml-lib/\1"/>
            </mappedresources>
            <mappedresources cache="true">
                <fileset dir="${ooxml-provided.lib}"/>
                <regexpmapper from="^(.*\.jar)$$" to="${zipdir}/auxiliary/\1"/>
            </mappedresources>
            <mappedresources cache="true">
                <fileset dir="${ooxml-batik.lib}"/>
                <regexpmapper from="^(.*\.jar)$$" to="${zipdir}/auxiliary/\1"/>
            </mappedresources>
            <mappedresources cache="true">
                <fileset dir="${dist.dir}/maven" includes="**/*.jar" excludes="**/*-javadoc.jar,**/*-sources.jar,**/*-tests.jar"/>
                <chainedmapper>
                    <flattenmapper/>
                    <globmapper from="*" to="${zipdir}/*"/>
                </chainedmapper>
            </mappedresources>
            <mappedresources cache="true">
                <fileset dir="${build.site}"/>
                <globmapper from="*" to="${zipdir}/docs/*"/>
            </mappedresources>
        </union>

        <!-- patterns to exclude from source assemblies -->
        <union id="src-files" cache="true">
            <mappedresources refid="legal-files"/>
            <mappedresources cache="true">
                <fileset dir="." excludes="*/build/**,build/**,
                      dist*/**,
                      lib/**,
                      bin/**,
                      out/**,
                      tmp/**,
                      gradle/**,
                      compile-lib/**,
                      ooxml-lib/**,
                      ooxml-testlib/**,
                      scripts/**,
                      TEST*,
                      gradlew,
                      gradlew.bat
                      *.ipr,
                      **/*.iml,
                      *.iws,
                      *.lnk,
                      *.rdf,
                      *.swp,
                      *.launch,
                      *.log,
                      .gradle/**,
                      .idea/**,
                      .settings/**,
                      .classpath,
                      .settings/**,
                      .project"/>
                <globmapper from="*" to="${zipdir}/*"/>
            </mappedresources>
        </union>

        <zip destfile="${dist.dir}/${jar.name}-bin-${version.id}-${DSTAMP}.zip">
            <union refid="bin-files"/>
        </zip>

        <tar destfile="${dist.dir}/${jar.name}-bin-${version.id}-${DSTAMP}.tar.gz" longfile="gnu" compression="gzip">
            <union refid="bin-files"/>
        </tar>

        <zip destfile="${dist.dir}/${jar.name}-src-${version.id}-${DSTAMP}.zip">
            <union refid="src-files"/>
        </zip>

        <tar destfile="${dist.dir}/${jar.name}-src-${version.id}-${DSTAMP}.tar.gz" longfile="gnu" compression="gzip">
            <union refid="src-files"/>
        </tar>

        <echo>Distribution located in ${dist.dir}</echo>
        <echo>Use "ant dist-checksum" to create sha256/sha512 checksums and GPG signatures</echo>
    </target>

    <target name="osgi">
       <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, test-all, rat-check, forbidden-apis-check, docs, jar, release-notes, assemble"
            description="Creates the entire distribution into build/dist, from scratch">
    </target>

    <!-- continuous integration targets -->
    <target name="jenkins"
        depends="replaceVersion, compile, test-all, jar, javadocs, assemble, findbugs, release-notes, rat-check, forbidden-apis-check, help, fetch-svn-jars, maventask"
        description="Target run by Jenkins on a continuous basis. Builds and tests POI, generates artifacts and documentation, and searches for problems."/>

    <target name="maventask" depends="init">
        <downloadfile src="${maven.ant.url}" dest="${maven.ant.jar}"/>

        <path id="maven-ant-tasks.classpath">
            <pathelement location="${maven.ant.jar}"/>
        </path>

        <taskdef uri="antlib:org.apache.maven.artifact.ant" resource="org/apache/maven/artifact/ant/antlib.xml">
            <classpath refid="maven-ant-tasks.classpath"/>
        </taskdef>
    </target>

    <target name="rat-check" depends="init" description="Runs the Apache Creadur Rat check against the source code, to spot any files which are missing the correct license headers">
        <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="poi-examples/src" excludes="main/java/org/apache/poi/**/*-chart-data.txt"/>
            <fileset dir="poi-excelant/src"/>
            <fileset dir="poi-integration/src"/>
            <fileset dir="poi/src">
                <exclude name="main/resources/org/apache/poi/sl/draw/geom/presetShapeDefinitions.xml" />
            </fileset>
            <fileset dir="poi-ooxml/src">
                <exclude name="main/resources/org/apache/poi/xslf/usermodel/notesMaster.xml" />
                <exclude name="main/resources/org/apache/poi/xslf/usermodel/empty.pptx" />
                <exclude name="main/resources/org/apache/poi/xssf/usermodel/presetTableStyles.xml" />
            </fileset>
            <fileset dir="poi-ooxml-full/src">
                <exclude name="main/xmlschema/org/apache/poi/xdgf/visio.xsd" />
                <exclude name="main/xmlschema/org/apache/poi/schemas/*.xsd" />
                <exclude name="main/xmlschema/org/apache/poi/schemas/*.zip" />
            </fileset>
            <fileset dir="poi-scratchpad/src"/>

            <fileset dir="src">
                <exclude name="documentation/*.txt" />
                <exclude name="documentation/content/xdocs/dtd/" />
                <exclude name="documentation/content/xdocs/entity/" />
                <exclude name="documentation/resources/images/pb-poi.cdr"/>
                <exclude name="resources/ooxml-lite-report.*"/>
            </fileset>
        </rat:report>

        <!-- remove clutter to compact build output -->
        <!-- replaceregexp doesn't work within loadfile ... -->
        <replaceregexp file="${rat.report}" match="\s+Printing headers for files without AL header.++" replace="" flags="s"/>

        <loadfile property="rat.reportcontent" srcFile="${rat.report}">
            <filterchain>
                <linecontainsregexp negate="true">
                    <regexp pattern="^\s+(AL|B|N)\s+"/>
                </linecontainsregexp>
            </filterchain>
        </loadfile>
        <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>

    <!-- Runs the Forbiddens APIs checker against the source code, to -->
    <!--  spot any cases where we've accidently used methods we shouldn't -->
    <!-- See https://github.com/policeman-tools/forbidden-apis for details -->
    <!--  of the checks that this can do -->
    <target name="forbidden-apis-check" depends="init, compile, compile-integration">
        <taskdef name="forbiddenapis"
                 classname="de.thetaphi.forbiddenapis.ant.AntTask"
                 classpath="${forbidden.jar}"/>

        <path id="forbiddenapis.classpath">
            <fileset dir="lib/main" includes="*.jar"/>
            <fileset dir="lib/main-tests" includes="*.jar"/>
            <fileset dir="lib/ooxml" includes="*.jar"/>
            <fileset dir="lib/ooxml-tests" includes="*.jar"/>
            <fileset dir="lib/ooxml-provided" includes="*.jar"/>
            <fileset dir="lib/excelant" includes="*.jar"/>
            <pathelement location="${ooxml.xsds.jar}"/>
            <pathelement location="build/dist/maven/poi-tests/poi-${version.id}-tests.jar"/>
            <pathelement location="build/dist/maven/poi-examples/poi-examples-${version.id}.jar"/>
            <path path="${env.CLASSPATH}"/>
            <path refid="batik.classpath"/>
        </path>

        <!-- forbiddenapis bundled signatures max supported version is 14 -->
        <condition property="forbiddenVersion" value="14">
            <javaversion atleast="15"/>
        </condition>
        <property name="forbiddenVersion" value="${ant.java.version}"/>

        <!-- first check rules that apply to all the source code -->
        <forbiddenapis
                 classpathref="forbiddenapis.classpath"
                 suppressAnnotation="org.apache.poi.util.SuppressForbidden"
                 targetVersion="${forbiddenVersion}"
            >
            <bundledsignatures name="jdk-unsafe"/>
            <bundledsignatures name="jdk-deprecated"/>
            <bundledsignatures name="jdk-internal"/>
            <bundledsignatures name="jdk-non-portable"/>
            <bundledsignatures name="jdk-reflection"/>
            <!--
            <bundledsignatures name="jdk-system-out"/>
            -->
            <signaturesFileset file="src/resources/devtools/forbidden-signatures.txt"/>
            <!-- use the plain test-/classes instead of the dist-zips, otherwise forbidden-apis is soo slow ... -->
            <fileset dir="${main.output.dir}"/>
            <fileset dir="${main.output.test.dir}"/>
            <fileset dir="${scratchpad.output.dir}"/>
            <fileset dir="${scratchpad.output.test.dir}"/>
            <fileset dir="${examples.output.dir}"/>
            <fileset dir="${ooxml.output.dir}"/>
            <fileset dir="${ooxml.output.test.dir}"/>
            <fileset dir="${excelant.output.dir}"/>
            <fileset dir="${excelant.output.test.dir}"/>
            <fileset dir="${integration.output.test.dir}"/>
        </forbiddenapis>

        <!-- then check some advanced rules which we only apply to the core code and not tests or examples -->
        <forbiddenapis
                 classpathref="forbiddenapis.classpath"
                 suppressAnnotation="org.apache.poi.util.SuppressForbidden"
                 targetVersion="${forbiddenVersion}"
            >
            <signaturesFileset file="src/resources/devtools/forbidden-signatures-prod.txt"/>
            <!-- sources -->
            <fileset dir="${main.output.dir}"/>
            <fileset dir="${ooxml.output.dir}"/>
            <fileset dir="${scratchpad.output.dir}"/>
            <fileset dir="${excelant.output.dir}"/>
        </forbiddenapis>
    </target>

    <!-- disabling findbugs until jenkins is updated to a current IBM JDK
         see https://stackoverflow.com/a/48561534/2066598
         this should be replaced by spotbugs when available in the jenkins warnings plugin -->
    <target name="findbugs" depends="jar" unless="${isIBMVM}">
        <property name="spotbugs.home" value="build/findbugs" />
        <property name="spotbugs.lib" value="/build/findbugs/lib" />

        <!-- findbugs successor, spotbugs ... need to use the dependencies used in the spotbugs release. -->
        <!-- compare with the entries found in the MANIFEST.MF of spotbugs.jar -->
        <dependency prefix="spotbugs" artifact="com.github.spotbugs:spotbugs:4.2.0" usage="${spotbugs.lib}" target="spotbugs.jar"/>
        <dependency prefix="spotbugs-ant" artifact="com.github.spotbugs:spotbugs-ant:4.2.0" usage="${spotbugs.lib}" target="spotbugs-ant.jar"/>
        <dependency prefix="spotbugs-anno" artifact="com.github.spotbugs:spotbugs-annotations:4.2.0" usage="${spotbugs.lib}" target="spotbugs-annotations.jar"/>
        <dependency prefix="spotbugs.asm" artifact="org.ow2.asm:asm:9.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.asm-analysis" artifact="org.ow2.asm:asm-analysis:9.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.asm-commons" artifact="org.ow2.asm:asm-commons:9.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.asm-tree" artifact="org.ow2.asm:asm-tree:9.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.asm-util" artifact="org.ow2.asm:asm-util:9.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.jsr305" artifact="com.google.code.findbugs:jsr305:3.0.2" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.dom4j" artifact="org.dom4j:dom4j:2.1.3" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.jaxen" artifact="jaxen:jaxen:1.2.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.bcel" artifact="org.apache.bcel:bcel:6.5.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.slf4j-api" artifact="org.slf4j:slf4j-api:1.8.0-beta4" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.commons-lang3" artifact="org.apache.commons:commons-lang3:3.11" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.commons-text" artifact="org.apache.commons:commons-text:1.9" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.jcip-annotations" artifact="net.jcip:jcip-annotations:1.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.icu4j" artifact="com.ibm.icu:icu4j:68.2" usage="${spotbugs.lib}" target="icu4j-63.1.jar"/>
        <dependency prefix="spotbugs.log4j-api" artifact="org.apache.logging.log4j:log4j-api:2.18.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.log4j-core" artifact="org.apache.logging.log4j:log4j-core:2.18.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.log4j-slf4j18-impl" artifact="org.apache.logging.log4j:log4j-slf4j18-impl:2.18.0" usage="${spotbugs.lib}"/>
        <dependency prefix="spotbugs.saxon" artifact="net.sf.saxon:Saxon-HE:9.9.1-8" usage="${spotbugs.lib}"/>

        <mkdir dir="${basedir}${spotbugs.lib}/config"/>

        <downloadfile src="${spotbugs.url}" dest="${spotbugs.jar}"/>
        <downloadfile src="${spotbugs-ant.url}" dest="${spotbugs-ant.jar}"/>
        <downloadfile src="${spotbugs-anno.url}" dest="${spotbugs-anno.jar}"/>
        <downloadfile src="${spotbugs.dom4j.url}" dest="${spotbugs.dom4j.jar}"/>
        <downloadfile src="${spotbugs.jaxen.url}" dest="${spotbugs.jaxen.jar}"/>
        <downloadfile src="${spotbugs.bcel.url}" dest="${spotbugs.bcel.jar}"/>
        <downloadfile src="${spotbugs.slf4j-api.url}" dest="${spotbugs.slf4j-api.jar}"/>
        <downloadfile src="${spotbugs.commons-lang3.url}" dest="${spotbugs.commons-lang3.jar}"/>
        <downloadfile src="${spotbugs.commons-text.url}" dest="${spotbugs.commons-text.jar}"/>
        <downloadfile src="${spotbugs.jcip-annotations.url}" dest="${spotbugs.jcip-annotations.jar}"/>
        <downloadfile src="${spotbugs.jsr305.url}" dest="${spotbugs.jsr305.jar}"/>
        <downloadfile src="${spotbugs.asm.url}" dest="${spotbugs.asm.jar}"/>
        <downloadfile src="${spotbugs.asm-analysis.url}" dest="${spotbugs.asm-analysis.jar}"/>
        <downloadfile src="${spotbugs.asm-commons.url}" dest="${spotbugs.asm-commons.jar}"/>
        <downloadfile src="${spotbugs.asm-tree.url}" dest="${spotbugs.asm-tree.jar}"/>
        <downloadfile src="${spotbugs.asm-util.url}" dest="${spotbugs.asm-util.jar}"/>
        <downloadfile src="${spotbugs.log4j-api.url}" dest="${spotbugs.log4j-api.jar}"/>
        <downloadfile src="${spotbugs.log4j-core.url}" dest="${spotbugs.log4j-core.jar}"/>
        <downloadfile src="${spotbugs.log4j-slf4j18-impl.url}" dest="${spotbugs.log4j-slf4j18-impl.jar}"/>
        <downloadfile src="${spotbugs.saxon.url}" dest="${spotbugs.saxon.jar}"/>
        <downloadfile src="${spotbugs.icu4j.url}" dest="${spotbugs.icu4j.jar}"/>

        <taskdef resource="edu/umd/cs/findbugs/anttask/tasks.properties">
            <classpath>
                <pathelement location="${spotbugs-ant.jar}"/>
            </classpath>
        </taskdef>

        <echo file="${basedir}${spotbugs.lib}/config/log4j2.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
            <Configuration status="WARN">
                <Appenders>
                    <Console name="Console" target="SYSTEM_OUT">
                        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
                    </Console>
                </Appenders>
                <Loggers>
                    <Root level="error">
                        <AppenderRef ref="Console"/>
                    </Root>
                </Loggers>
            </Configuration>
        ]]></echo>

        <spotbugs home="${spotbugs.home}"
           output="xml:withMessages"
           outputFile="build/findbugs.xml"
           effort="max"
           failOnError="true"
           excludeFilter="src/resources/devtools/findbugs-filters.xml">
            <fileset dir="${dist.dir}/maven">
                <include name="poi/poi-${version.id}.jar"/>
                <include name="poi-scratchpad/poi-scratchpad-${version.id}.jar"/>
                <include name="poi-ooxml/poi-ooxml-${version.id}.jar"/>
                <include name="poi-excelant/poi-excelant-${version.id}.jar"/>
            </fileset>
            <auxClasspath path="${dsig.bouncycastle-pkix.jar}" />
            <auxClasspath path="${dsig.bouncycastle-prov.jar}" />
            <auxClasspath path="${dsig.bouncycastle-util.jar}" />
            <auxClasspath path="${dsig.xmlsec.jar}" />
            <auxClasspath path="${ooxml.xsds.jar}" />
            <auxClasspath path="${ooxml.curvesapi.jar}" />
            <auxClasspath path="${ooxml.xmlbeans.jar}" />
            <auxClasspath path="${ooxml.commons-compress.jar}" />
            <auxClasspath path="${main.commons-collections4.jar}" />
            <auxClasspath path="${main.commons-math3.jar}" />
            <auxClasspath path="${main.commons-io.jar}" />
            <auxClasspath path="${main.commons-codec.jar}" />
            <auxClasspath path="${main.commons-logging.jar}" />
            <auxClasspath path="${main.log4j-api.jar}" />
            <auxClasspath path="${main.log4j-core.jar}" />
            <auxClasspath path="${main.junit-api.jar}" />
            <auxClasspath path="${main.junit-jengine.jar}" />
            <auxClasspath path="${main.junit-params.jar}" />
            <auxClasspath path="${main.junit-plauncher.jar}" />
            <auxClasspath path="${main.junit-pengine.jar}" />
            <auxClasspath path="${main.junit-pcommons.jar}" />
            <auxClasspath path="${main.junit-opentest4j.jar}" />
            <auxClasspath path="${main.junit-apiguardian.jar}" />
            <auxClasspath path="${main.jmh.jar}"/>
            <auxClasspath path="${main.jmhAnnotation.jar}"/>
            <auxClasspath path="${main.ant.jar}" />
            <auxClasspath path="${main.com.zaxxer.jar}" />
            <auxClasspath path="${svg.batik-anim.jar}"/>
            <auxClasspath path="${svg.batik-awt-util.jar}"/>
            <auxClasspath path="${svg.batik-bridge.jar}"/>
            <auxClasspath path="${svg.batik-codec.jar}"/>
            <auxClasspath path="${svg.batik-constants.jar}"/>
            <auxClasspath path="${svg.batik-css.jar}"/>
            <auxClasspath path="${svg.batik-dom.jar}"/>
            <auxClasspath path="${svg.batik-ext.jar}"/>
            <auxClasspath path="${svg.batik-gvt.jar}"/>
            <auxClasspath path="${svg.batik-i18n.jar}"/>
            <auxClasspath path="${svg.batik-parser.jar}"/>
            <auxClasspath path="${svg.batik-script.jar}"/>
            <auxClasspath path="${svg.batik-shared-resources.jar}"/>
            <auxClasspath path="${svg.batik-svg-dom.jar}"/>
            <auxClasspath path="${svg.batik-svggen.jar}"/>
            <auxClasspath path="${svg.batik-svgrasterizer.jar}"/>
            <auxClasspath path="${svg.batik-transcoder.jar}"/>
            <auxClasspath path="${svg.batik-util.jar}"/>
            <auxClasspath path="${svg.batik-xml.jar}"/>
            <auxClasspath path="${svg.xml-apis-ext.jar}"/>
            <auxClasspath path="${svg.xmlgraphics-commons.jar}"/>
            <auxClasspath path="${pdf.pdfbox.jar}"/>
            <auxClasspath path="${pdf.fontbox.jar}"/>
            <auxClasspath path="${pdf.graphics2d.jar}"/>
            <sourcePath path="poi/src/main/java" />
            <sourcePath path="poi-excelant/src/main/java" />
            <sourcePath path="poi-examples/src/main/java" />
            <sourcePath path="poi-ooxml/src/main/java" />
            <sourcePath path="poi-scratchpad/src/main/java" />
        </spotbugs>

        <!-- instead of calling findbugs again, we simply transform the xml -->
        <makeurl file="${basedir}${spotbugs.lib}/spotbugs.jar" property="findbugs.jarurl"/>
        <!-- although there's a findbugs history task too, it doesn't make much sense to provide it, -->
        <!-- as the build directory (i.e. the old findbugs.xml) is deleted regularly -->
        <xslt basedir="build" destdir="build" includes="findbugs.xml" force="true">
            <style>
                <url url="jar:${findbugs.jarurl}!/fancy.xsl"/>
            </style>
            <classpath>
                <pathelement location="${spotbugs.saxon.jar}"/>
            </classpath>
            <factory name="net.sf.saxon.TransformerFactoryImpl"/>
        </xslt>
    </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="https://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>

    <target name="dist-checksum" depends="load-maven-server-settings">
        <fileset id="dist-archives" dir="${dist.dir}" includes="**/*.jar,**/*.pom,**/*.zip,**/*.tar.gz"/>

        <checksum algorithm="sha1" format="MD5SUM">
            <fileset refid="dist-archives"/>
        </checksum>
        <checksum algorithm="md5" format="MD5SUM">
            <fileset refid="dist-archives"/>
        </checksum>
        <checksum algorithm="SHA-256" fileext=".sha256" format="MD5SUM">
            <fileset refid="dist-archives"/>
        </checksum>
        <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM">
            <fileset refid="dist-archives"/>
        </checksum>

        <fixcrlf srcDir="${dist.dir}" includes="**/*.md5,**/*.sha1,**/*.sha256,**/*.sha512" eol="unix"/>

        <downloadfile src="${dsig.bouncycastle-bcpg.url}" dest="${dsig.bouncycastle-bcpg.jar}"/>
        <downloadfile src="${dist.commons-openpgp.url}" dest="${dist.commons-openpgp.jar}"/>

        <taskdef resource="org/apache/commons/openpgp/ant/antlib.xml" uri="antlib:org.apache.commons.openpgp.ant">
            <classpath>
                <pathelement path="${dist.commons-openpgp.jar}"/>
                <pathelement path="${dsig.bouncycastle-prov.jar}"/>
                <pathelement path="${dsig.bouncycastle-bcpg.jar}"/>
            </classpath>
        </taskdef>

        <openpgp:signer secring="${settings.poi-signing.privateKey}"
            pubring="${settings.poi-signing.publicKey}"
            password="${settings.poi-signing.passphrase}" keyid="${settings.poi-signing.username}"
            asciiarmor="true">
            <fileset refid="dist-archives"/>
        </openpgp:signer>
    </target>

    <target name="dist-nexus" depends="load-maven-server-settings,dist-checksum"
            description="upload build artifacts to nexus">
        <delete dir="build/repo"/>
        <delete dir="build/nexus-stage"/>
        <nexus-upload artifactId="poi"/>
        <nexus-upload artifactId="poi-examples"/>
        <nexus-upload artifactId="poi-excelant"/>
        <nexus-upload artifactId="poi-ooxml"/>
        <nexus-upload artifactId="poi-ooxml-lite"/>
        <nexus-upload artifactId="poi-ooxml-full"/>
        <nexus-upload artifactId="poi-scratchpad"/>
    </target>

    <macrodef name="nexus-upload">
        <attribute name="artifactId"/>
        <sequential>
            <local name="repo"/>
            <property name="repo" location="build/repo/@{artifactId}"/>

            <copy todir="${repo}">
                <mappedresources>
                    <!-- add sha-512 when nexus rules are updated (1/2) -->
                    <fileset dir="build/dist/maven" includes="@{artifactId}/**" excludes="**/*.sha512,**/*.sha256"/>
                    <regexpmapper from="^([^/]+)/(.*)$$" to="org/apache/poi/\1/${version.id}/\2" handledirsep="true"/>
                </mappedresources>
            </copy>

            <local name="lastUpdated"/>
            <tstamp>
                <format property="lastUpdated" pattern="yyyyMMddHHmmss" timezone="UTC"/>
            </tstamp>

            <local name="metadir"/>
            <property name="metadir" location="${repo}/org/apache/poi/@{artifactId}"/>

            <echo file="${metadir}/maven-metadata.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.apache.poi</groupId>
  <artifactId>@{artifactId}</artifactId>
  <versioning>
    <latest>${version.id}</latest>
    <release>${version.id}</release>
    <versions>
      <version>${version.id}</version>
    </versions>
    <lastUpdated>${lastUpdated}</lastUpdated>
  </versioning>
</metadata>]]></echo>
            <fixcrlf srcdir="${metadir}" includes="maven-metadata.xml" eol="unix" eof="remove" />
            <!-- add sha-512 when nexus rules are updated (2/2) -->
            <!--checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM">
                <fileset dir="${metadir}" includes="maven-metadata.xml"/>
            </checksum-->
            <checksum algorithm="sha1" format="MD5SUM">
                <fileset dir="${metadir}" includes="maven-metadata.xml"/>
            </checksum>
            <checksum algorithm="md5" format="MD5SUM">
                <fileset dir="${metadir}" includes="maven-metadata.xml"/>
            </checksum>

            <fixcrlf srcDir="${metadir}" includes="*.md5,*.sha1,*.sha256,*.sha512" eol="unix"/>

            <downloadfile src="${dist.nexus-staging.url}" dest="${dist.nexus-staging.jar}"/>
            <taskdef uri="antlib:org.sonatype.nexus.ant.staging" resource="org/sonatype/nexus/ant/staging/antlib.xml">
                <classpath><pathelement path="${dist.nexus-staging.jar}"/></classpath>
            </taskdef>

            <staging:stageLocally description="@{artifactId} ${version.id}">
                <staging:nexusStagingInfo stagingDirectory="build/nexus-stage/@{artifactId}"/>
                <fileset dir="${repo}" />
            </staging:stageLocally>

            <!-- if this throws a "... dh keypair ..." exception, use Java 7+ for executing the task -->
            <staging:stageRemotely description="@{artifactId} ${version.id}">
                <staging:nexusStagingInfo stagingDirectory="build/nexus-stage/@{artifactId}">
                    <staging:projectInfo groupId="org.apache.poi" artifactId="@{artifactId}" version="${version.id}" />
                    <staging:connectionInfo baseUrl="https://repository.apache.org/">
                        <staging:authentication username="${settings.apache-id.username}" password="${settings.apache-id.password}" />
                    </staging:connectionInfo>
                </staging:nexusStagingInfo>
            </staging:stageRemotely>
        </sequential>
    </macrodef>

    <target name="-init-svn" depends="init,fetch-svn-jars,load-maven-server-settings">
        <!-- JAVA_HOME needs to point to a JRE/JDK7+, otherwise the svn/https connection throws a "Could not generate DH keypair"-->
        <fail message="Environment needs to point to Java 8+">
            <condition>
                <or>
                    <equals arg1="${ant.java.version}" arg2="1.7"/>
                    <equals arg1="${ant.java.version}" arg2="1.6"/>
                    <equals arg1="${ant.java.version}" arg2="1.5"/>
                </or>
            </condition>
        </fail>

        <path id="path.svnant">
            <pathelement location="${dist.svnant.jar}"/>
            <pathelement location="${dist.svnclientadapter-base.jar}"/>
            <pathelement location="${dist.svnclientadapter-svnkit.jar}"/>
            <pathelement location="${dist.svnclientadapter-javahl.jar}"/>
            <pathelement location="${dist.svnkit.jar}"/>
            <pathelement location="${dist.svnkit-javahl16.jar}"/>
            <pathelement location="${dist.sqljet.jar}"/>
            <pathelement location="${dist.antlr.jar}"/>
            <pathelement location="${dist.sequence-library.jar}"/>
            <pathelement location="${dist.lz4-java.jar}"/>
        </path>
        <taskdef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/>

        <svnSetting
            svnkit="true"
            javahl="false"
            username="${settings.apache-id.username}"
            password="${settings.apache-id.password}"
            id="svn.settings"
        />
    </target>

    <target name="release-prep0" depends="-init-svn" description="check to make sure the release tag doesn't exist yet">
        <!-- verify that svn username/password are valid ... -->
        <fail message="Unable to connect to SVN repo. Verify apache-id username and password. If these are correct, change the release-prep0 target to check over http, which would indicate a problem with your https setup.">
            <condition>
                <not><svnExists refid="svn.settings" target="https://svn.apache.org/repos/asf/poi/"/></not>
            </condition>
        </fail>

        <!-- verify that the release tag that we're about to create in release-prep1 does not already exist (no overwriting tags!) -->
        <fail message="Cannot create release tag. https://svn.apache.org/repos/asf/poi/tags/${RELEASE_TAG} already exists. Verify the requested release version (${version.id}).">
            <condition>
                <svnExists refid="svn.settings" target="https://svn.apache.org/repos/asf/poi/tags/${RELEASE_TAG}/"/>
            </condition>
        </fail>
    </target>

    <!-- experimental release preparation ... tbd. ... -->
    <target name="release-prep1" depends="-init-svn,release-prep0" description="update the documentation and create the svn tag - needs Java7+">
        <local name="tstamp_rel"/>
        <local name="tstamp_next"/>
        <local name="rel_next"/>
        <tstamp>
            <format property="tstamp_rel" pattern="yyyy-MM-dd" offset="7" unit="day"/>
            <format property="tstamp_next" pattern="yyyy-MM" offset="3" unit="month"/>
        </tstamp>

        <taskdef name="NextRelease" classname="NextRelease" classpath="poi-excelant/build/poi-ant-contrib"/>
        <NextRelease property="rel_next"/>

        <antcall target="-update-build.xml">
            <param name="version_id" value="${version.id}"/>
        </antcall>

        <replaceregexp byline="true">
            <regexp pattern="&lt;release.*date=&quot;.*\?\?&quot;&gt;"/>
            <substitution expression="&lt;!-- release version=&quot;${rel_next}&quot; date=&quot;${tstamp_next}-??&quot;&gt;&#10;    &lt;/release --&gt;&#10;&#10;    &lt;release version=&quot;${version.id}&quot; date=&quot;${tstamp_rel}&quot;&gt;"/>
            <fileset dir="src/documentation/content/xdocs">
              <include name="changes.xml"/>
            </fileset>
        </replaceregexp>

        <fixcrlf srcdir="." includes="src/documentation/content/xdocs/changes.xml" eol="unix" eof="remove" />

        <!-- can't combine updating and pinning of the documentation ... so we need two commits -->
        <!-- (revision)properties can't be set and read within one svn block -->
        <echo message="updating build.xml and changes.xml"/>
        <exec command="svn ci --username ${settings.apache-id.username} --password ${settings.apache-id.password} -m 'release prepare for ${version.id} - updating build.xml and changes.xml' build.xml src/documentation/content/xdocs/changes.xml"/>
        <svn refid="svn.settings">
            <!--<commit message="release prepare for ${version.id} - updating build.xml and changes.xml" recurse="false">
                <fileset dir="." includes="build.xml,src/documentation/content/xdocs/changes.xml"/>
            </commit>-->
            <update dir="." recurse="true"/>
            <status path="." revisionProperty="svn_version1"/>
        </svn>
        <echo message="pin documentation - release ${svn_version1}"/>
        <exec command="svn ci --username ${settings.apache-id.username} --password ${settings.apache-id.password} -m 'release prepare for ${version.id} - pin documentation' src"/>
        <svn refid="svn.settings">
            <propset path="src" name="svn:externals" value="documentation -r${svn_version1} https://svn.apache.org/repos/asf/poi/site/src/documentation"/>
<!--            <commit message="release prepare for ${version.id} - pin documentation" dir="src" recurse="false"/>-->
            <update dir="." recurse="true"/>
            <status path="." revisionProperty="svn_version2"/>
        </svn>
        <echo message="create release tag"/>
        <svn refid="svn.settings">
            <copy
                srcUrl="https://svn.apache.org/repos/asf/poi/trunk"
                destUrl="https://svn.apache.org/repos/asf/poi/tags/${RELEASE_TAG}"
                message="tag r${svn_version2} as ${version.id}"/>
        </svn>

        <!-- update build.xml to the next snapshot version -->
        <antcall target="-update-build.xml">
            <param name="version_id" value="${rel_next}"/>
        </antcall>

        <!-- unpin documentation and commit next snapshot version -->
        <svn refid="svn.settings">
            <update dir="." recurse="true"/>
            <propset path="src" name="svn:externals" value="documentation https://svn.apache.org/repos/asf/poi/site/src/documentation"/>
            <!--<commit message="prepare for ${rel_next}" recurse="false">
                <fileset dir="." includes="build.xml"/>
                <dirset dir="src"/>
            </commit>-->
        </svn>
        <exec command="svn ci --username ${settings.apache-id.username} --password ${settings.apache-id.password} -m 'prepare for ${rel_next}' build.xml src poi*"/>

        <mkdir dir="build/release"/>

        <svn refid="svn.settings">
            <checkout url="https://svn.apache.org/repos/asf/poi/tags/${RELEASE_TAG}" destPath="build/release" ignoreExternals="false"/>
        </svn>
    </target>

    <target name="release-prep2" depends="init" description="compile the freshly checked out svn tag and upload it to the nexus - needs a JDK6">
        <!-- JAVA_HOME needs to point to a JDK8, otherwise the ant invocation is failing on a missing javac -->
        <fail message="Environment needs to point to a Java 8 JDK">
            <condition>
                <not><equals arg1="${ant.java.version}" arg2="1.8"/></not>
            </condition>
        </fail>

        <local name="DSTAMP"/>
        <tstamp>
            <format property="DSTAMP" pattern="yyyyMMdd" offset="7" unit="day"/>
        </tstamp>

        <ant dir="build/release" inheritAll="false" inheritRefs="false" useNativeBasedir="true">
            <property name="DSTAMP" value="${DSTAMP}"/>
            <target name="dist" />
        </ant>
    </target>

    <target name="release-prep3" depends="-init-svn" description="write the dist to the release candidate repo - needs Java7+">
        <ant dir="build/release" inheritAll="false" inheritRefs="false" useNativeBasedir="true">
            <target name="dist-nexus" />
        </ant>

        <svn refid="svn.settings">
            <import path="build/release/build/dist"
                url="https://dist.apache.org/repos/dist/dev/poi"
                newEntry="${version.id}-${release.rc}"
                message="release candidate POI ${version.id}"/>
        </svn>
    </target>

    <target name="release-finish" description="write the dist to the release candidate repo - needs Java7+">
        <!--svn refid="svn.settings">
            <update dir="." recurse="true"/>
        </svn-->
        <local name="rel_prev"/>
        <local name="file_date"/>
        <local name="file_date_iso"/>

        <tstamp>
            <!-- usually overwritten by a command line argument -->
            <!-- for convience this is kept in the same format as in the release-prep call  -->
            <format property="file_date" pattern="yyyyMMdd" locale="US"/>
        </tstamp>


        <taskdef name="NextRelease" classname="NextRelease" classpath="poi-excelant/build/poi-ant-contrib"/>
        <NextRelease property="rel_prev" increment="-1"/>

        <!-- we don't simply generate a new iso file date with tstamp,
            but potentially use the date given as an argument to ant -->
        <loadresource property="file_date_iso">
            <string>${file_date}</string>
            <filterchain>
                <replaceregex pattern="([0-9]{4})([0-9]{2})([0-9]{2})" replace="\1-\2-\3"/>
            </filterchain>
        </loadresource>

        <replaceregexp file="build.gradle" match="( +version += +)'[^']+'" replace="\1'${version.id}'"/>
        <replaceregexp file="poi-examples/src/main/groovy/build.gradle" match="( *compile 'org.apache.poi:[^0-9]+)([0-9.]+)'" replace="\1${rel_prev}'" byline="true"/>
        <replaceregexp file="poi-examples/src/main/scala/build.sbt" match='( *org.apache.poi.* ")[0-9.]+(.+)' replace="\1${rel_prev}\2" byline="true"/>
        <replaceregexp file="osgi/pom.xml" match="version>${rel_prev}[^&lt;]+" replace="version>${version.id}"/>
        <replaceregexp file="doap_POI.rdf" match="&lt;release&gt;" replace="&lt;release&gt;&#10;      &lt;Version&gt;&#10;        &lt;name&gt;Apache POI ${rel_prev}&lt;/name&gt;&#10;        &lt;created&gt;${file_date_iso}&lt;/created&gt;&#10;        &lt;revision&gt;${rel_prev}&lt;/revision&gt;&#10;      &lt;/Version&gt;&#10;    &lt;/release&gt;&#10;    &lt;release&gt;"/>
    </target>



    <target name="-update-build.xml">
        <replaceregexp byline="true">
            <regexp pattern="(&lt;property name=&quot;version.id&quot; value=&quot;)[^&quot;]+(&quot;/>)"/>
            <substitution expression="\1${version_id}\2"/>
            <fileset dir=".">
                <include name="build.xml"/>
            </fileset>
        </replaceregexp>
        <fixcrlf srcdir="." includes="build.xml" eol="unix" eof="remove" />
    </target>

    <!--
        Configure gpg settings in local maven settings.xml
        see release-guide.txt for more details
    -->
    <target name="load-maven-server-settings">
        <xslt in="${user.home}/.m2/settings.xml" out="build/tmp/signing.properties">
            <style>
                <string><![CDATA[
                    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mvn="http://maven.apache.org/SETTINGS/1.0.0">
                        <xsl:output method="text" version="1.0" encoding="ISO-8859-1"/>
                        <xsl:template match="@*|text()"/>
                        <xsl:template match="//mvn:server[contains('poi-signing|apache-id',mvn:id/text())]/*[name(.)!='id']">
                            <xsl:value-of select="concat('settings.',../mvn:id,'.',name(.),'=',translate(text(),'\','/'),'&#010;')"/>
                        </xsl:template>
                    </xsl:stylesheet>
                ]]></string>
            </style>
        </xslt>

        <loadproperties srcFile="build/tmp/signing.properties"/>
        <pathconvert property="settings.poi-signing.publicKey">
            <path><pathelement path="${settings.poi-signing.privateKey}"/></path>
            <mapper><filtermapper><replacestring from="secring" to="pubring"/></filtermapper></mapper>
        </pathconvert>
    </target>

    <macrodef name="loadChecksum">
        <attribute name="url"/>
        <attribute name="property"/>
        <sequential>
            <loadresource property="@{property}">
                <url url="@{url}"/>
                <filterchain>
                    <striplinebreaks/>
                    <replaceregex pattern=" .*" replace=""/>
                </filterchain>
            </loadresource>
        </sequential>
    </macrodef>

    <macrodef name="download-line">
        <attribute name="prop"/>
        <attribute name="dist"/>
        <attribute name="pack"/>
        <sequential>
            <local name="baseurl"/>
            <property name="baseurl" value="https://downloads.apache.org/poi/release"/>

            <local name="basedyn"/>
            <property name="basedyn" value="https://www.apache.org/dyn/closer.lua/poi/release"/>

            <delete file="build/loadFilesize.txt"/>
            <record name="build/loadFilesize.txt" action="start" loglevel="verbose" append="false"/>
            <http url="${baseurl}/@{dist}/poi-@{dist}-${version.id}-${file_date}.@{pack}" method="HEAD" expected="200" printrequestheaders="false" printresponseheaders="false"/>
            <record name="build/loadFilesize.txt" action="stop"/>
            <local name="fileSize"/>
            <loadfile property="fileSize" srcFile="build/loadFilesize.txt">
                <filterchain>
                    <tokenfilter>
                        <containsstring contains="Content-Length"/>
                        <replaceregex pattern=".* ([0-9]+)$" replace="\1" flags="gi"/>
                    </tokenfilter>
                    <striplinebreaks/>
                </filterchain>
            </loadfile>

            <taskdef name="bytes2mega" classname="Bytes2Mega" classpath="poi-excelant/build/poi-ant-contrib"/>
            <local name="fileSizeMb"/>
            <bytes2mega property="fileSizeMb" bytes="${fileSize}"/>

            <property name="@{prop}"><![CDATA[<li>
          <a href="${basedyn}/@{dist}/poi-@{dist}-${version.id}-${file_date}.@{pack}">poi-@{dist}-${version.id}-${file_date}.@{pack}</a>
          (${fileSizeMb} MB, <a href="${baseurl}/@{dist}/poi-@{dist}-${version.id}-${file_date}.@{pack}.asc">signature (.asc)</a>,
          checksum: <a href="${baseurl}/@{dist}/poi-@{dist}-${version.id}-${file_date}.@{pack}.sha256">SHA-256</a>,
          <a href="${baseurl}/@{dist}/poi-@{dist}-${version.id}-${file_date}.@{pack}.sha512">SHA-512</a>)
        </li>]]></property>
        </sequential>
    </macrodef>

    <!-- TODO: currently this only saves a copy and paste snipplet to a file ...
         would be nice if it really changes changes.xml and download.xml
         Doesn't work with Java6 - the https urls can't be accessed via loadChecksum
     -->
    <target name="update-download">
        <downloadfile src="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/missing-link/ml-ant-http-1.1.3.zip" dest="${util.lib}/ml-ant-http-1.1.3.zip"/>
        <unzip src="${util.lib}/ml-ant-http-1.1.3.zip" dest="${util.lib}">
            <patternset>
                <include name="ml-ant-http-1.1.3.jar"/>
            </patternset>
        </unzip>
        <taskdef name="http" classname="org.missinglink.ant.task.http.HttpClientTask">
            <classpath>
                <path location="${util.lib}/ml-ant-http-1.1.3.jar"/>
            </classpath>
        </taskdef>

        <tstamp>
            <format property="rel_date" pattern="dd MMMM yyyy" locale="US"/>
            <format property="file_date" pattern="yyyyMMdd" locale="US"/>
        </tstamp>

        <local name="li1"/>
        <local name="li2"/>
        <local name="li3"/>
        <local name="li4"/>
        <download-line prop="li1" dist="bin" pack="tar.gz"/>
        <download-line prop="li2" dist="bin" pack="zip"/>
        <download-line prop="li3" dist="src" pack="tar.gz"/>
        <download-line prop="li4" dist="src" pack="zip"/>

<echo file="download-snipplet.xml"><![CDATA[
    <section id="POI-${version.id}"><title>${rel_date} - POI ${version.id} available</title>
      <p>The Apache POI team is pleased to announce the release of ${version.id}.
         Featured are a handful of new areas of functionality and numerous bug fixes.</p>
      <p>A summary of changes is available in the
        <a href="https://www.apache.org/dyn/closer.lua/poi/dev/RELEASE-NOTES-${version.id}.txt">Release Notes</a>.
        A full list of changes is available in the <a href="site:changes">change log</a>.
        People interested should also follow the <a href="site:mailinglists">dev list</a>
        to track progress.</p>
      <p>
        The POI source release as well as the pre-built binary deployment packages are listed below.
        Pre-built versions of all <a href="site:components">POI components</a>
        are available in the central Maven repository under Group ID "org.apache.poi" and Version
        "${version.id}".
      </p>
      <section id="POI-${version.id}-bin"><title>Binary Distribution</title>
      <ul>
        ${li1}
        ${li2}
      </ul>
      </section>
      <section id="POI-${version.id}-src"><title>Source Distribution</title>
      <ul>
        ${li3}
        ${li4}
      </ul>
      </section>
    </section>
]]></echo>
    </target>

    <target name="test-env" description="tests if ant is available on the jenkins worker">
      <echo>Using Ant: ${ant.version} from ${ant.home}</echo>
    </target>

    <target name="replaceVersion" description="Apply the version from build.xml in all other places">
        <replaceregexp
               match=" version = '[0-9.]+(?:-SNAPSHOT)?'"
               replace=" version = '${version.id}'">
            <fileset dir=".">
                <include name="build.gradle"/>
            </fileset>
        </replaceregexp>
        <replaceregexp
               match="&lt;poi.version>[0-9.]+(?:-SNAPSHOT)?&lt;/poi.version>"
               replace="&lt;poi.version>${version.id}&lt;/poi.version>">
            <fileset dir=".">
                <include name="osgi/pom.xml"/>
            </fileset>
        </replaceregexp>
    </target>
</project>
