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

     https://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.
-->
<project name="ivy" default="test-report" xmlns:ivy="antlib:org.apache.ivy.ant">

    <property environment="env"/>
    <property file="version.properties"/>
    <property file="build.properties"/>

    <property name="final.name" value="ivy.jar"/>
    <!-- Java 7 runs into TLS protocol issues when dealing with repositories
    that no longer support older protocols -->
    <condition property="java.sysprop.https.protocols" value="" else="TLSv1.2">
        <javaversion atleast="1.8"/>
    </condition>


    <target name="init-ivy-user-home" unless="ivy.use.local.home">
        <condition property="ivy.home" value="${env.IVY_HOME}">
            <isset property="env.IVY_HOME"/>
        </condition>
        <property name="ivy.home" value="${user.home}/.ivy2"/>
    </target>

    <target name="init-ivy-local-home" if="ivy.use.local.home">
        <property name="ivy.home" value="${basedir}/.ivy2"/>
    </target>

    <target name="init-ivy-home" depends="init-ivy-user-home,init-ivy-local-home"/>

    <target name="init-ivy" depends="compile-bootstrap,init-ivy-home">
        <taskdef resource="org/apache/ivy/ant/antlib.xml"
                 uri="antlib:org.apache.ivy.ant">
            <classpath>
                <pathelement location="${core.classes.build.dir}"/>
                <pathelement location="${bootstrap.classes.build.dir}"/>
            </classpath>
        </taskdef>

        <ivy:configure override="true"/>
    </target>

    <target name="install" depends="jar"
            description="build Ivy and install it in Ivy user home for builds using Ivy user home to load Ivy jar">
        <property name="ivy.jar.file" value="${ivy.home}/jars/ivy.jar"/>
        <copy file="${artifacts.build.dir}/jars/${final.name}" tofile="${ivy.jar.file}"/>
    </target>

    <target name="install-ant" depends="jar"
        description="build Ivy and install it in Ant home lib">
        <condition property="ant.home" value="${env.ANT_HOME}">
            <isset property="env.ANT_HOME"/>
        </condition>
        <fail unless="ant.home" message="ANT_HOME environment variable or ant.home property required"/>
        <copy file="${artifacts.build.dir}/jars/${final.name}" tofile="${ant.home}/lib/ivy.jar"/>
    </target>

    <!-- =================================================================
         PREPARATION, CLEANING AND FLAGS TASKS
         ================================================================= -->
    <target name="init">
        <path id="lib.classpath">
            <fileset dir="${lib.dir}">
                <include name="*.jar"/>
            </fileset>
        </path>
        <path id="build.bootstrap.classpath">
            <pathelement location="${core.classes.build.dir}"/>
        </path>
        <path id="build.ant.classpath">
            <pathelement location="${core.classes.build.dir}"/>
            <path refid="lib.classpath"/>
        </path>
        <path id="build.optional.classpath">
            <path refid="build.ant.classpath"/>
        </path>
        <path id="run.classpath">
            <pathelement location="${core.classes.build.dir}"/>
            <pathelement location="${ant.classes.build.dir}"/>
            <pathelement location="${optional.classes.build.dir}"/>
            <path refid="lib.classpath"/>
        </path>
        <path id="test.classpath">
            <fileset dir="${lib.dir}" />
            <pathelement location="${core.classes.build.dir}"/>
            <pathelement location="${ant.classes.build.dir}"/>
            <pathelement location="${optional.classes.build.dir}"/>
            <pathelement path="${test.build.dir}"/>
        </path>
        <path id="javadoc.test.classpath">
            <path refid="run.classpath"/>
            <pathelement path="${test.build.dir}"/>
        </path>
    </target>

    <target name="prepare" depends="init">
        <mkdir dir="${classes.build.dir}"/>
        <mkdir dir="${core.classes.build.dir}"/>
        <mkdir dir="${bootstrap.classes.build.dir}"/>
        <mkdir dir="${ant.classes.build.dir}"/>
        <mkdir dir="${optional.classes.build.dir}"/>
        <mkdir dir="${all.classes.build.dir}"/>
        <mkdir dir="${test.build.dir}"/>
        <mkdir dir="${artifacts.build.dir}"/>
        <mkdir dir="${test.report.dir}"/>
    </target>

    <target name="clean" description="delete all generated files keeping sources only">
        <delete dir="${classes.build.dir}"/>
        <delete dir="${test.build.dir}"/>
        <delete dir="${artifacts.build.dir}"/>
        <delete dir="${ivy.report.dir}"/>
        <delete dir="${test.report.dir}"/>
        <delete dir="${javadoc.build.dir}"/>
        <delete dir="${doc.build.dir}"/>
        <delete dir="${build.dir}"/>
    </target>

    <target name="clean-lib">
        <delete dir="${lib.dir}"/>
    </target>

    <target name="clean-ivy-cache" depends="init-ivy-home">
        <delete dir="${ivy.home}/cache"/>
    </target>

    <target name="clean-ivy-home" depends="init-ivy-home">
        <delete dir="${ivy.home}"/>
    </target>

    <target name="clean-examples" description="clean all examples">
        <subant target="clean" failonerror="false">
            <fileset dir="${example.dir}" includes="**/build.xml"/>
        </subant>
    </target>

    <target name="clean-all" depends="clean-examples,clean,clean-lib"/>

    <target name="/noresolve" description="use to skip dependency resolution">
        <property name="no.resolve" value="true"/>
    </target>

    <target name="/notest" description="use to skip tests">
        <property name="skip.test" value="true"/>
    </target>

    <target name="/nojavadoc" description="use to skip javadoc">
        <property name="skip.javadoc" value="true"/>
    </target>

    <target name="/localivy" description="use a local ivy home">
        <property name="ivy.use.local.home" value="true"/>
    </target>

    <target name="/offline" depends="/noresolve" description="use to indicate no internet connection is available">
        <property name="offline" value="true"/>
    </target>

    <target name="default-version">
        <tstamp>
            <format property="pubdate" pattern="yyyyMMddHHmmss"/>
        </tstamp>
        <property name="version.prefix" value="${target.ivy.version}-local-"/>
        <property name="build.version" value="${version.prefix}${pubdate}"/>
        <property name="bundle.version" value="${target.ivy.bundle.version}.${target.ivy.bundle.version.qualifier}${pubdate}"/>
    </target>

    <!-- =================================================================
         DEPENDENCY MNGT, COMPILATION AND JAR
         ================================================================= -->
    <target name="resolve" depends="init-ivy" unless="no.resolve">
        <ivy:retrieve conf="default,test" pattern="${lib.dir}/[artifact].[ext]" sync="yes"/>
    </target>

    <target name="compile-core" depends="prepare">
        <javac srcdir="${src.dir}"
               destdir="${core.classes.build.dir}"
               sourcepath=""
               source="${ivy.minimum.javaversion}"
               target="${ivy.minimum.javaversion}"
               debug="${debug.mode}"
               includeantruntime="no">
            <excludesfile name="ant.patterns"/>
            <excludesfile name="optional.patterns"/>
        </javac>
        <copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
            <fileset dir="${src.dir}">
                <exclude name="**/*.java"/>
                <excludesfile name="ant.patterns"/>
                <excludesfile name="optional.patterns"/>
            </fileset>
        </copy>

        <!-- copy settings files for backward compatibility with ivyconf naming -->
        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-local.xml"
            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-local.xml"/>
        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-default-chain.xml"
            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-default-chain.xml"/>
        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-main-chain.xml"
            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-main-chain.xml"/>
        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-public.xml"
            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-public.xml"/>
        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-shared.xml"
            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-shared.xml"/>
        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings.xml"
            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf.xml"/>
    </target>

    <!-- Build the Ant tasks with the current Ant runtime -->
    <target name="compile-bootstrap" depends="compile-core">
        <javac srcdir="${src.dir}"
               destdir="${bootstrap.classes.build.dir}"
               sourcepath=""
               classpathref="build.bootstrap.classpath"
               source="${ivy.minimum.javaversion}"
               target="${ivy.minimum.javaversion}"
               debug="${debug.mode}"
               includeantruntime="yes">
            <includesfile name="ant.patterns"/>
        </javac>
        <copy todir="${bootstrap.classes.build.dir}" includeEmptyDirs="false">
            <fileset dir="${src.dir}">
                <includesfile name="ant.patterns"/>
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>

    <!-- Build the Ant tasks with the minimal Ant runtime -->
    <target name="compile-ant" depends="compile-core,resolve">
        <javac srcdir="${src.dir}"
               destdir="${ant.classes.build.dir}"
               sourcepath=""
               classpathref="build.ant.classpath"
               source="${ivy.minimum.javaversion}"
               target="${ivy.minimum.javaversion}"
               debug="${debug.mode}"
               includeantruntime="no">
            <includesfile name="ant.patterns"/>
        </javac>
        <copy todir="${ant.classes.build.dir}" includeEmptyDirs="false">
            <fileset dir="${src.dir}">
                <includesfile name="ant.patterns"/>
                <exclude name="**/*.java"/>
            </fileset>
        </copy>

        <!-- copy antlib for backward compatibility with fr.jayasoft.ivy package -->
        <copy file="${ant.classes.build.dir}/org/apache/ivy/ant/antlib.xml"
                todir="${ant.classes.build.dir}/fr/jayasoft/ivy/ant"/>
    </target>

    <target name="compile-optional" depends="compile-ant">
        <javac srcdir="${src.dir}"
               destdir="${optional.classes.build.dir}"
               sourcepath=""
               classpathref="build.optional.classpath"
               source="${ivy.minimum.javaversion}"
               target="${ivy.minimum.javaversion}"
               debug="${debug.mode}"
               includeantruntime="no">
            <includesfile name="optional.patterns"/>
            <includesfile name="ant.patterns"/>
        </javac>
        <copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
            <fileset dir="${src.dir}">
                <includesfile name="optional.patterns"/>
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>

    <!-- =================================================================
         Create the two jar files (Ivy core and Ivy core + Ant tasks)
         ================================================================= -->
    <target name="jar" depends="compile-optional,default-version" description="Create Jar files">
        <!-- identify compiled ivy version -->
        <echo message="version=${build.version}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true"/>
        <echo message="date=${pubdate}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true"/>

        <mkdir dir="${artifacts.build.dir}/jars/"/>

        <!--
            there is a default Bundle-Version attribute in the source MANIFEST, used to ease
            development in eclipse.
            We remove this line to make sure we get the Bundle-Version as set in the jar task
        -->
        <copy file="${basedir}/META-INF/MANIFEST.MF" tofile="${artifacts.build.dir}/MANIFEST.MF">
            <filterchain>
                <replaceregex pattern="Bundle-Version:.*" replace="Bundle-Version: ${bundle.version}" byline="true"/>
            </filterchain>
        </copy>

        <copy todir="${all.classes.build.dir}">
            <fileset dir="${core.classes.build.dir}"/>
            <fileset dir="${ant.classes.build.dir}"/>
            <fileset dir="${optional.classes.build.dir}"/>
        </copy>

        <jar destfile="${artifacts.build.dir}/jars/${final.name}"
             manifest="${artifacts.build.dir}/MANIFEST.MF">
            <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
            <manifest>
                <attribute name="Specification-Title" value="Apache Ivy with Ant tasks"/>
                <attribute name="Specification-Version" value="${build.version}"/>
                <attribute name="Specification-Vendor" value="Apache Software Foundation"/>
                <attribute name="Implementation-Title" value="org.apache.ivy"/>
                <attribute name="Implementation-Version" value="${build.version}"/>
                <attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
                <attribute name="Implementation-Vendor-Id" value="org.apache"/>
                <attribute name="Extension-name" value="org.apache.ivy"/>
                <attribute name="Build-Version" value="${build.version}"/>
            </manifest>
            <fileset dir="${all.classes.build.dir}"/>
        </jar>
        <!-- copy main jar to ease its use as an OSGi bundle -->
        <copy file="${artifacts.build.dir}/jars/${final.name}"
              tofile="${artifacts.build.dir}/org.apache.ivy_${bundle.version}.jar"/>

        <!-- clean generated module properties file -->
        <delete file="${core.classes.build.dir}/module.properties"/>
    </target>

    <!-- =================================================================
         PUBLISH LOCAL
         ================================================================= -->
    <target name="fixcrlf">
        <property name="eol.native.includes"
                  value="**/*.html,**/*.json,**/*.java,**/*.xml,**/*.txt,**/*.MF,**/*.properties,**/*.patterns,**/*.pom,**/*.xsl,**/*.css"/>
        <property name="eol.native.excludes"
                  value="build/**,bin/**,lib/**"/>

        <fileset id="eol.native.fileset"
                 dir="${basedir}"
                 includes="${eol.native.includes}"
                 excludes="${eol.native.excludes}"/>

        <fixcrlf srcdir="${basedir}"
                 includes="${eol.native.includes}"
                 excludes="${eol.native.excludes}"/>
    </target>

    <target name="sources" depends="default-version" description="Create source archive files">
        <mkdir dir="${artifacts.build.dir}/sources/"/>
        <jar destfile="${artifacts.build.dir}/sources/${final.name}">
            <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
            <manifest>
                <attribute name="Specification-Title" value="Apache Ivy Sources"/>
                <attribute name="Specification-Version" value="${build.version}"/>
                <attribute name="Specification-Vendor" value="Apache Software Foundation"/>
            </manifest>
            <fileset dir="${src.dir}"/>
        </jar>
    </target>

    <target name="publish-local" depends="jar,sources" description="publishes Ivy to Ivy local repository">
        <ivy:publish resolver="local" pubrevision="${build.version}"
            artifactsPattern="${artifacts.build.dir}/[type]s/[artifact].[ext]"
            forcedeliver="true"/>
    </target>

    <!-- =================================================================
         TESTS
         ================================================================= -->
    <target name="build-test" depends="jar">
        <javac srcdir="${test.dir}"
               destdir="${test.build.dir}"
               classpathref="run.classpath"
               source="${ivy.minimum.javaversion}"
               target="${ivy.minimum.javaversion}"
               debug="${debug.mode}"
               encoding="UTF-8"
               includeantruntime="no"/>
        <copy todir="${test.build.dir}">
            <fileset dir="${test.dir}">
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>

    <target name="build-custom-resolver-jar" depends="jar">
        <mkdir dir="${build.dir}/custom-classpath"/>
        <javac srcdir="${basedir}/test/custom-classpath"
               destdir="${build.dir}/custom-classpath"
               classpathref="run.classpath"
               source="${ivy.minimum.javaversion}"
               target="${ivy.minimum.javaversion}"
               debug="${debug.mode}"
               includeantruntime="no"/>
        <jar destfile="${test.dir}/org/apache/ivy/core/settings/custom-resolver.jar"
             basedir="${build.dir}/custom-classpath"/>
    </target>

    <target name="init-tests-offline" if="offline">
            <fileset id="test.fileset" dir="${test.dir}">
                <include name="**/${test.class.pattern}.java"/>
                <exclude name="**/Abstract*Test.java"/>
                <not><contains text="remote.test"/></not>
            </fileset>
    </target>

    <target name="init-tests-online" unless="offline">
            <fileset id="test.fileset" dir="${test.dir}">
                <include name="**/${test.class.pattern}.java"/>
                <exclude name="**/Abstract*Test.java"/>
            </fileset>
    </target>

    <target name="init-tests" depends="init-tests-offline,init-tests-online"/>

    <target name="prepare-osgi-tests" depends="resolve" unless="skip.test">
        <ant dir="${basedir}/test/test-repo" target="generate-bundles"/>
    </target>

    <target name="prepare-test-jar-repositories" unless="skip.test">
        <mkdir dir="${basedir}/test/jar-repos"/>
        <jar destfile="${basedir}/test/jar-repos/jarrepo1.jar" >
            <fileset dir="${basedir}/test/repositories/1"/>
        </jar>
        <jar destfile="${basedir}/test/jar-repos/jarrepo1_subdir.jar">
            <fileset dir="${basedir}/test/repositories" includes="1/**/*"/>
        </jar>
    </target>

    <target name="init-jacoco" depends="jar" unless="skip.test">
        <ivy:cachepath organisation="org.jacoco" module="org.jacoco.ant" revision="0.8.3"
                       inline="true" conf="default" pathid="jacoco.classpath" log="download-only"/>
        <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"
                 classpathref="jacoco.classpath"/>
    </target>

    <target name="test-internal" depends="build-test,init-tests,prepare-osgi-tests,prepare-test-jar-repositories,init-jacoco" unless="skip.test">
        <mkdir dir="${test.xml.dir}"/>

        <!-- multiple runs into the same logfile let the later report generation fail -->
        <delete file="${jacoco.log}"/>
        <jacoco:coverage xmlns:jacoco="antlib:org.jacoco.ant" destfile="${jacoco.log}"
                         exclclassloader="sun.reflect.DelegatingClassLoader:javassist.Loader">
            <junit
                haltonfailure="off"
                haltonerror="off"
                errorproperty="test.failed"
                failureproperty="test.failed"
                showoutput="no"
                printsummary="yes"
                includeantruntime="no"
                dir="${basedir}"
                tempdir="${build.dir}"
                fork="true">
                <classpath>
                    <path refid="test.classpath"/>
                </classpath>

                <!-- pass the proxy properties to the forked junit process to use correct proxy -->
                <syspropertyset>
                    <propertyref prefix="http"/>
                </syspropertyset>
                <!-- We select specific HTTPS protocols, based on the Java version we are running
                    on -->
                <sysproperty key="https.protocols" value="${java.sysprop.https.protocols}"/>

                <!-- Added this to test IVY-65 -->
                <jvmarg value="-Duser.region=TR"/>
                <jvmarg value="-Duser.language=tr"/>

                <formatter type="xml"/>
                <batchtest todir="${test.xml.dir}">
                    <fileset refid="test.fileset"/>
                </batchtest>
            </junit>
        </jacoco:coverage>
    </target>

    <target name="test" depends="test-internal" description="Run the test">
        <fail if="test.failed"
              message="At least one test has failed. See logs (in ${test.xml.dir}) for details (use the target test-report to run the test with a report)"/>
    </target>

    <!-- =================================================================
         REPORTS AND DOCUMENTATION
         ================================================================= -->
    <target name="test-report" depends="test-internal" unless="skip.test"
            description="run tests with instrumentation and generate coverage report">
        <junitreport todir="${test.xml.dir}">
            <fileset dir="${test.xml.dir}">
                <include name="TEST-*.xml"/>
            </fileset>
            <report format="frames" todir="${test.report.dir}"/>
        </junitreport>

        <mkdir dir="${coverage.report.dir}"/>
        <jacoco:report xmlns:jacoco="antlib:org.jacoco.ant">
            <executiondata>
                <file file="${jacoco.log}"/>
            </executiondata>

            <structure name="Ivy">
                <classfiles>
                    <fileset dir="${classes.build.dir}"/>
                </classfiles>
                <sourcefiles encoding="UTF-8">
                    <fileset dir="${src.dir}"/>
                </sourcefiles>
            </structure>

            <html destdir="${coverage.report.dir}"/>
        </jacoco:report>

        <fail if="test.failed"
              message="At least one test has failed. See logs (in ${test.xml.dir}) or report (in ${test.report.dir})"/>
    </target>

    <target name="coverage-report" depends="test-report"/>

    <target name="ivy-report" depends="resolve">
        <mkdir dir="${ivy.report.dir}"/>
        <ivy:report todir="${ivy.report.dir}"/>
    </target>

    <target name="init-japicmp" depends="jar" unless="skip.test">
        <ivy:cachepath organisation="com.github.siom79.japicmp" module="japicmp-ant-task" revision="0.13.0"
                       inline="true" conf="default" pathid="japicmp.classpath" log="download-only"/>
        <taskdef uri="antlib:japicmp.ant" resource="japicmp/ant/antlib.xml"
                 classpathref="japicmp.classpath"/>
        <ivy:cachepath organisation="org.apache.ivy" module="ivy" revision="${ivy.api.reference}"
                       inline="true" conf="optional" pathid="ivyrefdeps.classpath" log="download-only"/>
        <ivy:cachefileset organisation="org.apache.ivy" module="ivy" revision="${ivy.api.reference}"
                          inline="true" conf="master" setid="ivyref.fileset" log="download-only"/>
        <pathconvert property="ivyref.name" refid="ivyref.fileset"/>
    </target>

    <target name="/japicmp-all" description="report status of all public APIs">
        <property name="japicmp.all" value="true"/>
    </target>

    <target name="/japicmp-changed" description="report all changed public APIs">
        <property name="japicmp.changed" value="true"/>
    </target>

    <target name="japicmp" depends="init-japicmp" unless="skip.test">
        <property name="japicmp.all" value="false"/>
        <property name="japicmp.changed" value="false"/>
        <condition property="japicmp.binary" value="true" else="false">
            <not>
                <or>
                    <istrue value="${japicmp.all}"/>
                    <istrue value="${japicmp.changed}"/>
                </or>
            </not>
        </condition>
        <japicmp:japicmp xmlns:japicmp="antlib:japicmp.ant"
                         oldjar="${ivyref.name}"
                         newjar="${artifacts.build.dir}/jars/${final.name}"
                         oldclasspathref="ivyrefdeps.classpath"
                         newclasspathref="lib.classpath"
                         onlybinaryincompatible="${japicmp.binary}"
                         onlymodified="${japicmp.changed}"
                         htmloutputfile="${reports.dir}/japicmp.html"/>
    </target>

    <target name="javadoc" depends="init" unless="skip.javadoc">
        <tstamp>
            <format pattern="2007-yyyy" property="years"/>
        </tstamp>
        <property name="copyright" value="Copyright &amp;copy;${years} The Apache Software Foundation, Licensed under &lt;a href=&quot;https://www.apache.org/licenses/LICENSE-2.0.txt&quot;&gt;Apache License, Version 2.0&lt;/a&gt;."/>
        <property name="title" value="Apache Ivy&amp;trade; dependency manager ${target.ivy.version} API"/>
        <javadoc destdir="${javadoc.build.dir}"
                 useexternalfile="true"
                 windowtitle="Apache Ivy&amp;trade;"
                 doctitle="${title}"
                 bottom="${copyright}"
                 classpathref="lib.classpath">
            <fileset dir="${src.dir}" includes="**/*.java"/>
            <arg value="-tag"/>
            <arg value="pre:a:Precondition:"/>
        </javadoc>
    </target>

    <target name="javadoc-test" depends="init" unless="skip.javadoc">
        <tstamp>
            <format pattern="2007-yyyy" property="years"/>
        </tstamp>
        <property name="copyright" value="Copyright &amp;copy;${years} The Apache Software Foundation, Licensed under &lt;a href=&quot;https://www.apache.org/licenses/LICENSE-2.0.txt&quot;&gt;Apache License, Version 2.0&lt;/a&gt;."/>
        <property name="title" value="Apache Ivy&amp;trade; dependency manager ${target.ivy.version} API"/>
        <javadoc destdir="${test.javadoc.build.dir}"
                 useexternalfile="true"
                 windowtitle="Apache Ivy&amp;trade;"
                 doctitle="${title}"
                 bottom="${copyright}"
                 classpathref="javadoc.test.classpath">
            <fileset dir="${test.dir}" includes="**/*.java"/>
        </javadoc>
    </target>

    <target name="init-checkstyle" depends="jar">
        <ivy:cachepath organisation="com.puppycrawl.tools" module="checkstyle" revision="6.19"
                       inline="true" conf="default" pathid="checkstyle.classpath" log="download-only"/>
        <taskdef uri="antlib:com.puppycrawl.tools.checkstyle.ant"
                 resource="com/puppycrawl/tools/checkstyle/ant/antlib.xml" classpathref="checkstyle.classpath"/>
    </target>

    <!-- Checks Ivy codebase according to ${checkstyle.src.dir}/checkstyle-config  -->
    <target name="checkstyle-internal" depends="init-checkstyle">
        <mkdir dir="${checkstyle.report.dir}"/>
        <cs:checkstyle xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant"
                       config="${checkstyle.src.dir}/checkstyle-config"
                       failOnViolation="false" failureProperty="checkstyle.failed">
            <classpath>
                <path refid="run.classpath"/>
            </classpath>
            <formatter type="xml" toFile="${checkstyle.report.dir}/checkstyle.xml"/>
            <fileset dir="${src.dir}">
                <include name="**/*.java"/>
            </fileset>
            <fileset dir="${example.dir}">
                <include name="**/*.java"/>
            </fileset>
        </cs:checkstyle>
    </target>

    <target name="checkstyle" depends="checkstyle-internal"
            description="checks Ivy codebase according to ${checkstyle.src.dir}/checkstyle-config">
        <fail if="checkstyle.failed" unless="ignore.checkstyle"
              message="Checkstyle has errors. See report in ${checkstyle.report.dir}"/>
    </target>

    <target name="checkstyle-report" depends="checkstyle-internal">
        <property name="checkstyle.basedir" location="${src.dir}"/>
        <xslt in="${checkstyle.report.dir}/checkstyle.xml"
              style="${checkstyle.src.dir}/checkstyle-frames.xsl"
              out="${checkstyle.report.dir}/output.txt">
            <param name="basedir" expression="${checkstyle.basedir}"/>
            <param name="output.dir" expression="${checkstyle.report.dir}"/>
        </xslt>
    </target>

    <target name="init-findbugs" unless="findbugs.home">
        <!-- Findbugs: Getting Findbugs requires unlimited strength crypto policy -->
        <property name="findbugs.version"
                  value="3.0.1"
                  description="Version of Findbugs to use"/>
        <property name="findbugs.download.name"
                  value="findbugs-${findbugs.version}"
                  description="Name of the download file without suffix. Also the internal root directory of the ZIP."/>
        <property name="findbugs.download.file"
                  value="${findbugs.download.name}.zip"
                  description="The filename of the ZIP."/>
        <property name="findbugs.download.url"
                  value="https://downloads.sourceforge.net/project/findbugs/findbugs/${findbugs.version}/findbugs-${findbugs.version}.zip"
                  description="The download adress at a mirror of Sourceforge."/>
        <property name="findbugs.download.to"
                  value="${build.dir}/.downloads"
                  description="Where to store the download and 'install' Findbugs."/>
        <available property="findbugs.home"
                   value="${findbugs.download.to}/${findbugs.download.name}"
                   file="${findbugs.download.to}/${findbugs.download.name}/lib/findbugs.jar"
                   description="Check if Findbugs is already installed."/>

        <!-- Findbugs: Running Findbugs -->
        <property name="findbugs.reportdir"
                  location="${reports.dir}/findbugs"
                  description="Where to store Findbugs results"/>
        <property name="findbugs.raw"
                  value="raw.xml"
                  description="Findbugs output xml file"/>
        <property name="findbugs.xsl"
                  value="fancy.xsl"
                  description="Which XSL to use for generating output: default, fancy, plain, summary"/>
        <property name="findbugs.jvmargs"
                  value="-Xms128m -Xmx512m"
                  description="JVMArgs for invoking Findbugs"/>

        <mkdir dir="${findbugs.download.to}"/>
        <get src="${findbugs.download.url}" dest="${findbugs.download.to}/${findbugs.download.file}"
             usetimestamp="true" skipexisting="true"/>
        <unzip src="${findbugs.download.to}/${findbugs.download.file}" dest="${findbugs.download.to}"/>
        <property name="findbugs.home" location="${findbugs.download.to}/${findbugs.download.name}"/>
    </target>

    <target name="findbugs" description="checks Ivy codebase with Findbugs" depends="init-findbugs,compile-core" xmlns:fb="http://findbugs.sourceforge.net/">
        <!-- Load the Findbugs AntTasks -->
        <path id="findbugs.real.classpath">
            <fileset dir="${findbugs.home}/lib" includes="*.jar"/>
        </path>
        <taskdef uri="http://findbugs.sourceforge.net/" resource="edu/umd/cs/findbugs/anttask/tasks.properties" classpathref="findbugs.real.classpath"/>

        <!-- Start Findbugs -->
        <mkdir dir="${findbugs.reportdir}"/>
        <fb:findbugs home="${findbugs.home}"
                     classpathref="findbugs.real.classpath"
                     output="xml:withMessages"
                     outputFile="${findbugs.reportdir}/${findbugs.raw}"
                     jvmargs="${findbugs.jvmargs}"
                     projectName="${ant.project.name} ${target.ivy.version}">
            <class location="${core.classes.build.dir}"/>
            <sourcePath path="${src.dir}"/>
        </fb:findbugs>

        <!-- Generate (human) readable output -->
        <xslt basedir="${findbugs.reportdir}" includes="${findbugs.raw}" destdir="${findbugs.reportdir}">
            <style>
                <javaresource name="${findbugs.xsl}" classpathref="findbugs.real.classpath"/>
            </style>
        </xslt>
    </target>

    <target name="docs" depends="test-report,checkstyle-report,findbugs,japicmp,ivy-report,javadoc"/>

    <!-- =================================================================
         IDE SPECIFIC
         ================================================================= -->
    <available file="${basedir}/.classpath" property="eclipse.classpath.exists"/>
    <target name="check-eclipse-classpath-overwrite" if="eclipse.classpath.exists">
        <input message=".classpath file already exists.${line.separator}Are you sure you want to overwrite it and loose your original file?"
               validargs="Y,N,y,n" addproperty="eclipse.classpath.confirm"/>
        <condition property="eclipse.classpath.abort">
            <equals arg1="${eclipse.classpath.confirm}" arg2="N" casesensitive="false"/>
        </condition>
    </target>

    <target name="eclipse-default" depends="resolve,check-eclipse-classpath-overwrite"
            unless="eclipse.classpath.abort"
            description="creates a default .classpath for Eclipse using jars resolved by this Ant build">
        <copy file="${basedir}/.classpath.default" tofile="${basedir}/.classpath" overwrite="true"/>
    </target>

    <target name="eclipse-ivyde" depends="check-eclipse-classpath-overwrite"
            unless="eclipse.classpath.abort"
            description="creates a .classpath for Eclipse using Apache IvyDE plugin">
        <copy file="${basedir}/.classpath.ivyde" tofile="${basedir}/.classpath" overwrite="true"/>
    </target>
</project>
