2003-03-27 22:08:43 +00:00
|
|
|
|
Release notes for the PMD Eclipse Plugin
|
2003-03-30 20:54:44 +00:00
|
|
|
|
----------------------------------------
|
|
|
|
|
|
2003-12-01 22:30:26 +00:00
|
|
|
|
IMPORTANT : SINCE v2.0 THE INSTALLATION PROCEDURE HAS BEEN CHANGED.
|
|
|
|
|
READ THE SETUP_README.TXT FILE IN THE DOWNLOADED PACKAGE
|
|
|
|
|
FOR INSTRUCTIONS.
|
|
|
|
|
|
|
|
|
|
|
2005-05-07 13:46:39 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------------------
|
2005-04-21 20:55:01 +00:00
|
|
|
|
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
|
2005-01-23 16:05:01 +00:00
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------------------
|
2004-12-03 00:25:46 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------------------
|
2003-12-01 22:30:26 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------------------
|
2003-10-27 21:04:47 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------------------
|
2003-07-30 19:41:27 +00:00
|
|
|
|
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
|
|
|
|
|
-----------------------------
|
2005-05-07 13:46:39 +00:00
|
|
|
|
(request and patch from Christian J<>ckel)
|
2003-07-30 19:41:27 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------------------
|
2003-06-19 21:15:30 +00:00
|
|
|
|
v1.0.0 - 19/06/2003
|
2003-03-30 20:54:44 +00:00
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
2003-06-19 21:15:30 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2003-03-30 20:54:44 +00:00
|
|
|
|
UPDATED :
|
|
|
|
|
---------
|
2003-06-19 21:15:30 +00:00
|
|
|
|
Lastest PMD Engine (v1.1).
|
2003-03-30 20:54:44 +00:00
|
|
|
|
Now, no more error message is displayed when PMD is executed against a file with syntax
|
|
|
|
|
errors.
|
2003-06-19 21:15:30 +00:00
|
|
|
|
The progress indicators are more accurate.
|
|
|
|
|
Violations are batch processed to speed up manual PMD invocation.
|
2003-03-30 20:54:44 +00:00
|
|
|
|
|
|
|
|
|
|
2003-03-27 22:08:43 +00:00
|
|
|
|
|
|
|
|
|
|
2003-05-19 22:28:47 +00:00
|
|
|
|
----------------------------------------------------------------------------------------
|
2003-03-27 22:08:43 +00:00
|
|
|
|
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.
|
|
|
|
|
|