samples/componentinjection/anagram-modular/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:08:42 +0200
changeset 252 763bf709a318
parent 251 266127621c8f
child 336 219810ff3c72
permissions -rw-r--r--
Merge: Patrick's touches
     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         <antcall target="-build-one">
    39             <param name="version" value="app-spring-scan"/>
    40             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/spring-2.5.jar"/>
    41         </antcall>
    42         <antcall target="-build-one">
    43             <param name="version" value="app-lookup"/>
    44             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/org-openide-util.jar"/>
    45         </antcall>
    46         <antcall target="-build-one">
    47             <param name="version" value="app-serviceloader"/>
    48             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    49         </antcall>
    50         <antcall target="-build-one">
    51             <param name="version" value="test"/>
    52             <param name="cp" value="build/api/classes:build/gui/classes:build/app-serviceloader/classes:build/app-lookup/classes:${junit.jar}:${nbjunit.jar}:${insane.jar}"/>
    53         </antcall>
    54         
    55     </target>
    56     
    57     <target name="run" depends="build">
    58         <echo level="info" message="Running registerXYZ version"/>
    59         <antcall target="-run-one">
    60             <param name="version" value="app-register"/>
    61             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    62             <param name="main" value="org.apidesign.anagram.app.register.Main"/>
    63         </antcall>
    64         <echo level="info" message="Running System.getProperty version"/>
    65         <antcall target="-run-one">
    66             <param name="version" value="app-property"/>
    67             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    68             <param name="main" value="org.apidesign.anagram.app.property.Main"/>
    69         </antcall>
    70         <echo level="info" message="Running spring version"/>
    71         <antcall target="-run-one">
    72             <param name="version" value="app-spring"/>
    73             <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"/>
    74             <param name="main" value="org.apidesign.anagram.app.spring.Main"/>
    75         </antcall>
    76         <echo level="info" message="Running spring autoscan version"/>
    77         <antcall target="-run-one">
    78             <param name="version" value="app-spring-scan"/>
    79             <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"/>
    80             <param name="main" value="org.apidesign.anagram.app.springscan.Main"/>
    81         </antcall>
    82         <echo level="info" message="Running registerGeneral version"/>
    83         <antcall target="-run-one">
    84             <param name="version" value="app-register-general"/>
    85             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    86             <param name="main" value="org.apidesign.anagram.app.registergeneral.Main"/>
    87         </antcall>
    88         <echo level="info" message="Running lookup version"/>
    89         <antcall target="-run-one">
    90             <param name="version" value="app-lookup"/>
    91             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/org-openide-util.jar"/>
    92             <param name="main" value="org.apidesign.anagram.app.lookup.Main"/>
    93         </antcall>
    94         <antcall target="-run-one">
    95             <param name="version" value="app-serviceloader"/>
    96             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:${junit.jar}:${nbjunit.jar}:${insane.jar}"/>
    97             <param name="main" value="org.apidesign.anagram.app.serviceloader.Main"/>
    98         </antcall>
    99     </target>
   100 
   101     <target name="test" depends="build">
   102         <echo level="info" message="Testing using MockServices"/>
   103         <antcall target="-test-one">
   104             <param name="version" value="app-test"/>
   105             <param name="cp" value="build/api/classes:build/gui/classes:build/app-serviceloader/classes:build/app-lookup/classes:${junit.jar}:${nbjunit.jar}:${insane.jar}:../../libs/dist/org-openide-util.jar"/>
   106         </antcall>
   107     </target>
   108         
   109     <!-- support methods -->
   110     
   111     <target name="-libraries">
   112         <ant dir="../../libs/"/>
   113         
   114         <property name="junit.jar" location="../../libs/dist/junit-4.4.jar"/>
   115         <property name="nbjunit.jar" location="../../libs/dist/org-netbeans-modules-nbjunit.jar"/>
   116         <property name="insane.jar" location="../../libs/dist/org-netbeans-insane.jar"/>
   117     </target>
   118 
   119     <target name="-run-one">
   120         <java classpath="${cp}:build/${version}/classes" classname="${main}">
   121             <jvmarg value="-Danagram.version=${version}"/>
   122         </java>
   123     </target>
   124     
   125     <target name="-build-one">
   126         <fail message="You need to specify version number" unless="version"/>
   127         
   128         <mkdir dir="build/${version}/classes"/>
   129         <property name="cp" value="build/api/classes"/>
   130         <javac 
   131             srcdir="src-${version}" 
   132             destdir="build/${version}/classes" 
   133             source="1.5" target="1.5"
   134             classpath="${cp}"
   135             debug="true" debuglevel="lines,vars,source"
   136         />
   137         <copy todir="build/${version}/classes">
   138             <fileset dir="src-${version}">
   139                 <exclude name="**/*.java"/>
   140             </fileset>
   141         </copy>
   142     </target>
   143     <target name="-test-one">
   144         <fail message="You need to specify API version number" unless="version"/>
   145         <mkdir dir="build/testresults"/>
   146         <junit dir="build/test/classes" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">
   147             <batchtest todir="build/testresults">
   148                 <fileset dir="build/test/classes">
   149                     <filename name="**/*Test.class"/>
   150                 </fileset>
   151             </batchtest>
   152             <classpath>
   153                 <path path="${cp}"/>
   154                 <path location="build/test/classes"/>
   155                 <path location="${junit.jar}"/>
   156             </classpath>
   157             <formatter type="brief" usefile="false"/>
   158             <formatter type="xml"/>
   159         </junit>
   160     </target>
   161 </project>