<!--
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html
*******************************************************************************
* Copyright (C) 2009-2016, International Business Machines Corporation and    *
* others. All Rights Reserved.                                                *
*******************************************************************************
-->
<project name="common-targets" basedir=".">
    <dirname property="common-targets.dir" file="${ant.file.common-targets}"/>
    <property file="${common-targets.dir}/locations.properties"/>

    <!-- global (top-level) properties - need locations.properties loaded first -->
    <property file="${global.build-local.properties}"/>
    <property file="${global.build.properties}"/>

    <property file="${common-targets.dir}/common.properties"/>
    <property environment="env"/>

    <!-- common targets -->

    <target name="@clean">
        <delete dir="${out.dir}"/>
    </target>

    <target name="@compile">
        <echo message="build-local:     ${global.build-local.properties}"/>
        <!-- set java 7 bootclasspath to empty if not set -->
        <property name="java7.bootclasspath" value=""/>

        <condition property="javac.bootclasspath" value="${java7.bootclasspath}" else="">
            <equals arg1="${javac.target}" arg2="1.7"/>
        </condition>

        <echo message="--- java compiler arguments ------------------------"/>
        <echo message="source dir:     ${basedir}/${src.dir}"/>
        <echo message="output dir:     ${basedir}/${bin.dir}"/>
        <echo message="bootclasspath:  ${javac.bootclasspath}"/>
        <echo message="classpath:      ${toString:javac.classpathref}"/>
        <echo message="source:         ${javac.source}"/>
        <echo message="target:         ${javac.target}"/>
        <echo message="debug:          ${javac.debug}"/>
        <echo message="encoding:       ${java.src.encoding}"/>
        <echo message="compiler arg:   ${javac.compilerarg}"/>
        <echo message="----------------------------------------------------"/>

        <mkdir dir="${bin.dir}"/>
        <javac
            srcdir="${src.dir}"
            destdir="${bin.dir}"
            bootclasspath="${javac.bootclasspath}"
            classpathref="javac.classpathref"
            source="${javac.source}"
            target="${javac.target}"
            debug="${javac.debug}"
            encoding="${java.src.encoding}"
            includeAntRuntime="no">
            <compilerarg value="${javac.compilerarg}"/>
        </javac>
    </target>

    <target name="@copy">
        <mkdir dir="${bin.dir}"/>
        <copy todir="${bin.dir}">
            <fileset dir="${src.dir}" defaultexcludes="yes">
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>

    <target name="@jar">
        <mkdir dir="${jar.dir}"/>

        <copy file="manifest.stub" todir="${out.dir}">
            <filterset>
                <filter token="SPECVERSION" value="${jar.spec.version}"/>
                <filter token="IMPLVERSION" value="${jar.impl.version}"/>
                <filter token="COPYRIGHT" value="${jar.copyright.info}"/>
                <filter token="EXECENV" value="${jar.exec.env}"/>
            </filterset>
        </copy>

        <jar jarfile="${jar.dir}/${jar.name}" manifest="${out.dir}/manifest.stub" compress="true">
            <fileset dir="${bin.dir}" includes="**/*"/>
            <fileset dir="${shared.dir}/licenses">
                <include name="LICENSE"/>
            </fileset>
        </jar>
    </target>

    <target name="@src-jar">
        <mkdir dir="${jar.dir}"/>
        <jar jarfile="${jar.dir}/${src.jar.name}" compress="true">
            <fileset dir="${src.dir}" includes="**/*.java"/>
            <fileset dir="${shared.dir}/licenses">
                <include name="LICENSE"/>
            </fileset>
        </jar>
    </target>

    <target name="@build-all">
        <antcall target="_all.${ant.project.name}"/>
    </target>

    <target name="@full-locale-names">
        <echo message="Generating ${res.dir}/fullLocaleNames.lst"/>
        <pathconvert pathsep="${line.separator}" property="full.locale.names">
            <fileset dir="${res.dir}">
                <include name="??.res"/>
                <include name="??_*.res"/>
                <include name="???.res"/>
                <include name="???_*.res"/>
                <include name="root.res"/>
                <exclude name="res_index.res"/>
            </fileset>
            <chainedmapper>
                <flattenmapper/>
                <globmapper from="*.res" to="*"/>
            </chainedmapper>
        </pathconvert>
        <echo message="${full.locale.names}" file="${res.dir}/fullLocaleNames.lst"/>
    </target>

    <!-- FindBugs targets -->
    <target name="_findbugs_init">
        <property name="findbugs.home" value="${env.FINDBUGS_HOME}"/>
        <echo message="----------------------------------------------------"/>
        <echo message="findbugs.home:  ${findbugs.home}"/>
        <echo message="----------------------------------------------------"/>

        <fail message="FindBugs task not found. Set environment variable FINDBUGS_HOME properly.">
            <condition>
                <not>
                    <or>
                        <available classname="edu.umd.cs.findbugs.anttask.FindBugsTask" property="_findbugs.task.available" />
                        <available file="${findbugs.home}/lib/findbugs-ant.jar" />
                    </or>
                </not>
            </condition>
        </fail>
        <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
            classpath="${findbugs.home}/lib/findbugs-ant.jar"/>

        <property name="aux.classpath" value="${toString:javac.classpathref}"/>
        <condition property="empty.aux.classpath">
            <length string="${aux.classpath}" when="eq" length="0"/>
        </condition>
    </target>

    <target name="_findbugs_empty_aux_classpath" if="empty.aux.classpath">
        <findbugs
            home="${findbugs.home}"
            output="html"
            outputFile="${out.dir}/fb-${ant.project.name}.html"
            excludeFilter="findbugs-exclude.xml">
 
            <sourcePath path="${src.dir}"/>
            <class location="${jar.dir}/${jar.name}"/>
        </findbugs>
    </target>

    <target name="_findbugs_non_empty_aux_classpath" unless="empty.aux.classpath">
        <findbugs
            home="${findbugs.home}"
            output="html"
            outputFile="${out.dir}/fb-${ant.project.name}.html"
            excludeFilter="findbugs-exclude.xml">
 
            <sourcePath path="${src.dir}"/>
            <class location="${jar.dir}/${jar.name}"/>
            <auxClasspath path="${aux.classpath}"/>
        </findbugs>
    </target>

    <target name="@findbugs" depends="_findbugs_init, @build-all, _findbugs_empty_aux_classpath, _findbugs_non_empty_aux_classpath"/>

    <!-- Dependencies -->

    <!-- collate -->
    <path id="javac.classpathref.collate">
        <pathelement location="${icu4j.core.jar}"/>
    </path>

    <target name="_all.collate" depends="_all.core">
        <ant dir="${icu4j.collate.dir}" inheritAll="false"/>
    </target>

    <!-- core -->
    <path id="javac.classpathref.core"/>

    <target name="_all.core">
        <ant dir="${icu4j.core.dir}" inheritAll="false"/>
    </target>

    <!-- charset -->
    <path id="javac.classpathref.charset">
        <pathelement location="${icu4j.core.jar}"/>
    </path>

    <target name="_all.charset" depends="_all.core">
        <ant dir="${icu4j.charset.dir}" inheritAll="false"/>
    </target>

    <!-- currdata -->
    <path id="javac.classpathref.currdata">
        <pathelement location="${icu4j.core.jar}"/>
    </path>

    <target name="_all.currdata" depends="_all.core">
        <ant dir="${icu4j.currdata.dir}" inheritAll="false"/>
    </target>

    <!-- langdata -->
    <path id="javac.classpathref.langdata">
        <pathelement location="${icu4j.core.jar}"/>
    </path>

    <target name="_all.langdata" depends="_all.core">
        <ant dir="${icu4j.langdata.dir}" inheritAll="false"/>
    </target>

    <!-- localespi -->
    <path id="javac.classpathref.localespi">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.collate.jar}"/>
    </path>

    <target name="_all.localespi" depends="_all.core, _all.collate">
        <ant dir="${icu4j.localespi.dir}" inheritAll="false"/>
    </target>

    <!-- regiondata -->
    <path id="javac.classpathref.regiondata">
        <pathelement location="${icu4j.core.jar}"/>
    </path>

    <target name="_all.regiondata" depends="_all.core">
        <ant dir="${icu4j.regiondata.dir}" inheritAll="false"/>
    </target>

    <!-- translit -->
    <path id="javac.classpathref.translit">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.translit.jar}"/>
    </path>

    <target name="_all.translit" depends="_all.core">
        <ant dir="${icu4j.translit.dir}" inheritAll="false"/>
    </target>

    <!-- test-framework -->
    <path id="javac.classpathref.test-framework">
        <pathelement location="${icu4j.core.jar}"/>
    </path>

    <target name="_all.test-framework" depends="_all.core">
        <ant dir="${icu4j.test-framework.dir}" inheritAll = "false"/>
    </target>

    <!-- core-tests -->
    <path id="javac.classpathref.core-tests">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
        <pathelement location="${icu4j.tools.jar}"/>
    </path>

    <target name="_all.core-tests" depends="_all.core, _all.test-framework, _all.tools">
        <ant dir="${icu4j.core-tests.dir}" inheritAll="false"/>
    </target>

    <!-- collate-tests -->
    <path id="javac.classpathref.collate-tests">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.collate.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
    </path>

    <target name="_all.collate-tests" depends="_all.core, _all.collate, _all.test-framework">
        <ant dir="${icu4j.collate-tests.dir}" inheritAll="false"/>
    </target>

    <!-- charset-tests -->
    <path id="javac.classpathref.charset-tests">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.charset.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
    </path>

    <target name="_all.charset-tests" depends="_all.core, _all.charset, _all.test-framework">
        <ant dir="${icu4j.charset-tests.dir}" inheritAll="false"/>
    </target>

    <!-- localespi-tests -->
    <path id="javac.classpathref.localespi-tests">
        <pathelement location="${icu4j.core.jar}"/>
	<pathelement location="${icu4j.collate.jar}"/>
        <pathelement location="${icu4j.localespi.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
    </path>

    <target name="_all.localespi-tests" depends="_all.core, _all.collate, _all.localespi, _all.test-framework">
        <ant dir="${icu4j.localespi-tests.dir}" inheritAll="false"/>
    </target>

    <!-- packaging-tests -->
    <path id="javac.classpathref.packaging-tests">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.charset.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
    </path>

    <target name="_all.packaging-tests" depends="_all.core, _all.charset, _all.test-framework">
        <ant dir="${icu4j.packaging-tests.dir}" inheritAll="false"/>
    </target>

    <!-- translit-tests -->
    <path id="javac.classpathref.translit-tests">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.translit.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
    </path>

    <target name="_all.translit-tests" depends="_all.core, _all.translit, _all.test-framework">
        <ant dir="${icu4j.translit-tests.dir}" inheritAll="false"/>
    </target>

    <!-- testall -->
    <path id="javac.classpathref.testall">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
    </path>

    <target name="_all.testall" depends="_all.core, _all.test-framework">
        <ant dir="${icu4j.testall.dir}" inheritAll="false"/>
    </target>


    <!-- build-tools -->
    <path id="javac.classpathref.build-tools">
        <pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
    </path>

    <target name="_all.build-tools">
        <ant dir="${icu4j.build-tools.dir}" inheritAll="false"/>
    </target>

    <!-- tools -->
    <path id="javac.classpathref.tools">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.collate.jar}"/>
        <pathelement location="${icu4j.translit.jar}"/>
        <pathelement location="${icu4j.test-framework.jar}"/>
    </path>

    <target name="_all.tools" depends="_all.core, _all.collate, _all.translit, _all.test-framework">
        <ant dir="${icu4j.tools.dir}" inheritAll="false"/>
    </target>

    <!-- demos -->
    <path id="javac.classpathref.demos">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.translit.jar}"/>
        <pathelement location="${icu4j.charset.jar}"/>
    </path>

    <target name="_all.demos" depends="_all.core, _all.translit, _all.charset">
        <ant dir="${icu4j.demos.dir}" inheritAll="false"/>
    </target>

    <!-- samples -->
    <path id="javac.classpathref.samples">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.collate.jar}"/>
        <pathelement location="${icu4j.translit.jar}"/>
        <pathelement location="${icu4j.charset.jar}"/>
    </path>

    <target name="_all.samples" depends="_all.core, _all.collate, _all.translit, _all.charset">
        <ant dir="${icu4j.samples.dir}" inheritAll="false"/>
    </target>

    <!-- perf -->
    <path id="javac.classpathref.perf-tests">
        <pathelement location="${icu4j.core.jar}"/>
        <pathelement location="${icu4j.charset.jar}"/>
        <pathelement location="${icu4j.collate.jar}"/>
        <pathelement location="${icu4j.tools.jar}"/>
    </path>

    <target name="_all.perf-tests" depends="_all.core, _all.charset, _all.collate, _all.tools">
        <ant dir="${icu4j.perf-tests.dir}" inheritAll="false"/>
    </target>

</project>
