]> source.dussan.org Git - aspectj.git/commitdiff
not finished ... packaging script from AJDT to take an AJ build and produce AJDT...
authoraclement <aclement>
Sat, 18 Mar 2006 12:14:58 +0000 (12:14 +0000)
committeraclement <aclement>
Sat, 18 Mar 2006 12:14:58 +0000 (12:14 +0000)
build/package.xml [new file with mode: 0644]

diff --git a/build/package.xml b/build/package.xml
new file mode 100644 (file)
index 0000000..36d6ab8
--- /dev/null
@@ -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