samples/componentinjection/anagram-modular/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 20 Jun 2009 16:06:19 +0200
changeset 336 219810ff3c72
parent 252 763bf709a318
child 340 9c1a298e51a9
permissions -rw-r--r--
Example of "compile time caches" and their possible usage in Component Injection area
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project name="Various Examples of Component Injection" 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="api-compiletimecaches"/>
    15             <param name="cp" value="build/api/classes:../../libs/dist/org-openide-util.jar:../../libs/dist/org-openide-filesystems.jar"/>
    16         </antcall>
    17         <antcall target="-build-one">
    18             <param name="version" value="word-annotated"/>
    19             <param name="cp" value="build/api/classes:build/api-compiletimecaches/classes:../../libs/dist/org-openide-util.jar:../../libs/dist/org-openide-filesystems.jar"/>
    20         </antcall>
    21         <antcall target="-build-one">
    22             <param name="version" value="word-static"/>
    23         </antcall>
    24         <antcall target="-build-one">
    25             <param name="version" value="scrambler-simple"/>
    26         </antcall>
    27         <antcall target="-build-one">
    28             <param name="version" value="gui"/>
    29         </antcall>
    30         <antcall target="-build-one">
    31             <param name="version" value="app-register"/>
    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-register-general"/>
    36             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    37         </antcall>
    38         <antcall target="-build-one">
    39             <param name="version" value="app-property"/>
    40             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    41         </antcall>
    42         <antcall target="-build-one">
    43             <param name="version" value="app-spring"/>
    44             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/spring-2.5.jar"/>
    45         </antcall>
    46         <antcall target="-build-one">
    47             <param name="version" value="app-spring-scan"/>
    48             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/spring-2.5.jar"/>
    49         </antcall>
    50         <antcall target="-build-one">
    51             <param name="version" value="app-lookup"/>
    52             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/org-openide-util.jar"/>
    53         </antcall>
    54         <antcall target="-build-one">
    55             <param name="version" value="app-serviceloader"/>
    56             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    57         </antcall>
    58         <antcall target="-build-one">
    59             <param name="version" value="test"/>
    60             <param name="cp" value="build/api/classes:build/gui/classes:build/app-serviceloader/classes:build/app-lookup/classes:${junit.jar}:${nbjunit.jar}:${insane.jar}"/>
    61         </antcall>
    62         
    63     </target>
    64     
    65     <target name="run" depends="build">
    66         <echo level="info" message="Running registerXYZ version"/>
    67         <antcall target="-run-one">
    68             <param name="version" value="app-register"/>
    69             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    70             <param name="main" value="org.apidesign.anagram.app.register.Main"/>
    71         </antcall>
    72         <echo level="info" message="Running System.getProperty version"/>
    73         <antcall target="-run-one">
    74             <param name="version" value="app-property"/>
    75             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    76             <param name="main" value="org.apidesign.anagram.app.property.Main"/>
    77         </antcall>
    78         <echo level="info" message="Running spring version"/>
    79         <antcall target="-run-one">
    80             <param name="version" value="app-spring"/>
    81             <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"/>
    82             <param name="main" value="org.apidesign.anagram.app.spring.Main"/>
    83         </antcall>
    84         <echo level="info" message="Running spring autoscan version"/>
    85         <antcall target="-run-one">
    86             <param name="version" value="app-spring-scan"/>
    87             <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"/>
    88             <param name="main" value="org.apidesign.anagram.app.springscan.Main"/>
    89         </antcall>
    90         <echo level="info" message="Running registerGeneral version"/>
    91         <antcall target="-run-one">
    92             <param name="version" value="app-register-general"/>
    93             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes"/>
    94             <param name="main" value="org.apidesign.anagram.app.registergeneral.Main"/>
    95         </antcall>
    96         <echo level="info" message="Running lookup version"/>
    97         <antcall target="-run-one">
    98             <param name="version" value="app-lookup"/>
    99             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/org-openide-util.jar"/>
   100             <param name="main" value="org.apidesign.anagram.app.lookup.Main"/>
   101         </antcall>
   102         <antcall target="-run-one">
   103             <param name="version" value="app-serviceloader"/>
   104             <param name="cp" value="build/api/classes:build/word-static/classes:build/scrambler-simple/classes:build/gui/classes:${junit.jar}:${nbjunit.jar}:${insane.jar}"/>
   105             <param name="main" value="org.apidesign.anagram.app.serviceloader.Main"/>
   106         </antcall>
   107         <echo level="info" message="Running @Words annotation version"/>
   108         <antcall target="-run-one">
   109             <param name="version" value="app-lookup"/>
   110             <param name="cp" value="build/api/classes:build/word-annotated/classes:build/api-compiletimecaches/classes:build/scrambler-simple/classes:build/gui/classes:../../libs/dist/org-openide-util.jar:../../libs/dist/org-openide-filesystems.jar"/>
   111             <param name="main" value="org.apidesign.anagram.app.lookup.Main"/>
   112         </antcall>
   113     </target>
   114 
   115     <target name="test" depends="build">
   116         <echo level="info" message="Testing using MockServices"/>
   117         <antcall target="-test-one">
   118             <param name="version" value="app-test"/>
   119             <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"/>
   120         </antcall>
   121     </target>
   122         
   123     <!-- support methods -->
   124     
   125     <target name="-libraries">
   126         <ant dir="../../libs/"/>
   127         
   128         <property name="junit.jar" location="../../libs/dist/junit-4.4.jar"/>
   129         <property name="nbjunit.jar" location="../../libs/dist/org-netbeans-modules-nbjunit.jar"/>
   130         <property name="insane.jar" location="../../libs/dist/org-netbeans-insane.jar"/>
   131     </target>
   132 
   133     <target name="-run-one">
   134         <java classpath="${cp}:build/${version}/classes" classname="${main}">
   135             <jvmarg value="-Danagram.version=${version}"/>
   136         </java>
   137     </target>
   138     
   139     <target name="-build-one">
   140         <fail message="You need to specify version number" unless="version"/>
   141         
   142         <mkdir dir="build/${version}/classes"/>
   143         <property name="cp" value="build/api/classes"/>
   144         <javac 
   145             srcdir="src-${version}" 
   146             destdir="build/${version}/classes" 
   147             source="1.5" target="1.5"
   148             classpath="${cp}"
   149             debug="true" debuglevel="lines,vars,source"
   150         />
   151         <copy todir="build/${version}/classes">
   152             <fileset dir="src-${version}">
   153                 <exclude name="**/*.java"/>
   154             </fileset>
   155         </copy>
   156     </target>
   157     <target name="-test-one">
   158         <fail message="You need to specify API version number" unless="version"/>
   159         <mkdir dir="build/testresults"/>
   160         <junit dir="build/test/classes" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">
   161             <batchtest todir="build/testresults">
   162                 <fileset dir="build/test/classes">
   163                     <filename name="**/*Test.class"/>
   164                 </fileset>
   165             </batchtest>
   166             <classpath>
   167                 <path path="${cp}"/>
   168                 <path location="build/test/classes"/>
   169                 <path location="${junit.jar}"/>
   170             </classpath>
   171             <formatter type="brief" usefile="false"/>
   172             <formatter type="xml"/>
   173         </junit>
   174     </target>
   175 </project>