- Version 2.8.x
- Add coding standards checking, perhaps integrate PMD, this should be fairly easy as it also uses a vistor architecture based on JavaCC.
After coding standards checking has been added it will then be possible to implement automatic capitalisation of "public final static" (i.e. constants). It will also be possible to check for immutable classes and alter the source code to include comments to that effect.
It should be possible to mark each violation of the coding standard rules as to whether they are known to be O.K. (rules are meant to be broken) together with an explanation of why the violation is OK. Such marke violations are then not reported again (unless asked for).
- Add ability to manage multiple projects (different directory trees).
There should be a set of default settings, each project will have settings based on the default, with only the changes in the project settings.
It should also be possible to have a central (group wide) set of pretty.settings that enforce standards for a group project.
- Add parsing of .class files using reflection..
The source for libraries is not always available, but the jar files always will be.
There should be the ability to parse the jar file on demand, this should make the JRefactory startup quicker and enable dynamic updating of the libraries.
There may be manly libraries present, so options to manipulate the classpath should be included. The main JRefactory pane should be changed to a tree table, with one branch of the tree (i.e. one table) for each library. - delayed until 2.9.x
Different projects should use their own classpath and table.
- (Pretty Printer) Continue adding requested features.
Add support for character encoding formats other than ASCII.
Fix obscure parsing problems.
Add setting to remove optional ";" and "," if they occur.
- (Code Checking) Add cut and paste detection ( imported from PMD)
- (Code Checking) Add an Abstract Syntax Tree viewer and XPath checker (imported from PMD with heavy modifications)
- (Code Checking) Add bug finding (now uses a slightly modified version of findbugs-0.6.6 ( http://www.cs.umd.edu/~pugh/java/bugs/ ).
- (Refactoring) Start fixing bugs.
- (Parser) Add ability to listen for DocumentEvents and update the parse tree on the fly (by parsing the entire file).
- (Parser) Optionally continue to parse after the first error, building up a list of errors, rather than just throwing an exception.
- Version 2.9.x
This is intended to mainly be a bug-fix version. There plenty of things that need to be corrected and tidied up in the User Interface. There is also the start of "eating my own dogfood", using JRefactory to pretty print, and apply coding standards to the JRefactory project.
As part of this I'll start commenting the code more fully, it will be a long job and I don't expect it to be completed until Version 3.0.
- Split into main library and subsidery libraries for each supported IDE. - jEdit library split off for 2.8.x release
- Better support for IDEs (JEdit, Netbeans, ?)
- (Pretty Printer) Import statements - remove unused, change between package (.*) and individual imports, keep list of packages which should be package imports (normally java.lang, but also maybe java.io, java.util).
- (Refactoring) Continue adding requested features.
- (Metrics) Better metrics, try to include the full range of metrics and output them formatted with HTML, XML, etc.
- The great remaing project - rename "org.acm.seguin" to "net.sourceforge"
- (Refactoring) make the package selector window a tree view, add option to hide JDK packages.
- Better integration of the various tools.
- It is intended that this will be released soon after JDK 1.5 beta is released (so the number of changes depends on how long before this comes out).
- Version 3.0.x
This is intended to be a long-lived version with a fixed interface between the various tools and the supported IDEs.
- Full support for JDK 1.5 - this includes refactoring and UML for all the new JDK 1.5 features
- Generic data types
- New configuration utility (based on JavaStyle) - now put in 2.8.x as so many changes were required to support multiple projects..
- (Refactoring) Refactoring generic classes
- (Parser) Add ability to parse only the portions of the source affected by a DocumentEvent.
- (Parser) Code completion, predict rest of line (block) from recent input and display options to user.
- It is intended that this will be released soon after JDK 1.5 rc1 is released.
- Version 3.1.x
This is intended as bug-fix verion.