<!--
*******************************************************************************
* Copyright (C) 2016 and later: Unicode, Inc. and others.                     *
* License & terms of use: http://www.unicode.org/copyright.html#License       *
*******************************************************************************
*******************************************************************************
* Copyright (C) 2009-2011, International Business Machines Corporation and    *
* others. All Rights Reserved.                                                *
*******************************************************************************
-->
<project name="charset-tests" default="build" basedir=".">
    <property file="build-local.properties"/>
    <property file="build.properties"/>
    <import file="${shared.dir}/build/common-targets.xml"/>

    <path id="javac.classpathref">
	   	<path refid="junit.jars"/>
        <path refid="javac.classpathref.${ant.project.name}"/>
    </path>
    <property name="jar.name" value="icu4j-${ant.project.name}.jar"/>
    <property name="src.jar.name" value="icu4j-${ant.project.name}-src.jar"/>

    <target name="build" depends="compile, copy, jar, src-jar" description="Build the project"/>

    <target name="build-all" depends="@build-all" description="Build the project including all dependencies"/>

    <target name="clean" depends="@clean" description="Clean up the build outputs"/>

    <target name="compile" depends="@compile" description="Compile java source files"/>

    <target name="copy" depends="@copy, copy-charset-test-data" description="Copy non-java runtime files to the project's binary directory"/>

    <target name="jar" depends="compile, copy, @jar" description="Create the project's jar file"/>

    <target name="src-jar" depends="@src-jar" description="Create the project's source jar file"/>

    <target name="copy-charset-test-data" description="Extract pre-built ICU charset test data files and copy them to the project's binary directory">
        <unjar src="${icu4j.testdata.jar}" dest="${bin.dir}">
            <patternset>
                <include name="**/*.cnv"/>
            	<include name="**/conversion.res"/>
            </patternset>
        </unjar>
    </target>

</project>
