diff options
Diffstat (limited to 'org.aspectj.lib')
-rw-r--r-- | org.aspectj.lib/build-aspectjlib.xml | 158 | ||||
-rw-r--r-- | org.aspectj.lib/readme-org.aspectj.lib.html | 26 |
2 files changed, 182 insertions, 2 deletions
diff --git a/org.aspectj.lib/build-aspectjlib.xml b/org.aspectj.lib/build-aspectjlib.xml new file mode 100644 index 000000000..f35a25b9a --- /dev/null +++ b/org.aspectj.lib/build-aspectjlib.xml @@ -0,0 +1,158 @@ +<!-- 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> diff --git a/org.aspectj.lib/readme-org.aspectj.lib.html b/org.aspectj.lib/readme-org.aspectj.lib.html index 18afd17ca..8e269623b 100644 --- a/org.aspectj.lib/readme-org.aspectj.lib.html +++ b/org.aspectj.lib/readme-org.aspectj.lib.html @@ -1,7 +1,13 @@ <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 @@ -32,5 +38,21 @@ is limited: <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 |