Skip to end of metadata
Go to start of metadata

Plugin Information

View PMD on the plugin site for more information.

Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:

This plugin generates the trend report for PMD, an open source static code analysis program. 

The PMD plug-in reached end-of-life. It is not supported anymore - all functionality has been integrated into the Warning Plugin.



13 Comments

  1. Hi,

    I can't find 3.0 release on the download Section.

    BokC

    1. Seems that my release process has a bug somewhere. Can't you use the update manager?

      1. No, it's not possible. Hudson isinstaled on a server and for security it don't have acces to web.(wink)

  2. Hello --

    I've constructed a Hudson job to run a PMD static analysis on a medium-is size code base (around 1000 source files).  The xml generated is 138k, 1300 lines so not big.  Using the latest version of your PMD plugin I configure the job to publish the results.  The build of the PMD results takes 7m42s, then the job attempts to publish the results.  It never comes back.  I've let the job run overnight just to see what would happen and it was running in the morning ... over 12 hours ... so I'm figuring it's not going to ever finish.  I see no memory errors in the catalina logs or anything out of the ordinary for that matter.  I've given the ant plenty of memory to play with (2G) for this job, so I don't think that's at issue.  Other jobs come and go during this time so Hudson is still in a good state.  Worse yet I cannot kill the running job from within Hudson either.  Is that a stuck thread?  I have to stop Hudson in order to purge the job.  The tail of the build log for the PMD job looks like this:

         [java] BUILD SUCCESSFUL
         [java] Total time: 4 minutes 11 seconds
    BUILD SUCCESSFUL
    Total time: 7 minutes 42 seconds
    [PMD] Collecting PMD analysis files...

    I run a PMD html formatter on the same xml which takes several seconds to complete, but completes non the less.  Can you explain to me how the PMD plugin is attempting to publish the analysis results?  Is it using a PMD formatter or have you crafted one of your own?

    I've resorted to running my own html formatter in the build on the analysis results and am using the html publisher plugin to get at the results so I'm not blocked, but I would however like to see the PMD plugin results.  Anyways, if I can help further troubleshoot my problem or if you need anything from me to help you understand what's going on, let me know.

    Peace.

    1. Can you please create an issue and attach the PMD result file?

  3. Hello,

    Might have come accross a feature in relation to softlinks when searching for pmd results files.

    I can create a soft link in workspace root to point to another location on disk and the PMD plugin will access this location and search for pmd result files. This works if the result files can be found in a 'directory' in the other location. If however the pmd result files are stored in a third location on disk which is accessed by a softlink from the second location on disk the pmd plugin will not find the results. To me this seems inconsistent as the plugin is already searching softlinks but will not search more than 1 level. Maybe this is a good thing and I can refactor my build script to remove the need for softlinks but just checking if this is the desired way of working.

    So for

    ~/.jenkins/jobs/MyJob/workspace/output@ -> /view/andy_build/vobs/product/output

    and

    /view/andy_build/vobs/product/output/pmd/pmd.xml

    if pmd is an actual directory all works fine but if pmd is a softlink (e.g. /view/andy_build/vobs/product/output/pmd@ -> /view/andy_build/vobs/product/java/results/pmd) it fails.

    All the best.

    1. Hmm, I'm just using the ant libraries to find files and normal Java IO to read these files. I don't see how this could be changed easily. Is you build running on a slave?

      1. I suppose it could be any number of causes (e.g. in my environment) but one to be aware of anyhow.

        I've refactored the build scripts to do away with the nested softlinks so all working perfect now. Just one softlink under workspace root and all files are found.

        Go raibh maith agat.

  4. Hi,(สวัสดีครับ)

    PMD project source code on Eclipse,I want to make a Final Topic.

    I will apply PMD Eclipse plugin for refactoring long method bad smell.

    wpong17@gmail.com

    Thank you,(ขอบคุณครับ)

  5. Hello every one, I need some help on PMD plugin development.
    I want to clone PMD plugin in order that It can show two trend reports for two different PMD
    results in one job! Now I have cloned one with its archive ID called 'cloned-pmd',
    and I changed src package from 'com.hudson.pmd.**' to 'com.hudson.clonedpmd.**',
    and I also change the project action name from 'PMD Warnings' to 'PMD Warnings II'.
    and the report xml file name was changed too.
    After that I built the cloned plugin successfully and fininshed installation in jenkins plugin management page,

    Then I found that the cloned PMD plugin could be added in the job config page successfully,
    however it only displays origional PMD plugin menu with the name 'PMD Warnings' on left side tab,
    my cloned PMD plugin could not show. I have checked that no errors or warnings were printed out
    on the console.
    Did I miss any places to modify in the source code? I will be appreciate for any reply, thanks!

  6. Hello,

    I use PMD plugin 3.45 with PMD with the latest 5.5.1.
    At the end, PMD plugin get the result but during this step, there is an error.
    PMD plugin can't parse xml file.com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Octet 1 de la séquence UTF-8 à 1 octets non valide.

    The latest PMD version which works with 3.45 is 5.4.0.

    Do you know this issue?

    Thanks you,
    Alex

  7. This plug-in provides utilities for the static code analysis plug-ins.
    1.92
    This plug-in collects the PMD analysis results of the project modules and visualizes the found warnings.
    3.49
    This plug-in adds reusable macro expansion capability for other plug-ins to use.
    2.1
    This plug-in provides, for better and for worse, a deep integration of Jenkins and Maven: Automatic triggers between projects depending on SNAPSHOTs, automated configuration of various Jenkins publishers (Junit, ...).
    2.17
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-pmd-plugin:3.8:pmd (default-cli) on project SINGLE_HUB_POM: Execution default-cli of goal org.apache.maven.plugins:maven-pmd-plugin:3.8:pmd failed: Unable to load the mojo 'pmd' in the plugin 'org.apache.maven.plugins:maven-pmd-plugin:3.8'. A required class is missing: org/apache/maven/reporting/AbstractMavenReport [ERROR] ----------------------------------------------------- [ERROR] realm = plugin>org.apache.maven.plugins:maven-pmd-plugin:3.8 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR] urls[0] = file:/home/.m2/org/apache/maven/plugins/maven-pmd-plugin/3.8/maven-pmd-plugin-3.8.jar [ERROR] urls[1] = file:/home/.m2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar [ERROR] Number of foreign imports: 1 [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] [ERROR] [ERROR] -----------------------------------------------------: org.apache.maven.reporting.AbstractMavenReport [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
    1. What is this? A bug report? A question??? This is a maven error unrelated to the plugin.