# eclipse-pmd The eclipse-pmd plug-in integrates the well-known source code analyzer PMD into the Eclipse IDE. Everytime you save your work, eclipse-pmd scans your source code and looks for potential problems like possible bugs and suboptimal, duplicate, dead or overly complicated code. Where possible, eclipse-pmd offers quick fixes that automatically fix the problems. These quick fixes can be used to fix a single problem or all occurrences in your entire code base. ## How to get started You need Eclipse 2019-12 or later and Java 11 or later to run eclipse-pmd. Please follow the instructions on [how to get started with eclipse-pmd](https://eclipse-pmd.github.io/getting-started.html) on the website. ## How to build and install eclipse-pmd Building eclipse-pmd is fairly easy. Please note, however, that building eclipse-pmd is not required if you are only interested in using it, since there is a pre-built version available in the Eclipse Marketplace. ### Requirements You need the following tools: * JDK 11 * Maven 3 * Git ### Build instructions The first thing you need to do is to check out the source code. ``` git clone https://github.com/eclipse-pmd/eclipse-pmd.git cd eclipse-pmd ``` Once you have the source code you can build it with Maven. ``` cd ch.acanda.eclipse.pmd mvn clean verify ``` This will compile, test and build a local repository for eclipse-pmd. If the build was successful you will find the repository in `ch.acanda.eclipse.pmd.repository/target/repository`. ### Installation Once you have built the repository you can install eclipse-pmd by adding a new repository to Eclipse: * from within Eclipse select `Help` > `Install New Software...` * click the button `Add...` of the `Install` dialog * click the button `Local...` of the `Add Repository` dialog * select the folder `ch.acanda.eclipse.pmd.repository/target/repository` * click the button `OK` of the `Add Repository` dialog * select `Eclipse PMD Plug-in` and proceed with the installation From now on you can simply update Eclipse with `Help` > `Check for Updates` after you rebuilt eclipse-pmd. ### Testing against different Eclipse releases Building eclipse-pmd with `mvn clean verify` compiles and tests it against the oldest supported release of Eclipse which is Eclipse 2019-12. To ensure eclipse-pmd also works with newer releases the Eclipse release can be set with the parameter `eclipse-release`. Compile and test against Eclipse 2019-12: `mvn clean verify -Declipse-release=2019-12` Compile and test against Eclipse 2020-03: `mvn clean verify -Declipse-release=2020-03` Compile and test against Eclipse 2020-06: `mvn clean verify -Declipse-release=2020-06` Compile and test against Eclipse 2020-09: `mvn clean verify -Declipse-release=2020-09` Regardless of the chosen release, the built plug-in will always be the same as the one built without the parameter. So there isn't any advantage in building the plug-in yourself if you are using a newer Eclipse release.