org.aspectj/build/package.xml

266 lines
10 KiB
XML

<?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>