blob: e13daef3bc1a5dccc8915b4d44d8ac8cffb9f5e8 [file] [log] [blame]
<!--
*******************************************************************************
* Copyright (C) 2009-2011, 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"/>
<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="--- java compiler arguments ------------------------"/>
<echo message="source dir: ${basedir}/${src.dir}"/>
<echo message="output dir: ${basedir}/${bin.dir}"/>
<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}"
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.html"/>
<include name="unicode-license.txt"/>
</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.html"/>
<include name="unicode-license.txt"/>
</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>
<!-- fail if findbugs.home is not given or the findbugs task is
unavailable -->
<target name="_findbugs_check">
<fail message="findbugs.home must be defined.">
<condition>
<not>
<available file="${findbugs.home}" type="dir" />
</not>
</condition>
</fail>
<fail message="FindBugs task not found">
<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>
</target>
<!-- if findbugs-ant.jar is already on the path, just define the task -->
<target name="_findbugs_task_available" depends="_findbugs_check" if="_findbugs.task.available">
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" />
</target>
<!-- otherwise, specify findbugs-ant.jar on the path -->
<target name="_findbugs_task_unavailable" depends="_findbugs_check" unless="_findbugs.task.available">
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpath="${findbugs.home}/lib/findbugs-ant.jar" />
</target>
<target name="_findbugs_task" depends="_findbugs_task_available, _findbugs_task_unavailable" />
<target name="@findbugs" depends="_findbugs_task, @build-all">
<findbugs home="${findbugs.home}" output="html" outputFile="${out.dir}/fb-${ant.project.name}.html">
<sourcePath path="${src.dir}" />
<class location="${jar.dir}/${jar.name}" />
<auxClasspath path="${toString:javac.classpathref}" />
</findbugs>
</target>
<!-- 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}"/>
</path>
<target name="_all.core-tests" depends="_all.core, _all.test-framework">
<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>
<!-- 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}"/>
<pathelement location="${icu4j.core-tests.jar}"/>
<pathelement location="${icu4j.translit-tests.jar}"/>
</path>
<target name="_all.tools" depends="_all.core, _all.collate, _all.translit, _all.test-framework, _all.core-tests, _all.translit-tests">
<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">
<pathelement location="${icu4j.core.jar}"/>
<pathelement location="${icu4j.charset.jar}"/>
<pathelement location="${icu4j.collate.jar}"/>
<pathelement location="${icu4j.tools.jar}"/>
</path>
</project>