samples/componentinjection/anagram-modular/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:07:00 +0200
changeset 221 a89ad3d1da08
parent 219 3fb53f65db57
child 225 57ae32a47ccd
permissions -rw-r--r--
Solution with properties
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project name="Build Script" default="test" basedir=".">
     3     <target name="clean">
     4         <delete dir="build"/>
     5     </target>
     6     
     7     <target name="compile" depends="build"/>
     8     <target name="build" depends="-libraries">
     9         <antcall target="-build-one">
    10             <param name="version" value="api"/>
    11             <param name="cp" value=""/>
    12         </antcall>
    13         <antcall target="-build-one">
    14             <param name="version" value="word-static"/>
    15         </antcall>
    16         <antcall target="-build-one">
    17             <param name="version" value="scrambler-simple"/>
    18         </antcall>
    19         <antcall target="-build-one">
    20             <param name="version" value="gui"/>
    21         </antcall>
    22         <antcall target="-build-one">
    23             <param name="version" value="app-register"/>
    24             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    25         </antcall>
    26         <antcall target="-build-one">
    27             <param name="version" value="app-property"/>
    28             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    29         </antcall>
    30         
    31     </target>
    32     
    33     <target name="test" depends="build">
    34         <echo level="info" message="Running registerXYZ version"/>
    35         <antcall target="-run-one">
    36             <param name="version" value="app-register"/>
    37             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    38             <param name="main" value="org.apidesign.anagram.app.register.Main"/>
    39         </antcall>
    40         <echo level="info" message="Running System.getProperty version"/>
    41         <antcall target="-run-one">
    42             <param name="version" value="app-property"/>
    43             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    44             <param name="main" value="org.apidesign.anagram.app.property.Main"/>
    45         </antcall>
    46     </target>
    47     
    48     <!-- support methods -->
    49     
    50     <target name="-libraries">
    51         <ant dir="../../libs/"/>
    52         
    53         <property name="junit.jar" location="../libs/dist/junit-4.4.jar"/>
    54     </target>
    55 
    56     <target name="-run-one">
    57         <java classpath="${cp}:build/${version}/classes" classname="${main}"/>
    58     </target>
    59     
    60     <target name="-build-one">
    61         <fail message="You need to specify version number" unless="version"/>
    62         
    63         <mkdir dir="build/${version}/classes"/>
    64         <property name="cp" value="build/api/classes"/>
    65         <javac 
    66             srcdir="src-${version}" 
    67             destdir="build/${version}/classes" 
    68             source="1.5" target="1.5"
    69             classpath="${cp}"
    70             debug="true" debuglevel="lines,vars,source"
    71         />
    72         <copy todir="build/${version}/classes">
    73             <fileset dir="src-${version}">
    74                 <exclude name="**/*.java"/>
    75             </fileset>
    76         </copy>
    77     </target>
    78 </project>