|
|
@@ -1,5 +1,13 @@ |
|
|
|
# AspectJ |
|
|
|
|
|
|
|
AspectJ is: |
|
|
|
- a seamless aspect-oriented extension to the Java programming language |
|
|
|
- Java platform compatible |
|
|
|
- easy to learn and use |
|
|
|
|
|
|
|
AspectJ enables: |
|
|
|
- clean modularization of crosscutting concerns, such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, and multi-object protocols |
|
|
|
|
|
|
|
## Building |
|
|
|
|
|
|
|
AspectJ has a multi module maven build. Although various modules produce intermediate results, the key artifacts at the end of the build are: |
|
|
@@ -25,6 +33,16 @@ java -jar installer/target/aspectj-<VERSION>.jar |
|
|
|
Once you have imported all the projects using `m2e`, there is a special module called `run-all-junit-tests` and within that a `RunTheseBeforeYouCommitTests` class that can be run with the JUnit launcher to execute thousands of tests. |
|
|
|
Ensure you run this with a JDK - the more recent the better since some tests will not execute on older JDKs - tests that verify language features that only exist in the more up to date JDK version. |
|
|
|
|
|
|
|
## Documentation |
|
|
|
|
|
|
|
[Complete documentation quicklinks](https://www.eclipse.org/aspectj/docs.php) |
|
|
|
|
|
|
|
[Getting started with AspectJ](https://www.eclipse.org/aspectj/doc/released/progguide/starting.html) |
|
|
|
|
|
|
|
[Programming Guide](https://www.eclipse.org/aspectj/doc/released/progguide/index.html) |
|
|
|
|
|
|
|
[READMEs for each version of AspectJ](https://github.com/eclipse/org.aspectj/tree/master/docs/dist/doc) |
|
|
|
|
|
|
|
## Maven releases |
|
|
|
|
|
|
|
AspectJ is published to maven central under the `org.aspectj` groupID: https://search.maven.org/search?q=g:org.aspectj |