|
- David Dixon-Peugh - much of the early work on the grammar, initial Emacs plugin
- David Craine - JBuilder plugin
- Philippe Herlin - Eclipse plugin, fixed bugs in RuleSetFactory
- Tom Copeland - lead developer, JDeveloper plugin, Gel plugin, initial jEdit plugin, IDEAJ integration
- Don Leckie - The PMD GUI
- Jiger Patel - jEdit plugin
- Gunnlaugur Thor Briem - NetBeans plugin, Maven build script fixes, bug report on JavaCC parser's use of java.lang.Error
- Ole-Martin Mork - NetBeans plugin
- Tom Burke - Eclipse plugin
- Rich Kilmer - logo design
- Nascif Abousalh Neto - Emacs plugin
- Paul Kendall - various bugfixes and features
- Alex Chaffee - various bugfixes and features
- Siegfried Goeschl - original Maven plugin, various bugfixes and features
- Brian Ewins - complete rewrite of CPD based on the Burrows-Wheeler transform
- Dan Sheppard - XPath engine integration concept and implementation
- Chad Loder - SuspiciousOctalEscapeRule, EmptyStatementNotInLoop, SuspiciousHashcodeMethodName, NonCaseLabelInSwitchStatement, DefaultLabelNotLastInSwitchStmt, NonStaticInitializer, ExplicitCallToFinalize, MethodWithSameNameAsEnclosingClassRuleTest, FinalizeDoesNotCallSuperFinalize, FinalizeOverloaded, FinalizeOnlyCallsSuperFinalize, UnconditionalIfStatement, AvoidDollarSigns, EmptyStaticInitializer, EmptyFinalizerMethod rule, DontImportSun rule, improvements to ASTBooleanLiteral
- Maik Schreiber - AccessNode bug report, other bug reports
- Lokesh Gupta - improvements to the AST viewer
- Jesse Glick - improvements to VariableNamingConventionsRule, patch for UnusedModifierRule, bug fix for VariableNameDeclarations rule, an excellent discussion on the UnnecessaryConstructorRule
- Nicolas Liochon - CloneShouldCallSuperCloneRule implementation
- Philippe Couton - OverrideBothEqualsAndHashcodeRule bug report, UseSingletonRule improvements, JUnitStaticSuiteRule improvements
- Brandon Franklin - many pmd-web ideas
- Slava Pestov - Suggestions for jEdit plugin enhancements.
- Andriy Rozeluk - Suggestions for improving UnnecessaryReturn, AvoidDuplicateLiterals RFEs and bug reports, various other RFEs and thoughtful discussions as well
- Olivier Mengué - Diagnosed and patched XML report character encoding problems
- Hariolf Häfele - PMD-JDeveloper plugin bug reports
- Pieter Bloemendaal - AvoidReassigningParametersRule bug report
- Vladimir Bossicard - suggested AbstractNamingRule, test package organization suggestions, VBHTMLRenderer, numerous feature requests and bug reports, several rule suggestions derived from JUnit-Addons
, evangelism :-)
- Ken Foskey - noticed bad link
- Stephan Janssen - promoted PMD for JJGuidelines
- Ron Sidi - bug reports
- David Koontz - suggestions for tweaking PMD command line options
- Jeff Epstein - TextPad integration and tests
- Gabe Johnson - CloseConnectionRule
- Roelof Vuurboom - posted report of QStudio analysis of PMD
- Jeff Anderson - node finding utility code
- Boris Gruschko - regression test suites, nifty AST/XPath viewer
- Trevor Harmon - rewrote XSLT script
- Vadim Nasardinov - xdocs cleanup, run.sh cleanup
- Sreenivasa Viswanadha - grammar cleanup for Ctrl-Z problem
- Sigiswald Madou - bug report
- Dan Tullis - bug report
- George Menhorn - CPD bug reports and suggestions
- Paul Roebuck - Ant build improvement, several bug reports
- Jon A. Maxwell - Bug report
- Erik Lee - Bug report
- Joerg K. Wegner - pmd-web suggestions
- Chris Webster - fix (and test) for UnnecessaryConstructorRule, BooleanInstantiation rule
- Colin Simmonds - detailed bug reports
- Trond Andersen - AvoidCatchingThrowable, ExceptionSignatureDeclaration, ExceptionTypeChecking
- Bernd Jansen - grammer modification
- Jarle Naess - bug report
- Jeff Anderson - VariableNamingConventionsRule, MethodNamingConventionsRule, ClassNamingConventionsRule
- Frank van Puffelen - documentation suggestions
- Conrad Roche - bug report
- mcclain looney - patch for CPD GUI, bug reports
- Ralf Hauser - Various documentation suggestions, cygwin-run.sh
- Pablo Casado - Bug report for UseSingletonRule
- Nicolai Czempin - Various rule suggestions, additional PMD backronyms
- Frank Hardisty - BeanMembersShouldSerializeRule
- Randall Schulz - bug report for LooseCouplingRule
- Wim Bervoets - bug report for the PMD Ant task
- Niels Peter Strandberg - various tweaks to the PMD Swing UI
- Ian Shef - documentation updates, bug reports on the Gel IDE plugin
- Astro Jetson Jr - a tweak for the ShortVariableNameRule
- Paul King - a complete rewrite of the Gel plugin
- Gael Marziou - "exclude" rule feature request, bug reports
- Philippe T'Seyen - refactoring and cleanup of the CPD Ant task, an XML renderer (with unit tests!) for CPD
- Michael Montuori - bug reports on the Gel IDE plugin
- Michael Hosier - bug reports on the Gel IDE plugin
- Matthew Harrah - script bug report
- Richard Jenson - CPD on Win32 troubleshooting
- Daniel Bruguier - CPD on Win32 troubleshooting
- Mario Claerhout - CPD optimizations and suggestions
- Sameer Nanda - CPD Ant task bug report
- Nanne Baars - grammar suggestions, rule suggestions
- Adam Nemeth - bug fixes for UnnecessaryConstructorRule
- Mike Thome - rule suggestions
- Andrew Glover - the CPDTask, ExcessivePublicCountRule, CouplingBetweenObjectsRule, ExcessiveImportsRule, documentation tweaks
- Robert Leland - bug report
- Carl Gilbert - AccessorClassGenerationRule, DoubleCheckedLockingRule, ConstructorCallsOverridableMethodRule, bug reports, feature requests, and documentation improvements
- Dave Fuller - improved resource loading code (packaged in a nice diff, too!)
- David Whitmore - parser bug report
- David Campbell - detailed bugs reports, Ant task refactoring, documentation tweaks
- Michael Sutherland - bug report in IfStmtMustUseBracesRule
- Egon Willighagen - pmd-web suggestion
- Didier Duquennoy - pmd-netbeans feedback
- Adam Nemeth - bug report on missing final attribute for local variable declarations
- Frederic Harper - bug report and subsequent troubleshooting
- Mats Henricson - an XSLT script and several bug reports
- Luke Francl - numerous high quality
feature suggestions and bug reports
- Martin Cooper - feature suggestions
- Bruce Mayhew - feedback on the jEdit plugin
- Juergen Ebert - feature suggestions and pmd-netbeans feedback
- J.D. Fagan - feature suggestions
- William McArthur - ForLoopShouldBeWhileLoop rule
- Ales Bukovsky - pmd-netbeans feedback
- Radim Kubacki - bug reports, pmd-netbeans feedback
- Stefan Bodewig - bug report
- Paul Kendall - enhanced EmptyCatchBlock rule
- Sean Sullivan - rule suggestions
- Dale Vissar - rule suggestions
- Alina Copeland - pmd-web formulas, pmd-dcpd optimizations
- Vincent Massol - bug reports, design suggestions, feature suggestions, Maven guidance
- Peter Donald - design suggestions
- Liam Holohan - bug reports
- Ralph Schaer - bug reports and verification
- Damian O'Neill - Ant task patches
|
DARPA
for funding
the Ultra*Log effort which spawned PMD. |
|
Ultra*Log
for
letting us build PMD to help the code get better. |
|
Cougaar
is an
agent architecture Ultra*Log is based on. (Which needs
quite a bit of PMD also.) |
|
SourceForge
for
providing hosting services for PMD. |
|
RefactorIT
for letting
their software be used free-of-charge on PMD code
(OpenSource
Community License
) |
|
QA-Systems
for sending in some
handy utilities for PMD and shipping PMD inside their QStudio product
|
|