1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="preventcyclicdependencies" default="run" basedir=".">
7 <target name="compile" depends="build"/>
9 <antcall target="-build-one">
10 <param name="version" value="cyclic"/>
12 <antcall target="-build-one">
13 <param name="version" value="test"/>
14 <param name="cp" location="build/cyclic/classes"/>
16 <antcall target="-build-one">
17 <param name="version" value="acyclic1"/>
19 <antcall target="-build-one">
20 <param name="version" value="acyclic2"/>
21 <param name="cp" location="build/acyclic1/classes"/>
25 <target name="run" depends="build">
26 <echo level="info" message="Running old API with cycles between packages:"/>
27 <antcall target="-run-one">
28 <param name="version1" value="cyclic"/>
30 <echo level="info" message="Running new API without cycles:"/>
31 <antcall target="-run-one">
32 <param name="version1" value="acyclic1"/>
33 <param name="version2" value="acyclic2"/>
38 <!-- support methods -->
40 <target name="-run-one">
42 classpath="build/${version1}/classes:build/${version2}/classes:build/test/classes:../libs/dist/org-openide-util.jar"
43 classname="org.apidesign.cycles.array.test.Main"
50 <target name="-build-one">
51 <fail message="You need to specify version number" unless="version"/>
53 <mkdir dir="build/${version}/classes"/>
54 <property name="cp" value=""/>
56 srcdir="src-${version}"
57 destdir="build/${version}/classes"
58 source="1.5" target="1.5"
60 classpath="${cp}:../libs/dist/org-openide-util.jar"
62 <copy todir="build/${version}/classes">
63 <fileset dir="src-${version}">
64 <exclude name="**/*.java"/>