samples/preventcyclicdependencies/build.xml
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 21:30:10 +0100
changeset 409 40cabcdcd2be
parent 263 7e8e995065c5
permissions -rw-r--r--
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project name="preventcyclicdependencies" default="run" basedir=".">
     3     <target name="clean">
     4         <delete dir="build"/>
     5     </target>
     6     <target name="test" depends="run"/>
     7     
     8     <target name="compile" depends="build"/>
     9     <target name="build">
    10         <antcall target="-build-one">
    11             <param name="version" value="cyclic"/>
    12         </antcall>
    13         <antcall target="-build-one">
    14             <param name="version" value="test"/>
    15             <param name="cp" location="build/cyclic/classes"/>
    16         </antcall>
    17         <antcall target="-build-one">
    18             <param name="version" value="acyclic1"/>
    19         </antcall>
    20         <antcall target="-build-one">
    21             <param name="version" value="acyclic2"/>
    22             <param name="cp" location="build/acyclic1/classes"/>
    23         </antcall>
    24     </target>
    25     
    26     <target name="run" depends="build">
    27         <echo level="info" message="Running old API with cycles between packages:"/>
    28         <antcall target="-run-one">
    29             <param name="version1" value="cyclic"/>
    30         </antcall>
    31         <echo level="info" message="Running new API without cycles:"/>
    32         <antcall target="-run-one">
    33             <param name="version1" value="acyclic1"/>
    34             <param name="version2" value="acyclic2"/>
    35         </antcall>
    36     </target>
    37 
    38     
    39     <!-- support methods -->
    40     
    41     <target name="-run-one">
    42         <java 
    43             classpath="build/${version1}/classes:build/${version2}/classes:build/test/classes:../libs/dist/org-openide-util-lookup.jar"
    44             classname="org.apidesign.cycles.array.test.Main"
    45             failonerror="true" 
    46         >
    47             <jvmarg value="-ea"/>
    48         </java>
    49     </target>
    50     
    51     <target name="-build-one">
    52         <fail message="You need to specify version number" unless="version"/>
    53         
    54         <mkdir dir="build/${version}/classes"/>
    55         <property name="cp" value=""/>
    56         <javac 
    57             srcdir="src-${version}" 
    58             destdir="build/${version}/classes" 
    59             source="1.5" target="1.5"
    60             debug="true"
    61             classpath="${cp}:../libs/dist/org-openide-util-lookup.jar"
    62         />
    63         <copy todir="build/${version}/classes">
    64             <fileset dir="src-${version}">
    65                 <exclude name="**/*.java"/>
    66             </fileset>
    67         </copy>
    68     </target>
    69 </project>