<?xml version="1.0" ?> <!-- writen for Ant 1.5.1 --> <project name="Packaging AJ for AJDT" default="ajdtjars"> <description>Takes an AJ build and spits out the jars for AJDT</description> <property name="pkg.working.dir" value="../aj-build/ajdttemp" /> <property name="aspectj.lib.dir" value="../aj-build/dist/tools/lib"/> <property name="ajdt.output.dir" value="../aj-build/ajdtoutput"/> <target name="ajdtjars" depends="ajdejar,weaverjar,runtimejar" description="Run in the build folder, it will take the aj-build/ output and create AJDT jars"> </target> <target name="ajdejar" description="Construct ajde.jar and ajdesrc.zip for the ajde plugin using an AJ build"> <!-- copy and unpack an aspectjtools.jar --> <delete dir="${pkg.working.dir}"/> <copy file="${aspectj.lib.dir}/aspectjtools.jar" tofile="aspectjtools.jar" overwrite="true" /> <mkdir dir="${pkg.working.dir}" /> <unzip dest="${pkg.working.dir}" src="aspectjtools.jar" /> <delete file="aspectjtools.jar"/> <!-- delete everything that isn't in the org.aspectj package --> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <exclude name="org/aspectj/**/*.*" /> </fileset> </delete> <!-- delete everything which is going to be in aspectjweaver.jar --> <echo message="Removing files not required in ajde.jar since they're contained in aspectjweaver.jar"/> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <include name="org/aspectj/asm/**/*.*" /> <include name="org/aspectj/weaver/**/*.*" /> <include name="org/aspectj/apache/bcel/**/*.*" /> <include name="org/aspectj/bridge/**/*.*" /> <include name="org/aspectj/util/**/*.*" /> </fileset> </delete> <!-- delete everything which is going to be in aspectjrt.jar --> <echo message="Removing files not required in ajde.jar since they're contained in aspectjrt.jar"/> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <!-- bug 118235: currently the commented out classes appear in both ajde.jar and aspectjrt.jar uncomment this if decide it should only live in aspectjrt.jar <include name="org/aspectj/internal/lang/annotation/**/*.*" /> <include name="org/aspectj/internal/lang/reflect/**/*.*" /> --> <include name="org/aspectj/runtime/**/*.*" /> <include name="org/aspectj/lang/**/*.*" /> </fileset> </delete> <!-- construct the ajde.jar --> <zip destfile="ajde.jar"> <fileset dir="${pkg.working.dir}" /> </zip> <delete dir="${pkg.working.dir}" /> <!-- build a src zip --> <unzip dest="${pkg.working.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/jdtcore-for-aspectj-src.zip"/> <unzip dest="${pkg.working.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/aspectjsrc.zip"/> <!-- delete everything that isn't in the org.aspectj package --> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <exclude name="org/aspectj/**/*.*"/> </fileset> </delete> <!-- delete everything which is going to be in aspectjweaversrc.zip --> <echo message="Removing files not required in ajdesrc.zip since they're contained in aspectjweaversrc.zip"/> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <include name="org/aspectj/asm/**/*.*" /> <include name="org/aspectj/weaver/**/*.*" /> <include name="org/aspectj/apache/bcel/**/*.*" /> <include name="org/aspectj/bridge/**/*.*" /> <include name="org/aspectj/util/**/*.*" /> </fileset> </delete> <!-- delete everything which is going to be in aspectjrtsrc.zip --> <echo message="Removing files not required in ajdesrc.zip since they're contained in aspectjrtsrc.zip"/> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <!-- bug 118235: currently the commented out classes appear in both ajde.jar and aspectjrt.jar uncomment this if decide it should only live in aspectjrt.jar <include name="org/aspectj/internal/lang/annotation/**/*.*" /> <include name="org/aspectj/internal/lang/reflect/**/*.*" /> --> <include name="org/aspectj/runtime/**/*.*" /> <include name="org/aspectj/lang/**/*.*" /> </fileset> </delete> <zip destfile="ajdesrc.zip"> <fileset dir="${pkg.working.dir}"/> </zip> <delete dir="${pkg.working.dir}" /> <copy file="ajde.jar" todir="${ajdt.output.dir}"/> <copy file="ajdesrc.zip" todir="${ajdt.output.dir}"/> <delete file="ajde.jar"/> <delete file="ajdesrc.zip"/> </target> <target name="weaverjar" description="Construct aspectjweaver.jar and aspectjweaversrc.zip for the aspectjweaver plugin using an AJ build"> <!-- copy and unpack an aspectjweaver.jar into a local build directory --> <delete dir="${pkg.working.dir}"/> <copy file="${aspectj.lib.dir}/aspectjweaver.jar" tofile="aspectjweaver.jar" overwrite="true" /> <mkdir dir="${pkg.working.dir}" /> <unzip dest="${pkg.working.dir}" src="aspectjweaver.jar" /> <delete file="aspectjweaver.jar"/> <!-- delete everything which shouldn't be included in the aspectjweaver.jar --> <echo message="Removing files not required in aspectjweaver.jar"/> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <exclude name="META-INF/*.*" /> <exclude name="org/aspectj/apache/bcel/**/*.*" /> <exclude name="org/aspectj/asm/**/*.*" /> <exclude name="org/aspectj/bridge/**/*.*" /> <exclude name="org/aspectj/util/**/*.*" /> <exclude name="org/aspectj/weaver/**/*.*" /> <exclude name="org/aspectj/org/objectweb/asm/**/*.*"/> </fileset> </delete> <!-- construct the aspectjweaver.jar directly in the org.aspectj.weaver plugin --> <zip destfile="aspectjweaver.jar"> <fileset dir="${pkg.working.dir}" /> </zip> <delete dir="${pkg.working.dir}" /> <!-- build a src zip --> <unzip dest="${pkg.working.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/jdtcore-for-aspectj-src.zip"/> <unzip dest="${pkg.working.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/aspectjsrc.zip"/> <!-- delete everything that isn't in the org.aspectj package --> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <exclude name="org/aspectj/**/*.*"/> </fileset> </delete> <!-- delete everything which shouldn't be included in the aspectjweaversrc.zip --> <echo message="Removing files not required in aspectjweaversrc.zip"/> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <exclude name="org/aspectj/apache/bcel/**/*.*" /> <exclude name="org/aspectj/asm/**/*.*" /> <exclude name="org/aspectj/bridge/**/*.*" /> <exclude name="org/aspectj/util/**/*.*" /> <exclude name="org/aspectj/weaver/**/*.*" /> </fileset> </delete> <zip destfile="aspectjweaversrc.zip"> <fileset dir="${pkg.working.dir}"/> </zip> <delete dir="${pkg.working.dir}" /> <copy file="aspectjweaver.jar" todir="${ajdt.output.dir}"/> <copy file="aspectjweaversrc.zip" todir="${ajdt.output.dir}"/> <delete file="aspectjweaver.jar"/> <delete file="aspectjweaversrc.zip"/> </target> <target name="runtimejar" description="Copy the aspectjrt.jar from an AJ build into the runtime plugin containing the src"> <copy file="${aspectj.lib.dir}/aspectjrt.jar" tofile="aspectjrt.jar" overwrite="true" /> <delete dir="${pkg.working.dir}" /> <!-- build a src zip --> <unzip dest="${pkg.working.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/jdtcore-for-aspectj-src.zip"/> <unzip dest="${pkg.working.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/aspectjsrc.zip"/> <!-- delete everything which shouldn't be included in the aspectjrtsrc.zip --> <echo message="Removing files not required in aspectjrtsrc.zip"/> <delete includeemptydirs="true"> <fileset dir="${pkg.working.dir}"> <exclude name="org/aspectj/internal/lang/annotation/**/*.*" /> <exclude name="org/aspectj/internal/lang/reflect/**/*.*" /> <exclude name="org/aspectj/runtime/**/*.*" /> <exclude name="org/aspectj/lang/**/*.*" /> </fileset> </delete> <zip destfile="aspectjrtsrc.zip"> <fileset dir="${pkg.working.dir}"/> </zip> <delete dir="${pkg.working.dir}" /> <copy file="aspectjrt.jar" todir="${ajdt.output.dir}"/> <copy file="aspectjrtsrc.zip" todir="${ajdt.output.dir}"/> <delete file="aspectjrt.jar"/> <delete file="aspectjrtsrc.zip"/> </target> <!-- VERSION-STRING --> <!-- these property values will be overridden when called from the master build script --> <property name="ajde.version" value="9.9.9" /> <property name="build.dir" value="build" /> <property file="aspectjlib.properties" /> <target name="init"> <mkdir dir="${build.dir}" /> <mkdir dir="dist" /> </target> <target name="clean" depends="init"> <delete dir="${build.dir}" /> <delete dir="dist" /> </target> <!--target name="packaged-plugin" depends="init" description="Create the plugin jar file from the assembled components in the build dir"> <copy todir="${build.dir}" includeemptydirs="false"> <fileset dir="."> <exclude name="*src.zip" /> <exclude name="build.*" /> <exclude name=".*" /> <exclude name="*/*" /> <exclude name="META-INF/MANIFEST.MF" /> <exclude name="aspectjlib.properties" /> <depth max="0" /> </fileset> </copy> <copy file="META-INF/MANIFEST.MF" tofile="${build.dir}/META-INF/MANIFEST.MF"> <filterset begintoken="9" endtoken="9"> <filter token="2.2.2" value="${ajde.version}"/> </filterset> </copy> <copy todir="${build.dir}/doc"> <fileset dir="doc" /> </copy> <copy todir="${build.dir}/icons"> <fileset dir="icons" /> </copy> <zip destfile="dist/org.aspectj.ajde_${ajde.version}.jar"> <fileset dir="build" /> </zip> </target--> <target name="copy doc" description="This copies the aspectj docs into the org.eclipse.ajde plugin. By default, it only copies over any changes from the current version"> <copy todir="doc" failonerror="false"> <fileset dir="${aspectj.doc.dir}"> <exclude name="examples" /> </fileset> </copy> </target> </project>