{"id":28708323,"url":"https://github.com/pmd/pmd-eclipse-plugin","last_synced_at":"2025-12-30T18:06:03.242Z","repository":{"id":15716623,"uuid":"18454681","full_name":"pmd/pmd-eclipse-plugin","owner":"pmd","description":"The pmd-eclipse-plugin integrates the source code analyzer PMD into the Eclipse IDE","archived":false,"fork":false,"pushed_at":"2025-06-02T00:49:14.000Z","size":60269,"stargazers_count":94,"open_issues_count":32,"forks_count":41,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-06-06T18:50:44.007Z","etag":null,"topics":["eclipse","eclipse-marketplace","pmd"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.TXT","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-04-04T22:37:57.000Z","updated_at":"2025-05-30T19:08:11.000Z","dependencies_parsed_at":"2023-12-19T01:02:23.877Z","dependency_job_id":"ac630f66-b05a-4e0d-9830-1bcd9e182352","html_url":"https://github.com/pmd/pmd-eclipse-plugin","commit_stats":{"total_commits":1294,"total_committers":25,"mean_commits":51.76,"dds":0.2921174652241113,"last_synced_commit":"e5f76d368c57b3cc8c866590d85a2ad9e6b38a28"},"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"purl":"pkg:github/pmd/pmd-eclipse-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fpmd-eclipse-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fpmd-eclipse-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fpmd-eclipse-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fpmd-eclipse-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmd","download_url":"https://codeload.github.com/pmd/pmd-eclipse-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fpmd-eclipse-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259560312,"owners_count":22876586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eclipse","eclipse-marketplace","pmd"],"created_at":"2025-06-14T18:10:43.012Z","updated_at":"2025-12-30T18:06:03.208Z","avatar_url":"https://github.com/pmd.png","language":"Java","readme":"# PMD Eclipse Plugin\n\n[![Build Status](https://github.com/pmd/pmd-eclipse-plugin/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/pmd/pmd-eclipse-plugin/actions/workflows/build.yml)\n[![Eclipse Marketplace](https://img.shields.io/eclipse-marketplace/v/pmd-eclipse-plugin.svg)](https://marketplace.eclipse.org/content/pmd-eclipse-plugin)\n\nRelease Notes: \u003chttps://github.com/pmd/pmd-eclipse-plugin/blob/main/ReleaseNotes.md\u003e\n\nEclipse Update Site:\n\n*   Releases: \u003chttps://pmd.github.io/pmd-eclipse-plugin-p2-site/\u003e\n*   Snapshots: \u003chttps://pmd.github.io/pmd-eclipse-plugin-p2-site/snapshot/\u003e\n\nMarketplace: [![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)\n\n## How to contribute\n\nYou can contribute by testing the latest version, creating bug reports, or even forking\nthe repository on github and create pull requests. Any contributions are welcome!\n\n\n### Testing the latest version\n\nThe plugin requires Java 17 for building.\n\nThen simply build the plugin locally using maven:\n\n    ./mvnw clean verify\n\nYou'll find the zipped update site in the folder `net.sourceforge.pmd.eclipse.p2updatesite/target/`.\nPoint eclipse to the zip file in this folder as an update-site and install the\nlatest SNAPSHOT version.\n\n\n### Bug Reports\n\nPlease file any bug reports in the bug tracker at github:\n\n\u003chttps://github.com/pmd/pmd-eclipse-plugin/issues\u003e\n\n### GitHub Repository\n\nJust fork the the GitHub Repository pmd/pmd-eclipse-plugin and create a pull request.\n\n\u003chttps://github.com/pmd/pmd-eclipse-plugin/\u003e\n\nTo get started, see also the next section.\n\n\n## Short Developer's Guide\n\n### Compilation\nSimply run `./mvn clean verify`. The plugin's update site will be generated in\n`net.sourceforge.pmd.eclipse.p2updatesite/target/repository`. You can use this directory as\nan update site to install the new plugin version directly into your Eclipse.\n\n### Importing the projects in Eclipse\nMake sure you have the Maven Integration (m2e - http://eclipse.org/m2e/) installed. Then you can\nimport *Existing Maven Projects*.\nYou should see 6 projects:\n\n* net.sourceforge.pmd.eclipse - that's the feature\n* net.sourceforge.pmd.eclipse.p2updatesite - generates the update site\n* net.sourceforge.pmd.eclipse.parent - the parent pom project\n* net.sourceforge.pmd.eclipse.plugin - the actual plugin code\n* net.sourceforge.pmd.eclipse.plugin.test - the (unit) tests for the plugin\n* net.sourceforge.pmd.eclipse.plugin.test.fragment - an example extension of the plugin used during the tests\n\n### Debugging\nYou can run eclipse with debugging enabled and connect to it via remote debugging:\n\n    eclipse -data workspace-directory -vmargs -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000\n\n\n### Releasing and updating the official eclipse update site\n\nThe update site is hosted on github as a Github Pages site of the repository\n\u003chttps://github.com/pmd/pmd-eclipse-plugin-p2-site/\u003e.\n\nThe release script running on Github Actions will automatically update the repository pmd-eclipse-plugin-p2-site and\nadd the new release, update the repository metadata (compositeContent.xml and compositeArtifacts.xml\nas well as index.md) and push the changes.\n\nThe release happens in two phases:\n\n1.  Update the repository locally to prepare the new version:\n    *   Update the changelog\n    *   Update the versions\n    *   Create a tag\n    *   Update the changelog for the next version\n    *   Update the versions\n2.  Push the changes and the tag. The [Github Actions build](https://github.com/pmd/pmd-eclipse-plugin/actions) will\n    then publish the new version on [update site](https://github.com/pmd/pmd-eclipse-plugin-p2-site/) and\n    [github releases](https://github.com/pmd/pmd-eclipse-plugin/releases). It will also upload the update site\n    to [sourceforge](https://sourceforge.net/projects/pmd/files/pmd-eclipse/zipped/) and create a sourceforge\n    [blog entry](https://sourceforge.net/p/pmd/news/).\n\n\n#### Script\n\nSee `do-release.sh`.\n\nVerify, that the zipped update site has been uploaded to\n[GitHub Releases](https://github.com/pmd/pmd-eclipse-plugin/releases) and [sourceforge](https://pmd.github.io/pmd-eclipse-plugin-p2-site/)\nand that a [news blog entry](https://sourceforge.net/p/pmd/news/) has been created on sourceforge.\n\n### Updating the used PMD version\nThe parent pom contains the property `pmd.version`. This is used inside the plugin module, to resolve the dependencies.\nIn order to change the PMD version, change this property and rebuild (`mvn clean package`). In case PMD has some\nchanged (added/removed) transitive dependencies, you'll need to update `n.s.p.e.plugin/META-INF/MANIEFEST.MF` as well.\nAll transitive dependencies are copied into the folder `n.s.p.e.plugin/target/lib` during the build.\n\n\n## Useful References\n\n* \u003chttp://wiki.eclipse.org/Equinox/p2/Publisher\u003e\n* \u003chttp://wiki.eclipse.org/Equinox_p2_Repository_Mirroring\u003e\n* \u003chttp://wiki.eclipse.org/Category:Tycho\u003e\n* \u003chttp://wiki.eclipse.org/Tycho/Additional_Tools\u003e\n* \u003chttp://codeiseasy.wordpress.com/2012/07/26/managing-a-p2-release-repository-with-tycho/\u003e\n* \u003chttp://wiki.eclipse.org/Tycho/Demo_Projects\u003e\n* \u003chttp://wiki.eclipse.org/Tycho/Reference_Card\u003e\n* \u003chttp://eclipse.org/tycho/sitedocs/index.html\u003e\n* \u003chttps://docs.sonatype.org/display/M2ECLIPSE/Staging+and+releasing+new+M2Eclipse+release\u003e\n* \u003chttp://wiki.eclipse.org/Tycho/Packaging_Types\u003e\n* \u003chttp://wiki.eclipse.org/Tycho/Reproducible_Version_Qualifiers\u003e\n* \u003chttp://www.vogella.com/articles/EclipseTycho/article.html\u003e\n* \u003chttp://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp01/tycho.demo.itp01.tests/pom.xml\u003e\n* \u003chttp://www.sonatype.com/people/2008/11/building-eclipse-plugins-with-maven-tycho/\u003e\n* \u003chttp://zeroturnaround.com/labs/building-eclipse-plug-ins-with-maven-3-and-tycho/\u003e\n* \u003chttps://github.com/open-archetypes/tycho-eclipse-plugin-archetype\u003e\n* \u003chttp://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmd%2Fpmd-eclipse-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmd%2Fpmd-eclipse-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmd%2Fpmd-eclipse-plugin/lists"}