https://github.com/pmd/pmd-eclipse-plugin
The pmd-eclipse-plugin integrates the source code analyzer PMD into the Eclipse IDE
https://github.com/pmd/pmd-eclipse-plugin
eclipse eclipse-marketplace pmd
Last synced: 12 days ago
JSON representation
The pmd-eclipse-plugin integrates the source code analyzer PMD into the Eclipse IDE
- Host: GitHub
- URL: https://github.com/pmd/pmd-eclipse-plugin
- Owner: pmd
- License: other
- Created: 2014-04-04T22:37:57.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2025-06-02T00:49:14.000Z (7 months ago)
- Last Synced: 2025-06-06T18:50:44.007Z (7 months ago)
- Topics: eclipse, eclipse-marketplace, pmd
- Language: Java
- Homepage:
- Size: 57.5 MB
- Stars: 94
- Watchers: 14
- Forks: 41
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.TXT
- License: LICENSE.md
Awesome Lists containing this project
README
# PMD Eclipse Plugin
[](https://github.com/pmd/pmd-eclipse-plugin/actions/workflows/build.yml)
[](https://marketplace.eclipse.org/content/pmd-eclipse-plugin)
Release Notes:
Eclipse Update Site:
* Releases:
* Snapshots:
Marketplace: [](http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2755329)
## How to contribute
You can contribute by testing the latest version, creating bug reports, or even forking
the repository on github and create pull requests. Any contributions are welcome!
### Testing the latest version
The plugin requires Java 17 for building.
Then simply build the plugin locally using maven:
./mvnw clean verify
You'll find the zipped update site in the folder `net.sourceforge.pmd.eclipse.p2updatesite/target/`.
Point eclipse to the zip file in this folder as an update-site and install the
latest SNAPSHOT version.
### Bug Reports
Please file any bug reports in the bug tracker at github:
### GitHub Repository
Just fork the the GitHub Repository pmd/pmd-eclipse-plugin and create a pull request.
To get started, see also the next section.
## Short Developer's Guide
### Compilation
Simply run `./mvn clean verify`. The plugin's update site will be generated in
`net.sourceforge.pmd.eclipse.p2updatesite/target/repository`. You can use this directory as
an update site to install the new plugin version directly into your Eclipse.
### Importing the projects in Eclipse
Make sure you have the Maven Integration (m2e - http://eclipse.org/m2e/) installed. Then you can
import *Existing Maven Projects*.
You should see 6 projects:
* net.sourceforge.pmd.eclipse - that's the feature
* net.sourceforge.pmd.eclipse.p2updatesite - generates the update site
* net.sourceforge.pmd.eclipse.parent - the parent pom project
* net.sourceforge.pmd.eclipse.plugin - the actual plugin code
* net.sourceforge.pmd.eclipse.plugin.test - the (unit) tests for the plugin
* net.sourceforge.pmd.eclipse.plugin.test.fragment - an example extension of the plugin used during the tests
### Debugging
You can run eclipse with debugging enabled and connect to it via remote debugging:
eclipse -data workspace-directory -vmargs -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000
### Releasing and updating the official eclipse update site
The update site is hosted on github as a Github Pages site of the repository
.
The release script running on Github Actions will automatically update the repository pmd-eclipse-plugin-p2-site and
add the new release, update the repository metadata (compositeContent.xml and compositeArtifacts.xml
as well as index.md) and push the changes.
The release happens in two phases:
1. Update the repository locally to prepare the new version:
* Update the changelog
* Update the versions
* Create a tag
* Update the changelog for the next version
* Update the versions
2. Push the changes and the tag. The [Github Actions build](https://github.com/pmd/pmd-eclipse-plugin/actions) will
then publish the new version on [update site](https://github.com/pmd/pmd-eclipse-plugin-p2-site/) and
[github releases](https://github.com/pmd/pmd-eclipse-plugin/releases). It will also upload the update site
to [sourceforge](https://sourceforge.net/projects/pmd/files/pmd-eclipse/zipped/) and create a sourceforge
[blog entry](https://sourceforge.net/p/pmd/news/).
#### Script
See `do-release.sh`.
Verify, that the zipped update site has been uploaded to
[GitHub Releases](https://github.com/pmd/pmd-eclipse-plugin/releases) and [sourceforge](https://pmd.github.io/pmd-eclipse-plugin-p2-site/)
and that a [news blog entry](https://sourceforge.net/p/pmd/news/) has been created on sourceforge.
### Updating the used PMD version
The parent pom contains the property `pmd.version`. This is used inside the plugin module, to resolve the dependencies.
In order to change the PMD version, change this property and rebuild (`mvn clean package`). In case PMD has some
changed (added/removed) transitive dependencies, you'll need to update `n.s.p.e.plugin/META-INF/MANIEFEST.MF` as well.
All transitive dependencies are copied into the folder `n.s.p.e.plugin/target/lib` during the build.
## Useful References
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*