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