samples/componentinjection/anagram-modular/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:07:15 +0200
changeset 228 984a01bbac90
parent 226 ff094afa4a5d
child 229 b01da7eb41dd
permissions -rw-r--r--
Showing how such a general registry might look like
     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-register-general"/>
    28             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    29         </antcall>
    30         <antcall target="-build-one">
    31             <param name="version" value="app-property"/>
    32             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    33         </antcall>
    34         <antcall target="-build-one">
    35             <param name="version" value="app-spring"/>
    36             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/spring-2.5.jar"/>
    37         </antcall>
    38         
    39     </target>
    40     
    41     <target name="test" depends="build">
    42         <echo level="info" message="Running registerXYZ version"/>
    43         <antcall target="-run-one">
    44             <param name="version" value="app-register"/>
    45             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    46             <param name="main" value="org.apidesign.anagram.app.register.Main"/>
    47         </antcall>
    48         <echo level="info" message="Running System.getProperty version"/>
    49         <antcall target="-run-one">
    50             <param name="version" value="app-property"/>
    51             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    52             <param name="main" value="org.apidesign.anagram.app.property.Main"/>
    53         </antcall>
    54         <echo level="info" message="Running spring version"/>
    55         <antcall target="-run-one">
    56             <param name="version" value="app-spring"/>
    57             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/spring-2.5.jar:../../libs/dist/commons-logging-1.1.jar"/>
    58             <param name="main" value="org.apidesign.anagram.app.spring.Main"/>
    59         </antcall>
    60         <echo level="info" message="Running registerGeneral version"/>
    61         <antcall target="-run-one">
    62             <param name="version" value="app-register-general"/>
    63             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    64             <param name="main" value="org.apidesign.anagram.app.registergeneral.Main"/>
    65         </antcall>
    66     </target>
    67     
    68     <!-- support methods -->
    69     
    70     <target name="-libraries">
    71         <ant dir="../../libs/"/>
    72         
    73         <property name="junit.jar" location="../libs/dist/junit-4.4.jar"/>
    74     </target>
    75 
    76     <target name="-run-one">
    77         <java classpath="${cp}:build/${version}/classes" classname="${main}"/>
    78     </target>
    79     
    80     <target name="-build-one">
    81         <fail message="You need to specify version number" unless="version"/>
    82         
    83         <mkdir dir="build/${version}/classes"/>
    84         <property name="cp" value="build/api/classes"/>
    85         <javac 
    86             srcdir="src-${version}" 
    87             destdir="build/${version}/classes" 
    88             source="1.5" target="1.5"
    89             classpath="${cp}"
    90             debug="true" debuglevel="lines,vars,source"
    91         />
    92         <copy todir="build/${version}/classes">
    93             <fileset dir="src-${version}">
    94                 <exclude name="**/*.java"/>
    95             </fileset>
    96         </copy>
    97     </target>
    98 </project>