| <?xml version="1.0" ?> |
| <!-- writen for Ant 1.5.1 --> |
| <project name="org.aspectj.ajde" default="packaged-plugin"> |
| |
| <description> |
| Creates a packaged plug-in jar for AJDE |
| </description> |
| |
| <!-- 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 name="ajde.build.dir" value="build/ajdetemp" /> |
| |
| <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="build.*" /> |
| <exclude name=".*" /> |
| <exclude name="*/*" /> |
| <exclude name="plugin.*xml" /> |
| <exclude name="aspectjlib.properties" /> |
| <depth max="0" /> |
| </fileset> |
| </copy> |
| <copy file="plugin.xml" tofile="${build.dir}/plugin.xml"> |
| <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> |
| |
| |
| <target name="ajdejar" description="Construct ajde.jar and ajdesrc.zip for the ajde plugin using an AJ build"> |
| |
| <!-- copy and unpack an aspectjtools.jar into a local build directory --> |
| <delete dir="${ajde.build.dir}"/> |
| <copy file="${aspectj.lib.dir}/aspectjtools.jar" tofile="aspectjtools.jar" overwrite="true" /> |
| <mkdir dir="${ajde.build.dir}" /> |
| <unzip dest="${ajde.build.dir}" src="aspectjtools.jar" /> |
| |
| <!-- delete everything that isn't in the org.aspectj package --> |
| <delete includeemptydirs="true"> |
| <fileset dir="${ajde.build.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="${ajde.build.dir}"> |
| <include name="org/aspectj/asm/**" /> |
| <include name="org/aspectj/weaver/**" /> |
| <include name="org/aspectj/apache/**" /> |
| <include name="org/aspectj/bridge/**" /> |
| <include name="org/aspectj/util/**" /> |
| <include name="org/aspectj/org/objectweb/**" /> |
| </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="${ajde.build.dir}"> |
| <include name="org/aspectj/internal/**" /> |
| <include name="org/aspectj/runtime/**" /> |
| <include name="org/aspectj/lang/**" /> |
| </fileset> |
| </delete> |
| |
| <!-- construct the ajde.jar --> |
| <zip destfile="ajde.jar"> |
| <fileset dir="${ajde.build.dir}" /> |
| </zip> |
| <delete dir="${ajde.build.dir}" /> |
| |
| <!-- build a src zip --> |
| |
| <unzip dest="${ajde.build.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/jdtcore-for-aspectj-src.zip"/> |
| <unzip dest="${ajde.build.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="${ajde.build.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="${ajde.build.dir}"> |
| <include name="org/aspectj/asm/**" /> |
| <include name="org/aspectj/weaver/**" /> |
| <include name="org/aspectj/apache/**" /> |
| <include name="org/aspectj/bridge/**" /> |
| <include name="org/aspectj/util/**" /> |
| <include name="org/aspectj/org/objectweb/**" /> |
| </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="${ajde.build.dir}"> |
| <include name="org/aspectj/internal/**" /> |
| <include name="org/aspectj/runtime/**" /> |
| <include name="org/aspectj/lang/**" /> |
| </fileset> |
| </delete> |
| |
| <!-- delete everything which shouldn't be anywhere at all --> |
| <echo message="Removing other files not required in ajdesrc.zip"/> |
| <delete includeemptydirs="true"> |
| <fileset dir="${ajde.build.dir}"> |
| <include name="org/aspectj/lib/**" /> |
| </fileset> |
| </delete> |
| |
| <zip destfile="ajdesrc.zip"> |
| <fileset dir="${ajde.build.dir}"/> |
| </zip> |
| <delete dir="${ajde.build.dir}" /> |
| </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="${ajde.build.dir}"/> |
| <copy file="${aspectj.lib.dir}/aspectjweaver.jar" tofile="aspectjweaver.jar" overwrite="true" /> |
| <mkdir dir="${ajde.build.dir}" /> |
| <unzip dest="${ajde.build.dir}" src="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="${ajde.build.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/**/*.*" /> |
| </fileset> |
| </delete> |
| |
| <!-- construct the aspectjweaver.jar directly in the org.aspectj.weaver plugin --> |
| <zip destfile="../org.aspectj.weaver/aspectjweaver.jar"> |
| <fileset dir="${ajde.build.dir}" /> |
| </zip> |
| <delete dir="${ajde.build.dir}" /> |
| |
| <!-- build a src zip --> |
| |
| <unzip dest="${ajde.build.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/jdtcore-for-aspectj-src.zip"/> |
| <unzip dest="${ajde.build.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="${ajde.build.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="${ajde.build.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="../org.aspectj.weaver/aspectjweaversrc.zip"> |
| <fileset dir="${ajde.build.dir}"/> |
| </zip> |
| <delete dir="${ajde.build.dir}" /> |
| </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="../org.aspectj.runtime/aspectjrt.jar" |
| overwrite="true" /> |
| |
| <delete dir="${ajde.build.dir}" /> |
| <!-- build a src zip --> |
| <unzip dest="${ajde.build.dir}" src="${aspectj.lib.dir}/../../ide/eclipse/org.aspectj.ajde.source/src/jdtcore-for-aspectj-src.zip"/> |
| <unzip dest="${ajde.build.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="${ajde.build.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="../org.aspectj.runtime/aspectjrtsrc.zip"> |
| <fileset dir="${ajde.build.dir}"/> |
| </zip> |
| <delete dir="${ajde.build.dir}" /> |
| </target> |
| |
| <!-- target name="plugin jars" depends="weaverjar" --> |
| <target name="plugin jars" depends="copy doc,ajdejar,weaverjar,runtimejar" |
| description="When a new version of AspectJ is released, drop the |
| aspectjrt.jar and aspectjtools.jar from the AJ lib directory into |
| the org.aspectj.ajde directory, and then run 'ant ajde.jar' to create an ajde.jar |
| update from them. Also need to copy aspectjrt.jar to org.aspectj.runtime plugin."> |
| </target> |
| |
| </project> |