# AspectJ ## Building AspectJ has a multi module maven build. Although various modules produce intermediate results, the key artifacts at the end of the build are: * `aspectjrt` - the AspectJ runtime * `aspectjweaver` - the AspectJ weaver * `aspectjtools` - the AspectJ compiler These are the artifacts published to maven central for each release. In addition there is an installer that can be run with `java -jar` to install AspectJ onto Windows/Mac/Linux. This installer is produced by the installer sub module. In the root of a cloned AspectJ simply run: `./mvnw clean install` This will build all the modules, run all the tests and install the key artifacts in your local repository. ## Running the tests in eclipse Once you have imported all the projects using `m2e`, close the `org.eclipse.jdt.core` project (TOBEFIXED), then there is a special module called `run-all-junit-tests` and within that a `RunTheseBeforeYouCommitTests` class that can be run with the JUnit launcher. This will execute all the tests in each module plus the compiler tests in the `tests` module. When you close `org.eclipse.jdt.core` you might need to do a maven refresh on the `run-all-junit-tests` project. ## Setting version for release: mvn versions:set -DgroupId=org.aspectj -DartifactId=* -DoldVersion=1.9.3.BUILD-SNAPSHOT -DnewVersion=1.9.3