forked from phoedos/pmd
f02e2f8cdc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5821 51baf565-9d33-0410-a72c-fc3788e3496d
598 lines
22 KiB
Plaintext
598 lines
22 KiB
Plaintext
Release notes for the PMD Eclipse Plugin
|
||
----------------------------------------
|
||
v3.2.4 Mar ?? 2008
|
||
------------------
|
||
|
||
NEW
|
||
---
|
||
|
||
Workspace level Rule editor enhanced to show nearly all Rule details, lots of little things.
|
||
New exclude/include patterns from PMD 4.2 are supported.
|
||
Support for storing RuleSets using Rule References (new PMD 4.2) is now default behavior.
|
||
Projects can now specify a custom ruleset file explicitly, default remains .ruleset
|
||
Type Resolution using Project Build Path settings is now possible. To use this feature, the
|
||
Eclipse JVM must be able to read the version of .class files produced by the Projects.
|
||
|
||
UPDATE
|
||
------
|
||
|
||
PMD to 4.2
|
||
|
||
FIXED
|
||
-----
|
||
|
||
Bug #1811828 RuntimeException in RuleSetFactory, default RuleSet used on error
|
||
Bug #1903578 Handler error in Eclipse log
|
||
|
||
|
||
See changelog for complete list.
|
||
|
||
|
||
----------------------------------------
|
||
v3.2.3 Dec 02 2007
|
||
------------------
|
||
|
||
UPDATE
|
||
------
|
||
|
||
PMD to 4.1
|
||
dependency jars updated
|
||
|
||
FIXED
|
||
-----
|
||
|
||
Bug #1661524 Working set functionality doesn't work
|
||
Bug #1811828 RuntimeException in RuleSetFactory
|
||
|
||
|
||
See changelog for complete list.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.2.2 24/06/2007
|
||
-----------------
|
||
|
||
UPDATE
|
||
------
|
||
Include PMD 4.0rc1.
|
||
The included version is the one for Java14.
|
||
|
||
FIXED
|
||
-----
|
||
See changelog for complete list.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.2.1 15/02/2006
|
||
-----------------
|
||
|
||
FIXED
|
||
-----
|
||
Bug #1583788 StackOverflowError in rule edit window
|
||
Bug #1641930 Creation of ruleset.xml file causes error in Eclipse
|
||
Bug #1645449 Views broken in 3.2.0 with Eclipse 3.2.1 on Solaris
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.2.0 15/01/2006
|
||
-----------------
|
||
|
||
UPDATED : PMD v3.9
|
||
------------------
|
||
** JSP FILES ARE NOT SUPPORTED IN THIS VERSION YET **
|
||
|
||
UPDATED : imporve overview and outline views
|
||
--------------------------------------------
|
||
These views include filters and the overview now propose 3 different layout of
|
||
violations. Statistics are computed when a package is collapsed.
|
||
A button is added to force statistics computations.
|
||
|
||
NEW : Support for JDK 6.0
|
||
-------------------------
|
||
Projects targeted for JDK 6.0 are now supported.
|
||
|
||
NEW : CPD support has been refactored
|
||
-------------------------------------
|
||
Dialogs and views has been developped to improve CPD integration.
|
||
|
||
FIXED : various bugs...
|
||
-----------------------
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.7 05/10/2006
|
||
-----------------
|
||
|
||
UPDATED : PMD v3.8
|
||
------------------
|
||
** JSP FILES ARE NOT SUPPORTED IN THIS VERSION YET **
|
||
|
||
FIXED : various bugs...
|
||
-----------------------
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.6 09/06/2006
|
||
-----------------
|
||
|
||
UPDATED : Architecture refactoring
|
||
----------------------------------
|
||
This version is a major enhancement from previous ones.
|
||
While this is not visible, it includes a complete refactoring of the
|
||
plugin architecture necessary to ease future evolutions.
|
||
|
||
The consequence is that any preferences customizations from older versions will be lost.
|
||
Project properties should be kept.
|
||
|
||
The suggested update procedure is to:
|
||
1. disable PMD from all your projects
|
||
2. disable then uninstall PMD from your Eclipse
|
||
3. install new version
|
||
|
||
|
||
UPDATED : PMD v3.7
|
||
------------------
|
||
** JSP FILES ARE NOT SUPPORTED IN THIS VERSION YET **
|
||
|
||
|
||
UPDATED : Performance issues
|
||
----------------------------
|
||
This version include major performances enhancements :
|
||
. process files that are only included in source directories
|
||
. by default, derived files are excluded
|
||
(this is an option of the project properties)
|
||
. heavy statistics computation has been shutdown (#violations/loc & #violations/method)
|
||
. refactor the markers application to use uptodate Eclipe features
|
||
. limit the number of reported violations per file per rule
|
||
the default is set to 5 and can be changed in the preferences.
|
||
|
||
Now the plugin overhead to PMD should be only few hundreds of milliseconds (depends of
|
||
the #files to process and #violations generated of course).
|
||
|
||
|
||
UPDATED : The legacy Violation View has been removed
|
||
----------------------------------------------------
|
||
The old violation view has been removed to the benefit of the new PMD Perspective
|
||
which is more efficient.
|
||
|
||
To obtain the same kind of view, simply use the standard Problems view.
|
||
|
||
|
||
UPDATED : Make CPD working set aware
|
||
------------------------------------
|
||
Running CPD now benefits of the working set selected for the project.
|
||
|
||
|
||
UPDATED : Log files preferences
|
||
-------------------------------
|
||
Now the logging properties can be set in the preferences dialog.
|
||
You can choose the logging level (default to WARN) and the logging file name and
|
||
location (default to the standard pmd-eclipse.log file in the Eclipse install
|
||
directory).
|
||
|
||
|
||
UPDATED : Default review to PMD style
|
||
-------------------------------------
|
||
By default, the review comment style is the standard PMD style (// NOPMD comment) and
|
||
no more the former Eclipse style (// @PMD:REVIEW...).
|
||
|
||
This can be changed in the preferences dialog.
|
||
|
||
Note that the Eclipse style is considered deprecated and will be removed in a next version.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.5 12/04/2006
|
||
-----------------
|
||
|
||
UPDATED : PMD v3.6
|
||
------------------
|
||
This version includes a patched version of PMD v3.6.
|
||
The new VBHTML report has been included.
|
||
|
||
** JSP FILES ARE NOT SUPPORTED IN THIS VERSION YET **
|
||
|
||
FIXED :
|
||
-------
|
||
Generating reports with violations on classes in the default package now works correctly.
|
||
|
||
Fix BUG#1467817 Change the label of the rebuild_project question.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.4 06/02/2006
|
||
-----------------
|
||
|
||
UPDATED : PMD v3.5
|
||
------------------
|
||
This version includes the patched version 3.5 of the PMD engine.
|
||
|
||
FIXED :
|
||
-------
|
||
Variuous bugs are fixed: #1357798, #1365407 and various internal bugs.
|
||
|
||
Internal refactoring is still occurring.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.3 17/01/2005
|
||
-----------------
|
||
|
||
UPDATED : PMD v3.4
|
||
------------------
|
||
This version includes version 3.4 of the PMD engine with regexp support.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.2 03/11/2005
|
||
-----------------
|
||
|
||
This is a minor release that fix missing elements from previous release.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.1 01/11/2005
|
||
-----------------
|
||
|
||
NEW : PMD perspective and views
|
||
-------------------------------
|
||
Great thanks to Sebastian Raffel.
|
||
Sebastian has developped a PMD perspective with new views.
|
||
The legacy "Violations view" still exists.
|
||
By default, the PMD perspective is shown when a manual check is performed.
|
||
Otherwise, simply go to the menu Window->Open perspective->Other... and select
|
||
PMD in the PMD folder.
|
||
|
||
UPDATED : PMD v3.3
|
||
------------------
|
||
This version includes version 3.3 of the PMD engine
|
||
|
||
FIXED : Various bug fixes
|
||
-------------------------
|
||
Some internal bugs and some described in the user forum has been fixed.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.1.0 04/07/2005
|
||
-----------------
|
||
|
||
IT IS HIGHLY RECOMMENDED YOU DELETE THE ruleset.xml FILE IN YOUR
|
||
.metadata/plugins/net.sourceforge.pmd.eclipse DIRECTORY BEFORE UPGRADING.
|
||
Well, it should works with it. But if you have any problem, please try to delete it
|
||
before requesting support.
|
||
|
||
FIXED/UPDATED : CPD report
|
||
--------------------------
|
||
Because the bug #1190624 cannot be fixed, the CPD integration has been refactored.
|
||
Now CPD can be launched on one project at a time only.
|
||
The results are produced in a report file inside the report folder.
|
||
The SimpleRenderer is used to render the report.
|
||
|
||
UPDATED: Works on Eclipse v3.1
|
||
------------------------------
|
||
This new version now works both on Eclipse v3.0 and Eclipse v3.1
|
||
|
||
UPDATED: PMD v3.2
|
||
-----------------
|
||
This version is packaged with PMD v3.2
|
||
|
||
UPDATED: Support for Java 5.0 source files
|
||
------------------------------------------
|
||
Now the plugin works for projects that are targeted to Java 5.0
|
||
|
||
UPDATED: Project properties
|
||
---------------------------
|
||
In consequence of upgrading to Eclipse v3.1, project properties management has
|
||
been reviewed. Now project properties are stored in a .pmd file at the project root.
|
||
If you do not explicitly use the .ruleset file, you can delete it.
|
||
|
||
NEW: Rulesets extension point
|
||
-----------------------------
|
||
The PMD core plugin now define the net.sourceforge.pmd.core.rulesets extension point.
|
||
This extension point allows fragment developers to declare their customs rulesets so that
|
||
they appears in the drop down list when you request to import rulesets.
|
||
This extension point allows also to declare rulesets that will be automatically loaded
|
||
when creating a brand new workspace.
|
||
|
||
For implementation details, a sample is best. A sample fragment project is committed in
|
||
the CVS. The module name is "pmd-eclipse-test-fragment".
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.0RC2 (alias v3.0.1) - 07/05/2005
|
||
-----------------------------------
|
||
|
||
FIXED : Tested on Eclipse 3.1M6
|
||
-------------------------------
|
||
The problem for Eclipse v3.1 Mx version has been solved.
|
||
Because of this, now the project ruleset is always stored as a file (.ruleset) inside the project
|
||
itself. This file is created "lazyly": it will not be created unless necessary; so don't panic if
|
||
you cannot see it.
|
||
|
||
FIXED (maybe?) : CPD report window for Mac users
|
||
------------------------------------------------
|
||
The way the window is created has been changed. This should fix the problem.
|
||
|
||
UPDATED: Xerces Implementation re-packaged inside the core plugin
|
||
-----------------------------------------------------------------
|
||
When migrating for Eclipse v3 (and then Java 1.4), a special plugin for Xerces was created.
|
||
This has been forgiven and the XercesImpl.jar is now packaged inside the PMD Core plugin.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v3.0RC1 (alias v3.0.0) - 21/04/2005
|
||
-----------------------------------
|
||
|
||
UPDATED : PMD Engine v3.0
|
||
-------------------------
|
||
Include the new PMD engine v3.0.
|
||
|
||
|
||
NEW : Adding a report generation feature (RFE#1177802)
|
||
------------------------------------------------------
|
||
The plugin includes now the possibility to generate reports.
|
||
To generate reports, select a project and choose PMD->Generate Reports in the context menu.
|
||
4 reports will be generated in a "reports" directory at the project root: a HTML, CVS, TEXT
|
||
and XML report. These reports are the one generated by the renderers from the PMD Engine.
|
||
|
||
These reports are based on the PMD markers. Therefore, in order to work, PMD must be
|
||
activated for the project or a manual must be executed before. Otherwise reports will
|
||
be empty.
|
||
|
||
Future versions of the plugin will include report selection, automatic generation and filename
|
||
and targer folder customization.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v2.2 (alias v2.2.0) - 23/01/2005
|
||
-----------------------------------
|
||
|
||
This relase is considered as stable (no more a release candidate).
|
||
The only bug it corrects is the management of the new "symboltable" and "dfa" rule
|
||
attributes.
|
||
|
||
It also includes PMD 2.1 and basically manages "// NOPMD" comments.
|
||
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v2.1RC1 (alias v2.1.0) - 22/11/2004
|
||
-----------------------------------
|
||
|
||
Nothing very special in this release, but the confirmation of the new way of
|
||
downloading the plugin.
|
||
|
||
PMD core engine has been upgraded to v2.0.
|
||
|
||
This release is a candidate, because a refactoring of the plugin has begun.
|
||
The project property page is used as a test for this refactoring.
|
||
Do not hesitate to open bug if something goes wrong.
|
||
|
||
IMPORTANT: Lots of things have changed in PMD. There are some rules that are now
|
||
XPath rules and have no more an implementation class. Because ruleset is cached,
|
||
upgrading may cause trouble. To correct this try first to delete the file
|
||
ruleset.xml in the .metadata\.plugins\net.sourceforge.pmd.eclipse directory of your
|
||
workspace.
|
||
|
||
Also, some new rules causes exception in some circumstances. Just unselect them.
|
||
We are already working on this.
|
||
|
||
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v2.0RC1 (alias v2.0.0) - 01/12/2003
|
||
-----------------------------------
|
||
|
||
As the plugin has become more complex, the plugin is now published with "release
|
||
candidates" technique. So, when a RC is published, only bugs are corrected before
|
||
a final release is published.
|
||
|
||
|
||
UPDATED : Changing the deployment structure of the plugin
|
||
---------------------------------------------------------
|
||
The plugin has been refactored to follow the standard deployment (installation)
|
||
procedures of Eclipse. PMD comes now into Eclipse as a "feature" and is composed
|
||
of two plugins : one for encapsulating PMD (net.sourceforge.pmd.core) and one for
|
||
the UI integration (net.sourceforge.pmd.eclipse).
|
||
A simple unzip doesn't work anymore, but using the update manager of Eclipse is required.
|
||
Please, read the instructions included in the setup_readme.txt file of the package
|
||
you downloaded from Sourceforge.
|
||
|
||
|
||
NEW : Adding the "lazy check" feature
|
||
-------------------------------------
|
||
This feature comes to help "big" projects. Now, when PMD is enabled for a project,
|
||
the plugin ask before checking the entire project. If the answer is no, the new options
|
||
are only applied when files are saved or added into the project.
|
||
|
||
|
||
NEW : Adding the "working set" feature
|
||
--------------------------------------
|
||
This feature also comes for big projects. A working set can be configured by project
|
||
to filter files that have to be checked by PMD. Open the project properties dialog to
|
||
specify this working set.
|
||
|
||
|
||
NEW : Using a project ruleset file
|
||
----------------------------------
|
||
Instead of using the rulset configured in Eclipse preferences, it's possible to
|
||
configure projects to use a ruleset file from the project. This file must be named
|
||
".ruleset" and must be in the root directory of the project. When the option is enabled,
|
||
if the ruleset file doesn't exist, it is created.
|
||
|
||
|
||
NEW : Previewing the Quickfix feature
|
||
-------------------------------------
|
||
The plugin comes with a preview of the future "quickfix" feature. This feature will
|
||
enable to use the Quickfix feature of Eclipse to correct rules violations. This version
|
||
provides a quickfix for the duplicate imports rule. The quickfix consists of deleting
|
||
the line where the violation occurs.
|
||
|
||
|
||
UPDATED : Improving Eclipse v3 support
|
||
--------------------------------------
|
||
The plugin has been refactored so that it should now work for both Eclipse v2 and v3
|
||
under a JDK v1.3. But a Eclipse v2.10 minimum is still required.
|
||
This version has been tested whith Eclipse v2.11 and Eclipse v3M4.
|
||
|
||
|
||
FIXED : Importing rules and rulesets
|
||
------------------------------------
|
||
Various bug reports shared the same problem : XML parsing of ruleset files. This
|
||
parsing has been refactored (included in the PMD core engine) so that these bugs should
|
||
now be fixed. These bugs were about importing rulesets, modifying rules properties,...
|
||
|
||
|
||
FIXED : Improving AST generation
|
||
--------------------------------
|
||
The generation of the AST has been refactored so that it now uses introspection to
|
||
produce the tree. So now, no attributes should missed. Also, the XML output has been
|
||
reviewed so that the generated file should now be a valid XML file.
|
||
|
||
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v1.2.0 - 27/10/2003
|
||
|
||
NEW : Adding a JDK 1.3 compatibility option
|
||
-------------------------------------------
|
||
With the upgrade to PMD 1.3, the plug-in now provide an option to flag the project to
|
||
be JDK1.3 compatible. If the flag is checked, the "assert" keyword will be processed by
|
||
PMD like a identifier. If the flag is unchecked, the "assert" will be processed as a
|
||
keyword.
|
||
|
||
NEW : Adding a review feature
|
||
-----------------------------
|
||
Some rules occured and nothing can be done to correct it (unused parameter in a
|
||
framework abstract method or interface method, complexity warning, deep ifs,...)
|
||
You cannot remove the rules from the configuration because other or future occurrences
|
||
are still needed. But if the rule is still used, then the violations view will be
|
||
polluted by the undesired violations.
|
||
|
||
To address this problem, the plug-in now provide a review feature. When a violation
|
||
occurs, if it cannot be corrected, then it can be marked as "reviewed". Reviews are
|
||
comments placed above the targeted line of code that avoid the violation to be raised
|
||
in future checks. As it is in the code, it is automatically shared with other developpers.
|
||
|
||
To learn more about this feature, please read the online documentation in the howto
|
||
chapter.
|
||
|
||
FIX : Encoding of generated XML files
|
||
-------------------------------------
|
||
The plugin may generates 2 kind of XML files : rulesets file and AST files. Encoding
|
||
problems that were sometimes encountered are now fixed.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v1.1.0 - 30/07/2003
|
||
|
||
NEW : Redesigning the plugin configuration
|
||
------------------------------------------
|
||
Since the beginning, the plugin was configured by selecting globaly desired, already
|
||
written rulesets. Before v1.0.0, only rulesets from PMD was allowed or also, custom
|
||
rulesets packaged in a fragment plugin. Since then, rulesets can also be loaded from
|
||
standard file system.
|
||
|
||
Now, the plugin configuration is no more rulset based, but rule based. That is, you can
|
||
configure globaly what rules are to be used and configure them (change the priority level,
|
||
the description and the violation message). The rules can be imported from PMD rulesets
|
||
or from any custom ruleset. It's even possible to create new rules, such as XPath rules.
|
||
|
||
Finally, the configured rules can be enabled or disabled in the properties of each
|
||
project.
|
||
|
||
For more information, read the how to chapter about the plugin configuration.
|
||
|
||
|
||
NEW : Adding a violation view
|
||
-----------------------------
|
||
PMD violations are shown as problems (or tasks) in the tasks view. Some users do not like this
|
||
method to list violations.
|
||
Now, a special view has been designed to display only violations. This view works like
|
||
the tasks view, but displays informations differently. Also, this view provides filters
|
||
specific for PMD such as a sorter by priority level.
|
||
The users who do not want to use the tasks view any more may filter PMD markers to remove
|
||
them from the tasks view.
|
||
|
||
For more information, read the how to chapter about using the plugin.
|
||
|
||
|
||
UPDATED : Grouping menu items
|
||
-----------------------------
|
||
(request and patch from Christian J<>ckel)
|
||
In order to be less intrusive in the context menu of the package and navigator views, PMD
|
||
menu items are now grouped in a submenu. This submenu is displayed by selecting the unique
|
||
entry "PMD" in the context menu of the desired view.
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v1.0.0 - 19/06/2003
|
||
|
||
NEW : Adding a logging facility
|
||
-------------------------------
|
||
The logging support is based on Log4J from Apache (see: http://jakarta.apache.org/log4j).
|
||
The default is to log at the warn level to the file "pmd-eclipse.log" using a rolling
|
||
file appender of 10 MB and one backup file.
|
||
The file is located in the {user.dir} directory which should be your Eclipse home
|
||
directory
|
||
To change these options, simply edit the "log4j.xml" file located in the plugin. Please
|
||
read the Log4J doc to learn how to update this file.
|
||
|
||
NEW : PMD actions from folder and package popups
|
||
------------------------------------------------
|
||
Now, PMD actions (check code and remove markers) are available from the popup menus of
|
||
a folder (resource navigator view) and package (package explorer view).
|
||
|
||
NEW : On-line help
|
||
------------------
|
||
PMD documentation is now shipped with the plugin. Open the help contents and select
|
||
'PMD Plugin documentation'. The topic 'PMD Documentation' points to the PMD official
|
||
documentation. The chapter 'How to...' contains pages about some usual tasks with the
|
||
plugin.
|
||
|
||
UPDATED :
|
||
---------
|
||
Lastest PMD Engine (v1.1).
|
||
Now, no more error message is displayed when PMD is executed against a file with syntax
|
||
errors.
|
||
The progress indicators are more accurate.
|
||
Violations are batch processed to speed up manual PMD invocation.
|
||
|
||
|
||
|
||
|
||
----------------------------------------------------------------------------------------
|
||
v0.5.0 - 19/03/2003
|
||
|
||
NEW : Using PMD as a project incremental builder
|
||
------------------------------------------------
|
||
When PMD is used as an incremental builder, then violations are added as problem marker. Then,
|
||
markers will be removed when violations are fixed.
|
||
To enable PMD as a incremental, simply check "enable PMD" on your project PMD property
|
||
page.
|
||
|
||
UPDATED :
|
||
---------
|
||
When PMD is used "one shot" from the popup menu, then violations are added as task. Then, markers
|
||
should be removed manually via the popup menus, either from the project (all violations for this
|
||
project will be removed), or from a file or group of files (all violations for these files will be
|
||
removed) or from the task view (all violations for all projects will be removed).
|
||
|
||
PMD markers (violations) can be filtered in the task view : either PMD task marker or PMD problem
|
||
marker or both.
|
||
|
||
PMD rule violations have a priority from 1 to 5. Markers have only 3 level of severity, so the mapping is as follow :
|
||
PMD priority 1 -> severity error, priority high
|
||
PMD priority 2 -> severity error, priority normal
|
||
PMD priority 3 -> severity warning, priority high
|
||
PMD priority 4 -> severity warning, priority normal
|
||
PMD priority 5 -> severity information, priority normal
|
||
|
||
MISC :
|
||
------
|
||
PMD engine is not shipped with the source archive. Download it from source forge and install it in
|
||
a lib subdirectory.
|
||
|