--- /dev/null
+
+<!-- ========================================================================= -->
+<!-- Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC). -->
+<!-- All rights reserved. -->
+<!-- This program and the accompanying materials are made available -->
+<!-- under the terms of the Common Public License v1.0 -->
+<!-- which accompanies this distribution and is available at -->
+<!-- http://www.eclipse.org/legal/cpl-v10.html -->
+<!-- -->
+<!-- Contributors: -->
+<!-- Xerox/PARC initial implementation -->
+<!-- ========================================================================= -->
+
+<!DOCTYPE project [
+<!ENTITY build-properties SYSTEM "file:build-properties.xml">
+]>
+<project name="build" default="all" basedir=".">
+
+ <target name="info">
+ <echo>
+ This downloads and build the AspectJ source tree.
+
+ Targets of note:
+
+ build-release checkout and build AspectJ
+
+ Properties of note:
+
+ version set if not DEVELOPMENT
+ do.not.create.tree no CVS checkout
+ aspectj.modules.dir define this to reuse existing
+
+ </echo>
+ </target>
+
+ <target name="init-variables"
+ unless="init.variables.done">
+
+ <property name="version" value="DEVELOPMENT"/>
+ <property name="ant.verbose" value=""/>
+
+ <property name="aspectj.workspace"
+ location="${basedir}/aspectj-workspace"/>
+ <property name="aspectj.modules.dir"
+ location="${aspectj.workspace}/org.aspectj/modules"/>
+ <property name="aspectj.build.dir"
+ location="${aspectj.modules.dir}/build"/>
+ <property name="aspectj.lib.dir"
+ location="${aspectj.modules.dir}/lib"/>
+ <property name="aspectj.ant.home"
+ location="${aspectj.lib.dir}/ant"/>
+ <property name="aspectj.ant.lib.dir"
+ location="${aspectj.ant.home}/lib"/>
+ <property name="aj.build.dir"
+ location="${aspectj.modules.dir}/aj-build"/>
+ <property name="aj.build.jar.dir"
+ location="${aj.build.dir}/jars"/>
+ <property name="aj.build.dist.dir"
+ location="${aj.build.dir}/dist"/>
+ <property name="aj.build.jar.dir"
+ location="${aj.build.dir}/jars"/>
+ <property name="aj.build.install.dir"
+ location="${aj.build.dir}/install"/>
+
+ <property name="aspectj.jar"
+ location="${aj.build.dist.dir}/aspectj-${version}.jar"/>
+
+ <property name="java.command"
+ location="${java.home}/bin/java"/>
+
+ <path id="ant.classpath">
+ <fileset dir="${aspectj.ant.lib.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ <pathelement path="${java.home}/lib/tools.jar"/>
+ <pathelement path="${java.home}/../lib/tools.jar"/>
+ </path>
+ <!-- property name="init.variables.done" value="done"/ -->
+ </target>
+
+ <target name="all" depends="test-aspectj-install"/>
+
+ <target name="test-aspectj-install" depends="install-aspectj">
+ <!-- run examples non-gui, etc. -->
+ </target>
+
+ <target name="build-release" depends="init-variables,create-tree"
+ description="build an AspectJ release">
+ <antcall target="run-ant">
+ <param name="ant.target" value="clean"/>
+ </antcall>
+ <antcall target="run-ant">
+ <param name="ant.target" value="aspectj"/>
+ </antcall>
+ </target>
+
+ <target name="create-tree" depends="init-variables"
+ unless="do.not.create.tree"
+ description="create an AspectJ source tree">
+ <fail message="testing now"/>
+ <mkdir dir="${aspectj.workspace}"/>
+ <delete dir="${aspectj.workspace}"/>
+ <mkdir dir="${aspectj.workspace}"/>
+ <cvs cvsRoot=":pserver:anonymous@eclipse.org:/home/technology"
+ dest="${quicklook.tree.dir}"
+ package="org.aspectj/modules"
+ quiet="on"
+ failonerror="on"
+ command="checkout -P" />
+ </target>
+
+ <target name="install-aspectj" depends="build-release,init-variables"
+ description="create an AspectJ source tree">
+ <fail unless="aspectj.jar" message="define aspectj.jar"/>
+ <fail unless="aj.build.install.dir" message="define aj.build.install.dir"/>
+ <mkdir dir="${aj.build.install.dir}"/>
+ <delete dir="${aj.build.install.dir}"/>
+ <mkdir dir="${aj.build.install.dir}"/>
+ <java fork="true" jar="${aspectj.jar}" failonerror="true">
+ <arg line="-to ${aj.build.install.dir}"/>
+ </java>
+ </target>
+
+ <target name="run-ant" depends="init-variables">
+ <!-- we could use normal ant, but we enforce using ours
+ <ant dir="${aspectj.build.dir}"
+ target="clean"
+ inheritAll="false"/>
+ -->
+ <fail unless="ant.target" message="define ant.target"/>
+ <java
+ fork="true"
+ dir="${aspectj.build.dir}"
+ jvm="${java.command}"
+ classname="org.apache.tools.ant.Main"
+ maxmemory="350m"
+ failonerror="true"
+ newenvironment="true"
+ classpathref="ant.classpath"
+ >
+ <sysproperty key="JAVA_HOME" path="${java.home}"/>
+ <sysproperty key="ANT_HOME"
+ path="${aspectj.ant.home}"/>
+ <arg line="-f build.xml ${ant.target} ${ant.verbose}"/>
+ </java>
+ </target>
+</project>
\ No newline at end of file