org.aspectj/bcel-builder/build.xml
2006-02-14 14:09:35 +00:00

191 lines
5.9 KiB
XML

<project name="bcel-builder" default="packageAndPush" basedir=".">
<!-- *********************************************************************** -->
<!-- compliance for Alex build -->
<!-- *********************************************************************** -->
<!--<import file="../build/build-common.xml"/>-->
<path id="bcel-builder.test.src.path">
<fileset dir="${basedir}/../lib">
<include name="junit/*.jar"/>
</fileset>
<path refid="bcel-builder.src.path"/>
</path>
<path id="bcel-builder.src.path">
<fileset dir="${basedir}/../lib">
<include name="regexp/*.jar"/>
</fileset>
</path>
<target name="cleanall" depends="clean">
<delete dir="bin"/>
<delete dir="bintest"/>
<!-- FIXME: not consistent with Alex policy -->
<mkdir dir="bin"/>
</target>
<target name="init"/>
<target name="compile" depends="init">
<srccompile project="bcel-builder" path="bcel-builder.src.path"/>
</target>
<target name="test:compile" depends="compile">
<testcompile project="bcel-builder" path="bcel-builder.test.src.path"/>
</target>
<target name="test" depends="test:compile">
<testrun project="bcel-builder" path="bcel-builder.test.src.path" suite="org.aspectj.apache.bcel.classfile.tests.AllTests"/>
</target>
<!-- *********************************************************************** -->
<!-- top-level -->
<target name="extractAndPatchAndJar" depends="extractAndPatch,jar,srcjar" />
<target name="extractAndPatch" depends="unzipSource,createPatchedSource" />
<target name="packageAndPush" depends="buildTheJars,push"/>
<target name="jar" depends="pack">
<!-- FIXME AV: someone fix this target since it is broken... looks for bcel/build.xml that does not exist -->
<!-- <copy file="../lib/regexp/jakarta-regexp-1.2.jar"-->
<!-- tofile="bcel/lib/Regex.jar" />-->
<!-- <ant dir="bcel" target="jar" />-->
<!-- <copy file="bcel/bin/bcel.jar" toDir="." />-->
</target>
<target name="srcjar" depends="pack">
<zip basedir="bcel" destfile="bcel-src.zip" includes="*/**" excludes="bin/**,lib/**"/>
</target>
<target name="push">
<copy file="bcel.jar" todir="../lib/bcel" />
<copy file="bcel-src.zip" todir="../lib/bcel" />
<delete file="bcel.jar"/>
<delete file="bcel-src.zip"/>
</target>
<target name="buildTheJars">
<zip file="bcel.jar" basedir="bin" includes="**/*" excludes="**/tests/*.class"/>
<zip file="bcel-src.zip" basedir="src" includes="**/*"/>
</target>
<target name="diff" depends="transformFromAJ,pack">
<!-- Wipe out some of the rubbish that can arise due to doing a 'ant jar' before doing the diff -->
<delete dir="bcel/bin"/>
<delete dir="bcel/lib"/>
<exec dir="." executable="diff.exe" output="patch.txt">
<arg line="-N"/> <!-- Treat absent files as empty -->
<arg line="-a"/> <!-- Treat all files as text -->
<arg line="-u"/> <!-- Output (default 3) lines of unified context -->
<arg line="-r"/> <!-- Recursively compare any subdirectories found -->
<arg line="-b"/> <!-- Ignore changes in the amount of white space -->
<arg line="bcel-5.1" />
<arg line="bcel" />
</exec>
</target>
<target name="clean">
<delete dir="bcel-5.1" />
<delete dir="bcel" />
<delete file="bcel.jar" />
<delete file="bcel-src.zip" />
<!--delete dir="src" /-->
<mkdir dir="src" /> <!-- empty src dir -->
</target>
<!-- internals -->
<target name="unzipSource">
<delete dir="bcel-5.1" />
<unzip src="bcel-5.1-src.zip" dest="." />
</target>
<target name="createPatchedSource" depends="patch,unpack,transformToAJ" />
<target name="patch">
<delete dir="bcel" />
<copy todir="bcel">
<fileset dir="bcel-5.1" />
</copy>
<patch patchfile="patch.txt" strip="1" dir="bcel" />
</target>
<target name="pack">
<delete dir="bcel/src/java" />
<copy toDir="bcel/src/java">
<fileset dir="src" />
</copy>
</target>
<target name="unpack">
<delete dir="src" />
<copy toDir="src">
<fileset dir="bcel/src/java" >
</fileset>
</copy>
</target>
<target name="transformFromAJ">
<delete dir="src-temp" />
<echo message="Copying 'src' to 'src-temp' and modifying file names to remove aspectj"/>
<copy toDir="src-temp">
<fileset dir="src"/>
<mapper type="regexp" from="^(.*)aspectj\\apache(.*)$" to="\1apache\2"/>
</copy>
<delete dir="src"/>
<echo message="Modifying file contents to change refs from 'org.aspectj.apache.bcel' to 'org.apache.bcel'"/>
<replaceregexp byline="true" flags="g">
<regexp pattern="org.aspectj.apache.bcel"/>
<substitution expression="org.apache.bcel"/>
<fileset dir="src-temp">
<include name="**/*"/>
</fileset>
</replaceregexp>
<echo message="Copying from 'src-temp' back to 'src'"/>
<copy toDir="src">
<fileset dir="src-temp"/>
</copy>
<delete dir="src-temp"/>
</target>
<target name="transformToAJ">
<delete dir="src-temp" />
<echo message="Copying 'src' to 'src-temp' and modifying file names to include aspectj"/>
<copy toDir="src-temp">
<fileset dir="src"/>
<mapper type="regexp" from="^(.*)apache(.*)$" to="\1aspectj\\apache\2"/>
</copy>
<delete dir="src"/>
<echo message="Modifying file contents to change refs from 'org.apache.bcel' to 'org.aspectj.apache.bcel'"/>
<replaceregexp byline="true" flags="g">
<regexp pattern="org.apache.bcel"/>
<substitution expression="org.aspectj.apache.bcel"/>
<fileset dir="src-temp">
<include name="**/*"/>
</fileset>
</replaceregexp>
<echo message="Copying from 'src-temp' back to 'src'"/>
<copy toDir="src">
<fileset dir="src-temp"/>
</copy>
<delete dir="src-temp"/>
</target>
</project>