From 7d44a8a3a5014d65eee923b210e378049e3407b2 Mon Sep 17 00:00:00 2001 From: mkersten Date: Tue, 15 Jul 2003 12:11:39 +0000 Subject: [PATCH] Updated module docs. --- docs/developer/modules.html | 468 +++++++++++++++++++++++++++++------ docs/developer/overview.html | 2 +- 2 files changed, 399 insertions(+), 71 deletions(-) diff --git a/docs/developer/modules.html b/docs/developer/modules.html index 14b8e01b9..29c1f1abe 100644 --- a/docs/developer/modules.html +++ b/docs/developer/modules.html @@ -142,80 +142,408 @@

AspectJ Modules

-

There are a number of different structures [Parnas] : the module structure, -the uses structure, the runtime structure,… We focus first on the module -structure as found in the org.aspectj and org.eclipse.ajdt cvs roots.
-
-The CVS modules are all rooted at dev.eclipse.org:/home/technology.

- -

Core Modules

-

ajbrowser

-

This module contains the ajbrowser application. It depends on the ajde module +

There are a number of different structures [Parnas]: "the module structure, +the uses structure, the runtime structure, .."  This document overviews module structure and summarizes what is hidden by each. +For detailed documentation refer to the individual module sources and docs +available via CVS.

+

Core Modules

+

CVS Location: dev.eclipse.org:/home/technology/org.aspectj/modules

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Module

+

Dependencies

+

+ Description

+

ajbrowser

+

ajde, asm, bridge, taskdefs, util

+

+ This module contains the ajbrowser application. It depends on the ajde module for access to the aspectj compiler, and also for the swing user interface -components that ajde provides. -

ajde

-

This module hides the details of accessing the aspectj compiler and interpreting -compilation results (error messages, structure model etc.) from other -applications (typically IDEs) that need to invoke it programmatically.
-
-It also contains a library of common swing user interface components that can be -used by any swing based IDE. Ajbrowser and the non-eclipse IDE integration -projects use this library (except for the emacs support).
+components that ajde provides.

+

ajde

+

asm, bridge, + org.aspectj.ajdt.core, org.eclipse.jdt.core, util

+

+ Hides the details of accessing the aspectj compiler + and interpreting compilation results (error messages, structure + model, etc.) from other applications (typically IDEs) that need + to invoke it programmatically. + Changing any public interface in ajde can break all the IDE + integration projects and should be done with care.

-Note: we need to separate the ajde component into two – ajde.core and ajde.ui. -The core should be independent of the ui component (currently this isn’t quite -true). This will allow non-swing based applications that need to integrate with -the aspectj compiler to do so without needing to provide a swing environment. -The issue is most pressing on Mac OS X where AJDT fails to load due to conflicts -between Eclipse’s SWT and swing
-
-Changing any public interface in ajde can break all the IDE integration projects -and should be done with care.

-

asm

-

This module contains the Abstract Structure Model which represents the result of + It also contains a library of common swing user interface + components that can be used by any swing based IDE. Ajbrowser + and the non-eclipse IDE integration projects use this library + (except for the emacs support).

+

asm

+

bridge

+

+ Contains the Abstract Structure Model, which represents the result of an aspectj compilation. Clients of ajde are returned an instance of the -structure model which allows them to navigate and interpret the structure of a -compiled aspectj program.

-

bridge

-

...

-

org.aspectj.ajdt.core

-

...

-

org.eclipse.jdt.core

-

...

-

runtime

-

...

-

taskdefs

-

...

-

util

-

...

-

weaver

-

...
+structure model which allows them to navigate and interpret the static structure of an aspectj program.

+

bridge

+

util

+

+ Contains an interface and implementation of classes realted to + compiler messages including: source locations, handling, and + formatting.  Intended to minimize dependencies between + testing, the compiler, and ajde.

+

org.aspectj.ajdt.core

+

asm, bridge, org.eclipse.jdt.core, + runtime, testing-util, util, weaver

