{"id":27100603,"url":"https://github.com/pmd/docker","last_synced_at":"2025-07-09T06:03:31.930Z","repository":{"id":286125653,"uuid":"960316012","full_name":"pmd/docker","owner":"pmd","description":"Repo containing the dockerfiles and scripts to produce the official PMD containers. ","archived":false,"fork":false,"pushed_at":"2025-04-04T14:25:48.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-09T20:58:58.415Z","etag":null,"topics":["containers","docker","dockerfile","dockerhub"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/pmdcode/pmd","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-04-04T08:16:05.000Z","updated_at":"2025-04-04T14:34:37.000Z","dependencies_parsed_at":"2025-04-04T14:22:53.506Z","dependency_job_id":null,"html_url":"https://github.com/pmd/docker","commit_stats":null,"previous_names":["pmd/docker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fdocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fdocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fdocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmd%2Fdocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmd","download_url":"https://codeload.github.com/pmd/docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248111941,"owners_count":21049577,"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":["containers","docker","dockerfile","dockerhub"],"created_at":"2025-04-06T13:20:03.013Z","updated_at":"2025-07-09T06:03:31.923Z","avatar_url":"https://github.com/pmd.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PMD Docker\n\n[![Docker Image Version](https://img.shields.io/docker/v/pmdcode/pmd?sort=semver\u0026label=Docker)](https://hub.docker.com/r/pmdcode/pmd)\n[![Docker Pulls](https://img.shields.io/docker/pulls/pmdcode/pmd)](https://hub.docker.com/r/pmdcode/pmd)\n\nProvides [PMD](https://pmd.github.io) packaged in a Docker image ready to use. It uses the alpine linux\nflavor of [Eclipse Temurin](https://hub.docker.com/_/eclipse-temurin) as the basis.\n\n* **Maintained by:** [PMD](https://github.com/pmd/docker)\n* **Dockerfile:** https://github.com/pmd/docker/blob/main/Dockerfile\n* **Available at these registries:**\n  * https://hub.docker.com/r/pmdcode/pmd (`docker pull pmdcode/pmd`)\n  * https://github.com/pmd/docker/pkgs/container/pmd (`docker pull ghcr.io/pmd/pmd`)\n\n## Quickstart\n\n```\ndocker run --rm --tty -v $PWD:/src pmdcode/pmd:latest check -d . -R rulesets/java/quickstart.xml\n```\n\n## How to use this image\n\n### Verify it works\n\nThis just displays the PMD version.\n\n```\ndocker run --rm --tty pmdcode/pmd:latest --version\n```\n\n### Only using default rulesets\n\nIn order to give access to the source code being analyzed, bind-mount the project source folder\nusing `-v /path/to/project:/project`:\n\n```\ndocker run --rm --tty -v /path/to/project:/project pmdcode/pmd:latest \\\n    check -d /project/src/main/java -R rulesets/java/quickstart.xml\n```\n\n### Writing XML report into a file\n\nSince the bind-mount has write-access by default, you can use it as the output destination for a report file in XML format:\n\n```\ndocker run --rm --tty -v /path/to/project:/project pmdcode/pmd:latest \\\n    check -d /project/src/main/java -R rulesets/java/quickstart.xml -r /project/target/pmd-report.xml -f xml\n```\n\n### Use custom rulesets / rules\n\nIf you use a custom ruleset or rule, you need to add this onto PMD's runtime classpath. By default, the container\nwill pick-up any jar file that is in the folder `/custom-pmd-libs`. That means, you just need to add another\nbind-mount for this:\n\n```\ndocker run --rm --tty -v /path/to/project:/project -v /path/to/custom-rule-jars:/custom-pmd-libs \\\n    pmdcode/pmd:latest check -d /project/src/main/java -R rulesets/java/quickstart.xml\n```\n\n## How to build the docker image\n\n```\nPMD_VERSION=7.12.0; \\\nexport PMD_VERSION; \\\ndocker build --load \\\n    --no-cache \\\n    --progress=plain \\\n    --build-arg PMD_VERSION=$PMD_VERSION \\\n    --tag pmdcode/pmd:$PMD_VERSION \\\n    --tag pmdcode/pmd:latest \\\n    - \u003c Dockerfile\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmd%2Fdocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmd%2Fdocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmd%2Fdocker/lists"}