You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

modules.adoc 4.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. = AspectJ Modules
  2. There are a number of different structures [Parnas]: "the module structure, the uses structure, the runtime structure,
  3. ..." This document overviews module structure and summarizes what is hidden by each. For detailed documentation refer to
  4. the individual module sources and docs available via CVS.
  5. == Core Modules
  6. *CVS Location:* dev.eclipse.org:/cvsroot/technology/org.aspectj/modules
  7. To set up for building, one need only check out the module directories within the `modules/` directory. In Eclipse,
  8. check out each module into the workspace as a project. (Note: module dependencies may change at any time, so this
  9. documentation might be out of date. The Eclipse .classpath files specify the module dependencies, even when using Ant to
  10. build outside of Eclipse.)
  11. |===
  12. | *Module* | *Dependencies* | *Description*
  13. | ajde | asm, bridge, org.aspectj.ajdt.core, org.eclipse.jdt.core, util | Hides the details of accessing the AspectJ
  14. compiler and interpreting compilation results (error messages, structure model, etc.) from other applications (typically
  15. IDEs) that need to invoke it programmatically. Changing any public interface in ajde can break all the IDE integration
  16. projects and should be done with care. +
  17. +
  18. It also contains a library of common swing user interface components that can be used by any swing based IDE. The
  19. non-eclipse IDE integration projects use this library (except for the emacs support).
  20. | asm | bridge | Contains the Abstract Structure Model, which represents the result of an aspectj compilation. Clients
  21. of ajde are returned an instance of the structure model which allows them to navigate and interpret the static structure
  22. of an aspectj program.
  23. | bridge | util | Contains an interface and implementation of classes realted to compiler messages including: source
  24. locations, handling, and formatting. Intended to minimize dependencies between testing, the compiler, and
  25. ajde.
  26. | org.aspectj.ajdt.core | asm, bridge, org.eclipse.jdt.core, runtime, testing-util, util, weaver | Front-end of the
  27. AspectJ compiler and extension of Eclipse's JDT compiler. Extends the JDT compiler's parsing and name resolution to
  28. understand AspectJ declarations. Also extends incremental behavior with understanding of AspectJ dependencies.
  29. | org.eclipse.jdt.core | | The Eclipse JDT compiler, slightly patched for AspectJ and stored in binary form to avoid
  30. accidental changes. Sources are available in CVS at dev.eclipse.org:/cvsroot/technology/org.aspectj/shadows.
  31. | runtime | | Small runtime library required for building and running AspectJ programs
  32. | taskdefs | bridge, org.aspectj.ajdt.core, util | Ant taskdef for the AspectJ compiler/weaver, ajc.
  33. | util | | Common utility classes including data type, file, and stream manipulation
  34. | weaver | asm, bridge, runtime, testing-util, util | Back-end of the AspectJ compiler, built on top of the BCEL
  35. bytecode toolkit. All advice planning and weaving is done here. Takes an aspect bytecode format and other Java
  36. classfiles as input.
  37. |===
  38. == Supporting Modules
  39. *CVS Location:* dev.eclipse.org:/cvsroot/technology/org.aspectj/modules
  40. |===
  41. | *Module* | *Description*
  42. | build | Ant files, scripts, taskdefs required for building the AspectJ distribution. Also contains the GUI installer.
  43. | docs | Programmer and developer documentation
  44. | lib | Libraries required for building AspectJ
  45. | testing | Test support classes
  46. | testing-client | Client used for running the harness and reporting results
  47. | testing-drivers | Testing harness drivers and support classes
  48. | testing-util | Common testing utility classes used by the unit test suites in the core modules
  49. | tests | AspectJ test suite, including all language tests, regression tests, and test system sources
  50. |===
  51. == Eclipse AspectJ Development Tools (AJDT)
  52. *CVS Location:* dev.eclipse.org:/cvsroot/technology/org.eclipse.ajdt/plugins/org.eclipse.ajdt
  53. |===
  54. | *Plug-in* | *Dependencies* | *Description*
  55. | org.eclipse.ajdt.ui | org.aspectj.ajde | AspectJ IDE support for Eclipse
  56. | org.aspectj.ajde | ajde, asm, bridge | AspectJ libraries plug-in
  57. |===