--- /dev/null
+<!-- wrapped at 70 characters, long elements wrapped -->
+<!-- ===========================================================================
+
+ Copyright (c) 2005 Contributors.
+ All rights reserved.
+ This program and the accompanying materials are made available
+ under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution and is available at
+ http://eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Wes Isberg initial implementation
+
+============================================================================ -->
+
+<project name="aspectj-library" default="aspectjlib" basedir=".">
+
+ <target name="aspectjlib" depends="compile" />
+ <target name="info">
+ <echo>
+ This script builds the AspectJ library.
+
+ Relevant targets:
+ aspectjlib build library
+
+ Setup:
+ - Run from the doc/aspectjlib directory in your AspectJ distribution.
+ The tasks in ../../lib/aspectjtools.jar are used automatically.
+
+ Variants:
+ - To define a variable, use the Ant -D option - e.g., on Windows:
+
+ ant -f build.xml -DJAVA_HOME=c:\jdk1.3.1 -Dnorun=skip
+
+ </echo>
+ </target>
+
+
+ <!-- ============================================================= -->
+ <!-- setup and cleanup targets -->
+ <!-- ============================================================= -->
+
+ <target name="clean"
+ depends="init"
+ description="clean and create classes/jar dir, .ajesym files"
+ >
+ <delete quiet="on" dir="${jar.dir}" />
+ <delete quiet="on">
+ <fileset dir="${org.aspectj.lib.dir}"
+ includes="**/*.ajesym"
+ />
+ </delete>
+ <mkdir dir="${jar.dir}" />
+ </target>
+
+ <target name="init" depends="init.variables,init.taskdefs" />
+
+ <target name="init.variables" description="init variables">
+
+ <property name="org.aspectj.lib.dir" location="${basedir}" />
+ <property name="src.dir"
+ location="${org.aspectj.lib.dir}/src"
+ />
+
+ <!-- find AspectJ lib dir in distribution or AspectJ CVS tree -->
+ <property name="aspectj.dist.lib"
+ location="${basedir}/../../lib"
+ />
+
+ <property name="aspectj.tree.lib"
+ location="${basedir}/../lib/aspectj/lib"
+ />
+
+ <condition property="aspectj.lib.dir"
+ value="${aspectj.dist.lib}"
+ >
+ <available file="${aspectj.dist.lib}/aspectjtools.jar" />
+ </condition>
+
+ <condition property="aspectj.lib.dir"
+ value="${aspectj.tree.lib}"
+ >
+ <available file="${aspectj.tree.lib}/aspectjtools.jar" />
+ </condition>
+
+ <property name="aspectjrt.jar"
+ location="${aspectj.lib.dir}/aspectjrt.jar"
+ />
+ <property name="aspectjtools.jar"
+ location="${aspectj.lib.dir}/aspectjtools.jar"
+ />
+ <property name="aspectjweaver.jar"
+ location="${aspectj.lib.dir}/aspectjweaver.jar"
+ />
+
+ <property name="jar.dir"
+ location="${org.aspectj.lib.dir}/jars"
+ />
+ <property name="aspectjlib.out.jar"
+ location="${jar.dir}/aspectjlib.out.jar"
+ />
+
+ <available file="${aspectjtools.jar}"
+ property="aspectjtools.jar.available"
+ />
+ <available file="${aspectjrt.jar}"
+ property="aspectjrt.jar.available"
+ />
+
+ <property name="library.packages" value="org.aspectj.lib" />
+ </target>
+
+ <target name="init.taskdefs"
+ depends="init.variables,
+ aspectjtools.jar.available,
+ aspectjrt.jar.available"
+ unless="taskdefs.init"
+ >
+ <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"
+ >
+ <classpath>
+ <pathelement path="${aspectjtools.jar}" />
+ </classpath>
+ </taskdef>
+ <property name="taskdefs.init" value="true" />
+ </target>
+
+ <target name="aspectjrt.jar.available"
+ depends="init.variables"
+ unless="aspectjrt.jar.available"
+ >
+ <fail message="expecting aspectjrt.jar at ${aspectjrt.jar}" />
+ </target>
+
+ <target name="aspectjtools.jar.available"
+ depends="init.variables"
+ unless="aspectjtools.jar.available"
+ >
+ <fail message="expecting aspectjtools.jar at ${aspectjtools.jar}"
+ />
+ </target>
+
+ <target name="compile"
+ depends="init"
+ description="compile library"
+ >
+ <antcall target="clean" />
+ <!-- can use ajc or iajc here -->
+ <iajc sourceroots="${src.dir}"
+ fork="true"
+ forkclasspath="${aspectjtools.jar}"
+ classpath="${aspectjrt.jar}"
+ outjar="${aspectjlib.out.jar}"
+ />
+
+ </target>
+
+</project>
<html>
<head><title>org.aspectj.lib library module</title></head>
<body>
- <h1>org.aspectj.lib library module</h1>
+<h2>org.aspectj.lib library module</h2>
+<p>
+This module has source for both <code>{AspectJ}/lib/aspectjlib.jar</code>
+and <code>{AspectJ}/docs/aspectjlib/*</code>.
+</p>
+
+<h3>Building {AspectJ}/lib/aspectjlib.jar</h3>
<p>
This module is compiled using AspectJ, both in Eclipse and with Ant.
The Eclipse support is defined as usual in
<li>This is built using the release of AspectJ in
<a href="../lib/aspectj">../lib/aspectj</a>.</li>
</ul>
- </body>
+<h3>Building {AspectJ}/examples/aspectjlib/*</h3>
+<p>
+The docs build script <a href="../docs/build.xml">../docs/build.xml</a>
+is responsible for assembling sources from this directory into the docs
+directory. It relies on the name of the source directory and build script.
+Also, <code>Builder.java</code> is designed to try to use any
+<code>build.xml</code> to build the module, but Ant builds are now disabled.
+So if you change the build script name or the source directory names, update
+the docs build script and the builder as needed.
+</p>
+<p>
+The <a href="build-aspectjlib.xml">build-aspectjlib.xml</a> script looks for
+an AspectJ lib directory from either the distribution (aspectj/docs/aspectjlib)
+or from the CVS tree (modules/org.aspectj.lib), so the script can be tested
+in situ.
+</p>
+</body>
</html>
\ No newline at end of file