1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="preventcyclicdependencies" default="run" basedir=".">
8 <antcall target="-build-one">
9 <param name="version" value="cyclic"/>
11 <antcall target="-build-one">
12 <param name="version" value="test"/>
13 <param name="cp" location="build/cyclic/classes"/>
15 <antcall target="-build-one">
16 <param name="version" value="acyclic1"/>
18 <antcall target="-build-one">
19 <param name="version" value="acyclic2"/>
20 <param name="cp" location="build/acyclic1/classes"/>
24 <target name="run" depends="build">
25 <echo level="info" message="Running old API with cycles between packages:"/>
26 <antcall target="-run-one">
27 <param name="version1" value="cyclic"/>
29 <echo level="info" message="Running new API without cycles:"/>
30 <antcall target="-run-one">
31 <param name="version1" value="acyclic1"/>
32 <param name="version2" value="acyclic2"/>
37 <!-- support methods -->
39 <target name="-run-one">
41 classpath="build/${version1}/classes:build/${version2}/classes:build/test/classes:../libs/dist/org-openide-util.jar"
42 classname="org.apidesign.cycles.array.test.Main"
49 <target name="-build-one">
50 <fail message="You need to specify version number" unless="version"/>
52 <mkdir dir="build/${version}/classes"/>
53 <property name="cp" value=""/>
55 srcdir="src-${version}"
56 destdir="build/${version}/classes"
57 source="1.5" target="1.5"
61 <copy todir="build/${version}/classes">
62 <fileset dir="src-${version}">
63 <exclude name="**/*.java"/>