+

+ Front-end of the AspectJ compiler and extension of Eclipse's JDT compiler.  + Extends the JDT compiler's parsing and name resolution to + understand AspectJ declarations.  Also extends incremental + behavior with understanding of AspectJ dependancies.

+

org.eclipse.ajdt.core

+

 

+

+ The additional extensibility needed from the JDT compiler is + captured by these deltas.

+

runtime

+

 

+

+ Small runtime library required for building and running AspectJ + programs.

+

taskdefs

+

bridge, org.aspectj.ajdt.core, + util

+

+ Ant taskdefs for the ajc and ajdoc command line tools.

+

util

+

 

+

+ Common utility classes including data type, file, and stream + manipulation.

+

weaver

+

asm, bridge, runtime, testing-util, + util

+

+ Back-end of the AspectJ compiler, built on top of the BCEL + bytecode toolkit.  All advice planning and weaving is done + here.  Takes an aspect bytecode format and other Java + classfiles as input. 

Supporting Modules

+

CVS Location: dev.eclipse.org:/home/technology/org.aspectj/modules

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Module

+

+ Description

+

build

+

+ Ant files, scripts, and taskdefs required for building the + AspectJ distribution.  Also contains the GUI installer.

+

docs

+

+ Programmer and developer documentation.

+

lib

+

+ Libraries required for building AspectJ.

+

testing

+

+ Test support classes.

+

testing-client

+

+ Client used for running the harness and reporting results.

+

testing-drivers

+

+ Testing harness drivers and support classes.

+

testing-util

+

+ Common testing utility classes.

+

tests

+

+ AspectJ test suite, including all language tests, regression + tests, and test system sources.

+ +

Eclipse Support (AJDT)

+

CVS Location: dev.eclipse.org:/home/technology/org.eclipse.ajdt/plugins/org.eclipse.ajdt

+ + + + + + + + + + + + + + + + + +
+

+ Plug-in

+

Dependencies

+

+ Description

+

org.eclipse.ajdt.ui

+

org.aspectj.ajde

+

+ AspectJ IDE support for Eclipse.

+

org.aspectj.ajde

+

ajde, asm, bridge

+

+ AspectJ libraries plug-in.

JBuilder Support

+

CVS Location: +cvs.aspectj4jbuildr.sourceforge.net:/cvsroot/aspectj4jbuildr

+ + + + + + + + + + + + +
+

+ OpenTool

+

Dependencies

+

+ Description

+

jbuilder

+

ajde, asm, bridge

+

+ AspectJ IDE support for JBuilder.


-Supporting Modules -

build

-

...

-

docs

-

...

-

lib

-

...

-

releases

-

...

-

testing

-

...

-

testing-client

-

...

-

testing-drivers

-

...

-

testing-util

-

...

-

tests

-

...

+

NetBeans Support

+

CVS Location: +cvs.aspectj4netbean.sourceforge.net:/cvsroot/aspectj4netbean

+ + + + + + + + + + + + +
+

Module

+

Dependencies

+

+ Description

+

netbeans

+

ajde, asm, bridge

+

+ AspectJ IDE support for NetBeans and SunONE Studio.

Emacs Support

+

CVS Location: +cvs.aspectj4emacs.sourceforge.net:/cvsroot/aspectj4emacs

+ + + + + + + + + + + + +
+

Module

+

Dependencies

+

+ Description

+

emacs

+

ajde, asm, bridge

+

+ AspectJ support for Emacs and XEmacs.

diff --git a/docs/developer/overview.html b/docs/developer/overview.html index fdd7520d6..17adf1547 100644 --- a/docs/developer/overview.html +++ b/docs/developer/overview.html @@ -162,7 +162,7 @@ product. Those who made the changes, never did. In other words, *nobody* understands the modified product.
Software that has been repeatedly modified (maintained) in this way becomes very expensive to update. Changes take longer and are more likely to introduce new -'bugs'" +'bugs'."

Contents