Name |
PMD plugin |
---|---|
Version |
2.1.3 |
Product Versions |
1.2.x/2.x |
Author(s) |
|
Homepage |
http://confluence.atlassian.com/display/CODEGEIST/PMD+plugin |
Price |
Free |
License |
|
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.0.x)/pmd_bamboo-2.1.3.jar (supports 2.1.x) |
Download Source |
Description/Features
A plugin that will parse and record PMD static analysis reports
Upgrading to Bamboo 2.1
The 2.0.3 version of the PMD plugin is not compatible with Bamboo 2.1. If you are upgrading from Bamboo 2.0 to 2.1, then you will also need to use the latest version of the PMD plugin
Usage
- Copy the pmd_bamboo-2.1.2.jar file into your <BAMBOO_HOME>/webapp/WEB-INF/lib directory and restart Bamboo
- 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.
- 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 |
---|---|---|
2.1.3 |
22 Aug 2009 |
Updated plugin to support Bamboo 2.3 |
2.1.2 |
29 Jan 2009 |
Included priority 4 violations in output(PMD-15) |
2.1.1 |
9 August 2008 |
Updated chart to display separate violation priorities(PMD-12) |
2.1.0 |
8 August 2008 |
Recompiled plugin to support Bamboo 2.1 |
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
Screenshots |
||
---|---|---|
29 Comments
Ross Rowe
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
Tatu Lahtela
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.
AjayA
Many thank to Ross for fixing the incomatibility with Bamboo 1.2 in the PMD 1.0.2 release.
Ofer Matan
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 ?
Jérôme Ruillier
Same problem here... anyone ?
Ross Rowe
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
Alan M
Are there any plans to move this to Bamboo 2?
Ross Rowe
Yes, version 2.0.3 should already support Bamboo 2.0
Dominik Kapusta
it would be really nice if the chart could distinguish between priorities. one graph line per one priority level. regards
Ross Rowe
Hi Dominik, sounds like a good idea, I've raised this as an issue (PMD-12, hopefully I'll be able to get around to looking at this sometime soon.
Cheers,
Ross
Ross Rowe
Hi again, I've updated the chart to display the counts for the separate priorites, which is now available in version 2.1.1.
Cheers,
Ross
Henrik Johansson
Hi guys,
Tanks for the really cool plugin Ross!
I do seem to experience a minor issue though... I cant really see most of the screenshots though.
We are running Bamboo 2.0.6 build 808 and plugin version 2.0.3.
I can see the violation over time graph but thats about it, none of the cooler summary stats that you screens show .
Could it be that a bamboo upgrade is needed for this?
Cheers!
Henrik
Ross Rowe
Hi Henrik, I'm not sure why the PMD information isn't appearing...it might be because the plugin can't find the PMD report XML files? Would you be able to send me a copy (to piaross@gmail.com) of your bamboo.log file so that I can take a look? The latest version of the plugin supports Bamboo 2.1, so you might want to give that a shot too.
Thanks,
Ross
blabloe
Great plugin, wich shows nice overall information covering multiple builds. However the graph showing the PMD ups and downs between the builds is missing the number of PMD violations on the Y axis. Further more it shows the differences between weeks (7 days), not days (as shown in the screenshots). Of course it is usefull to see progress between weeks, but it would also be usefull to see differences between days and even months. Hope these features can be implemented over time.
Ross Rowe
Thanks for the feedback...I looked into the display of the PMD graphs a while ago, and I think the behaviour you mentioned was a 'feature' of the underlying graphing libraries used by Bamboo. However, I'll try to take another look at it.
Thanks,
Ross
blabloe
"Fixed" the Y-axis problem. When there's only one violation, there's no need for a y axis (I guess there's no such thing as a 0,5 violation )
Mathieu Filotto
Hi,
Is there a way to prevent the PMDBuildProcessor to resolve doctype in xml files ?
Cause it generates many many errors trying to find unreachable dtds and urls.
Thanks
Math
Ross Rowe
Hi Mathieu, yep it should be do-able, I've raised PMD-16 to cover the change.
Cheers,
Ross
Ryan Rich
Do we need a new build of this plugin to use it with Bamboo 2.2.x?
Ross Rowe
Hi Ryan, I'm pretty sure the latest version of the plugin supports Bamboo 2.2, but I'll double check and let you know.
Cheers,
Ross
Ross Rowe
Hi again, I've just checked my environment, and the latest build of the PMD plugin seems to work okay with Bamboo 2.2.x.
Cheers,
Ross
Ryan Rich
Thanks for looking into that Ross.
-Ryan
user-af67b
Is it possible to add CPD into the mix? And possible allow CPD-only integration? For example, we have a C++/Python project in our Bamboo - and it would be great to just see the CPD output, without all the java analytics.
Ross Rowe [Atlassian]
Hi Evgeny, yep, it should be possible to add support for CPD, would you be able to raise a Jira issue for this functionality?
Thanks,
Ross
Thomas Landgraf
Hi,
with Bamboo 2.3 we get the error
Thomas
Ross Rowe
Hi Thomas, version 2.1.3 should work okay with Bamboo 2.3.
Cheers,
Ross
Matt Drees
Hi Ross,
Version 2.1.3 of the pmd plugin appears to not be backwards-compatible. When I installed it on our Bamboo 2.1.4 instance, the build log showed the following:
I downgraded the pmd plugin to version 2.1.2, and it ran fine.
Thanks for your work on this plugin!
-Matt
Erik Reedstrom
Ross,
Version 2.1.3 is causing Bamboo to fail startup on Bamboo 2.3.1 build 1402 with the following:
Removing the plugin solves the problem, but obviously this isn't a solution.
Thanks in advance!
Ross Rowe
Hi, I've just recompiled the plugin, could you let me know if it fixes the problem?
Thanks,
Ross