summaryrefslogtreecommitdiffstats
path: root/build/package.xml
diff options
context:
space:
mode:
authoraclement <aclement>2006-03-18 12:14:58 +0000
committeraclement <aclement>2006-03-18 12:14:58 +0000
commit70af6329f781f098483218602c045c49bd621751 (patch)
tree4f11e8d6392f83463a7478ea4edccf97bcbdedd5 /build/package.xml
parent91c0493cfd3b0562e1611a23da30402b347bae0a (diff)
downloadaspectj-70af6329f781f098483218602c045c49bd621751.tar.gz
aspectj-70af6329f781f098483218602c045c49bd621751.zip
not finished ... packaging script from AJDT to take an AJ build and produce AJDT jars.
Diffstat (limited to 'build/package.xml')
-rw-r--r--build/package.xml246
1 files changed, 246 insertions, 0 deletions
diff --git a/build/package.xml b/build/package.xml
new file mode 100644
index 000000000..36d6ab8b4
--- /dev/null
+++ b/build/package.xml
@@ -0,0 +1,246 @@
+<?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="*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>
+
+
+ <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/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="${ajde.build.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="${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/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="${ajde.build.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="${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/**/*.*" />
+ </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> \ No newline at end of file