123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
-
- <project name="aspectj-examples" default="both" basedir=".">
-
- <target name="info" >
- <echo>
- This script tests the Ajc11CompilerAdapter by compiling
- with Javac alone and then with Javac set up to use ajc.
- This must be run with aspectjtools.jar on the Ant classpath,
- so put it in the ant lib directory.
-
- It mainly tests that both work when the destination directory
- is not specified, and that the ajc compile picks up the extra
- arguments. Much more could be tested.
- </echo>
- </target>
-
- <!-- ============================================================= -->
- <!-- setup and cleanup targets -->
- <!-- ============================================================= -->
-
- <target name="clean" depends="init"
- description="clean and create classes/jar dir, .ajesym files">
- <delete quiet="on">
- <fileset dir="${sourceroot.dir}"
- includes="**/*.ajesym,**/*.class"/>
- </delete>
- </target>
-
- <target name="init" depends="init.variables,init.taskdefs"/>
-
- <target name="init.variables"
- description="init variables">
-
- <!-- build.compiler value to pick up our CompilerAdapter for javac -->
- <property name="ajc.adapter"
- value="org.aspectj.tools.ant.taskdefs.Ajc11CompilerAdapter"/>
-
- <!-- required directories - run from examples or predefine -->
- <property name="temp.dir"
- location="${basedir}/temp"/>
- <property name="sourceroot.dir"
- location="${basedir}/sourceroot"/>
- <property name="aspect.dir"
- location="${basedir}/aspectsrc"/>
- <property name="aspectj.lib.dir"
- location="${ASPECTJ_HOME}/lib"/>
-
- <!-- required libraries - install or predefine -->
- <property name="aspectjrt.jar"
- location="${aspectj.lib.dir}/aspectjrt.jar"/>
- <property name="aspectjtools.jar"
- location="${aspectj.lib.dir}/aspectjtools.jar"/>
-
- <!-- checking required libraries -->
- <available file="${aspectjtools.jar}"
- property="aspectjtools.jar.available"/>
- <available file="${aspectjrt.jar}"
- property="aspectjrt.jar.available"/>
-
- </target>
-
- <target name="init.taskdefs" depends="init.variables,
- aspectjtools.jar.available,
- aspectjrt.jar.available"
- unless="taskdefs.init">
- <!-- sets name of new task to iajc, old task to ajc -->
- <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/>
- <property name="taskdefs.init" value="true"/>
- </target>
-
- <target name="aspectjrt.jar.available" depends="init.variables"
- unless="aspectjrt.jar.available" >
- <fail message="expecting aspectjrt.jar at ${aspectjrt.jar}"/>
- </target>
-
- <target name="aspectjtools.jar.available" depends="init.variables"
- unless="aspectjtools.jar.available" >
- <fail message="expecting aspectjtools.jar at ${aspectjtools.jar}"/>
- </target>
-
- <!-- ..................................................... -->
- <target name="both">
- <antcall target="compile-and-run"/>
- <antcall target="compile-and-run-ajc"/>
- </target>
-
- <target name="compile-and-run-ajc" depends="init">
- <antcall target="compile-and-run">
- <param name="build.compiler" value="${ajc.adapter}"/>
- </antcall>
- </target>
-
- <target name="compile-and-run" depends="init">
- <antcall target="clean" />
- <javac verbose="true">
- <src path="${sourceroot.dir}"/>
- <include name="**/*.java"/>
-
- <compilerarg
- compiler="${ajc.adapter}"
- value="-argfile"/>
- <compilerarg
- compiler="${ajc.adapter}"
- file="${aspect.dir}/aspects.lst"/>
- <compilerarg compiler="${ajc.adapter}"
- value="-classpath"/>
- <compilerarg compiler="${ajc.adapter}"
- value="${aspectjrt.jar}"/>
- </javac>
- <java classname="Default">
- <classpath>
- <pathelement path="${aspectjrt.jar}"/>
- <pathelement path="${sourceroot.dir}"/>
- <pathelement path="${aspect.dir}"/>
- </classpath>
- </java>
- <antcall target="clean" />
- </target>
-
- </project>
|