Example showing that factory methods have greater flexibility when typing with generics
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="incompatibilities" default="run" basedir=".">
7 <target name="compile" depends="build"/>
8 <target name="build" depends="clean">
9 <echo level="info" message="Compiles with 1.4"/>
10 <antcall target="-build-one">
11 <param name="version" value="plain"/>
12 <param name="source" value="1.4"/>
14 <echo level="info" message="Compiles with 1.5"/>
15 <antcall target="-build-one">
16 <param name="version" value="generics"/>
17 <param name="source" value="1.5"/>
21 <!-- support methods -->
23 <target name="-build-one">
24 <fail message="You need to specify version number" unless="version"/>
25 <fail message="You need to specify source number" unless="source"/>
27 <property name="target" value="${version}"/>
28 <mkdir dir="build/${target}/classes"/>
30 srcdir="src-${version}"
31 destdir="build/${target}/classes"
32 source="${source}" target="${source}"