<!-- ******************************************************************************* * Copyright (C) 2009-2014, 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) propeties - 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}"/> <echo message="${java5.bootclasspath}"/> <!-- set java5/6 bootclasspath to empty if not set --> <property name="java5.bootclasspath" value=""/> <property name="java6.bootclasspath" value=""/> <condition property="javac.bootclasspath" value="${java5.bootclasspath}"> <equals arg1="${javac.target}" arg2="1.5"/> </condition> <condition property="javac.bootclasspath" value="${java6.bootclasspath}" else=""> <equals arg1="${javac.target}" arg2="1.6"/> </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.html"/> </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"/> </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}"/> </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> <!-- 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}"/> <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-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>