# pmd-eclipse-plugin **Repository Path**: 3851936/pmd-eclipse-plugin ## Basic Information - **Project Name**: pmd-eclipse-plugin - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-06-26 - **Last Updated**: 2024-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PMD Eclipse Plugin [![Build Status](https://github.com/pmd/pmd-eclipse-plugin/workflows/build/badge.svg?branch=master)](https://github.com/pmd/pmd-eclipse-plugin/actions/?query=workflow%3Abuild+branch%3Amaster) [![Eclipse Marketplace](https://img.shields.io/eclipse-marketplace/v/pmd-eclipse-plugin.svg)](https://marketplace.eclipse.org/content/pmd-eclipse-plugin) Release Notes: Eclipse Update Site: * Releases: * Snapshots: Marketplace: [![Drag to your running Eclipse workspace. Requires Eclipse Marketplace Client](https://marketplace.eclipse.org/sites/all/themes/solstice/public/images/marketplace/btn-install.png)](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 builds with Java 11 but also requires Java 8. This is achieved through [maven toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html). You can use [toolchains.xml](.ci/files/toolchains.xml) from this repo to configure your own `toolchains.xml` file. 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 * * * * * * * * * * * * * * * * *