dd425e705a
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@2439 51baf565-9d33-0410-a72c-fc3788e3496d
223 lines
9.6 KiB
Plaintext
223 lines
9.6 KiB
Plaintext
Release notes for the PMD Eclipse Plugin
|
||
----------------------------------------
|
||
|
||
IMPORTANT : SINCE v2.0 THE INSTALLATION PROCEDURE HAS BEEN CHANGED.
|
||
READ THE SETUP_README.TXT FILE IN THE DOWNLOADED PACKAGE
|
||
FOR INSTRUCTIONS.
|
||
|
||
|
||
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.
|
||
|