PMD plugin

Name PMD plugin
Version 2.0.3
Product Versions 1.2.x/2.x
Author(s) Ross Rowe
Homepage http://confluence.atlassian.com/display/CODEGEIST/PMD+plugin
Price Free
License BSD
JavaDocs See pmd_bamboo.zip
IssueTracking http://developer.atlassian.com/jira/browse/PMD
Subversion URL https://svn.atlassian.com/svn/public/contrib/bamboo/bamboo-pmd-plugin or browse via fisheye
Download JAR pmd_bamboo-1.0.7.jar (supports 1.2.x)/pmd_bamboo-2.0.3.jar (supports 2.x)
Download Source pmd_bamboo.zip

Description/Features

A plugin that will parse and record PMD static analysis reports

Usage

  1. Copy the pmd_bamboo-2.0.3.jar file into your <BAMBOO_HOME>/webapp/WEB-INF/lib directory and restart Bamboo
  2. In the configuration of your plan, there should be a new PMD section on the 'Builder Configuration' tab. Here you can specify whether your plan generates PMD reports, and if so, the location of the XML report file.
  3. That should be it, you should now see a PMD tab on your Plan and on any new builds that generate PMD report files.

Feel free to contact me if you've got any comments/queries about the plugin!

Jira Issues

Version History

Version Date Description
1.0.7 7 April 2008 Ensured delta is correctly calculated from multiple result files (PMD-10)
1.0.6 15 November 2007 Removed % symbol from results page (PMD-8)
1.0.5 26 July 2007 Resolved error that affected display of Authors page
1.0.4 24 July 2007 Ensured violation counts get appended rather than replaced when processing multiple files
1.0.3 16 July 2007 Fixed IndexOutOfBoundsException
1.0.2 16 July 2007 Updated to support Bamboo 1.2
1.0.0 12 May 2007 Final version for submission
0.9.1 8 May 2007 Show the classes with the most violations on the build results page
0.9.0 25 April 2007 Initial stable version

Screenshots

Labels

codegeist_2007_bamboo codegeist_2007_bamboo Delete
plugin plugin Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 23, 2007

    Ross Rowe says:

    Just FYI, I've released version 1.0.1 in response to PMD1

    Just FYI, I've released version 1.0.1 in response to PMD-1.

    The 1.0.1 jar file can be obtained from http://developer.atlassian.com/jira/secure/attachment/10611/pmd_bamboo-1.0.1.jar

  2. Jul 11, 2007

    Tatu Lahtela says:

    This does not work with Bamboo 1.2? &nbsp;My log says INFO&nbsp;&nbsp; \ jvm 1&n...

    This does not work with Bamboo 1.2?

     My log says

    INFO   | jvm 1    | 2007/07/11 21:06:16 | 2007-07-11 21:06:16,250 ERROR [WrapperSimpleAppMain] [DefaultPluginManager] There was an error loading the descriptor 'View PMD Result' of plugin 'com.atlassian.bamboo.plugins.pmd'. Disabling.
    INFO   | jvm 1    | 2007/07/11 21:06:16 | java.lang.NoClassDefFoundError: com/atlassian/bamboo/build/AbstractBuildAction
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.lang.ClassLoader.defineClass1(Native Method)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.lang.ClassLoader.defineClass(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.security.SecureClassLoader.defineClass(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.net.URLClassLoader.defineClass(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.net.URLClassLoader.access$000(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.net.URLClassLoader$1.run(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.security.AccessController.doPrivileged(Native Method)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.net.URLClassLoader.findClass(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.lang.ClassLoader.loadClass(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.lang.ClassLoader.loadClass(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:211)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:195)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.opensymphony.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:96)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.opensymphony.xwork.ObjectFactory.getClassInstance(ObjectFactory.java:88)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.opensymphony.xwork.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:175)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.opensymphony.xwork.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:116)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.opensymphony.xwork.ObjectFactory.buildAction(ObjectFactory.java:101)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.plugin.descriptor.XWorkModuleDescriptor.addAction(XWorkModuleDescriptor.java:262)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.plugin.descriptor.XWorkModuleDescriptor.getPackages(XWorkModuleDescriptor.java:107)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.plugin.descriptor.XWorkModuleDescriptor.getPackages(XWorkModuleDescriptor.java:478)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.plugin.descriptor.XWorkModuleDescriptor.init(XWorkModuleDescriptor.java:457)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:85)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.plugin.descriptor.XWorkModuleDescriptor.enabled(XWorkModuleDescriptor.java:61)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.plugin.DefaultPluginManager.addPlugin(DefaultPluginManager.java:274)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.plugin.DefaultPluginManager.init(DefaultPluginManager.java:72)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.container.BambooContainer.init(BambooContainer.java:157)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.container.BambooContainer.initialise(BambooContainer.java:124)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.upgrade.UpgradeLauncher.initialiseBambooContainer(UpgradeLauncher.java:149)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:94)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:37)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:497)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.jetty.plus.PlusWebAppContext.doStart(PlusWebAppContext.java:149)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.util.Container.start(Container.java:72)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.http.HttpServer.doStart(HttpServer.java:753)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.jetty.plus.Server.doStart(Server.java:153)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.mortbay.util.Container.start(Container.java:72)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at com.atlassian.bamboo.server.Server.main(Server.java:58)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.lang.reflect.Method.invoke(Unknown Source)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
    INFO   | jvm 1    | 2007/07/11 21:06:16 |     at java.lang.Thread.run(Unknown Source)  

    And when you trace the file and yes - its not there anymore in  atlassian-bamboo-web 1.2.

  3. Jul 16, 2007

    Ajay Sridhar says:

    Many thank to Ross for fixing the incomatibility with Bamboo 1.2 in the PMD 1.0....

    Many thank to Ross for fixing the incomatibility with Bamboo 1.2 in the PMD 1.0.2 release.
         
     

  4. Feb 27

    Ofer Matan says:

    I've installed the plugin on two instances of bamboo. On one it works like a cha...

    I've installed the plugin on two instances of bamboo. On one it works like a charm on the other, the build report works, but the project plan PMD summary graph shows all zeros.  Any ideas ?

  5. Apr 11

    Jérôme Ruillier says:

    Same problem here... anyone ?

    Same problem here... anyone ?

    1. Apr 11

      Ross Rowe says:

      Would you be able to raise a Jira issue (at

      Would you be able to raise a Jira issue (at http://developer.atlassian.com/jira/browse/PMD), and provide me with some information on the version of Bamboo you're running, plus the PMD report file if possible, so that I can try to replicate it?

      Thanks,

      Ross

  6. May 13

    Alan Mosely says:

    Are there any plans to move this to Bamboo 2?

    Are there any plans to move this to Bamboo 2?

    1. May 13

      Ross Rowe says:

      Yes, version 2.0.3 pmdbamboo2.0.3.jar should already support Bamboo 2.0

      Yes, version 2.0.3 should already support Bamboo 2.0