I would like to fix MetricsReloaded so it works under IDEA 8.x/Diana.
I am a newbie to plugin development so I would like to ask for guidance and assistance. I have read the plugin tutorials and I'm able to debug MetricsReloaded.
From my review and debugging of the code, I need to fix the following to make it useful for 8.X/Diana:
1. Update code to compile cleanly and run under 8.x/Diana
a. Update/replace "missing" classes & interfaces
- BaseAnalysisAction & BaseAnalysisActionDialog in ProjectMetricsAction (http://svn.jetbrains.org/idea/Trunk/Metrics/src/com/sixrr/metrics/plugin/ProjectMetricsAction.java)
- ActionToolbarImpl & TreeSpeedSearch in MetricsConfigurationPanel (http://svn.jetbrains.org/idea/Trunk/Metrics/src/com/sixrr/metrics/ui/metricdisplay/MetricsConfigurationPanel.java)
- I was able to compile MR by replacing BaseAnalysisAction with AnAction and implementing actionPerformed() as a wrapper to the existing analyze() method.
- I also temporarily commented out TreeSpeedSearch & BaseAnalysisActionDialog (which was actually unused)
b. Make Calculate Metrics action work for correct analysis scope
- I am able to run Calculate Metrics (ProjectMetricsAction) which is currently defaulting to Project scope and the Complexity Metrics profile
- Need to fix this so it selects the correct scope and metrics profile to run on
c. Make Calculate Metrics action work using selected profile
- Related to B; need a way (UI) to select/configure profile to run on, see ProfileSelectionPanel (http://svn.jetbrains.org/idea/Trunk/Metrics/src/com/sixrr/metrics/ui/dialogs/ProfileSelectionPanel.java)
2. Update code to "enable" configuration/settings
a. Setup/expose an IDE/Project level configuration probably using MetricsConfigurationPanel (http://svn.jetbrains.org/idea/Trunk/Metrics/src/com/sixrr/metrics/ui/metricdisplay/MetricsConfigurationPanel.java)
b. Make Calculate Metrics action work on "default" profile
- Related to 1.c; need a way to set a "default" profile
3. Support & maintenance =) (not sure if I will have enough time & a bit too ambitious at this time)
a. Update/replace deprecated code to at least 8.x/Diana release
b. Add unit tests for self-regression (http://svn.jetbrains.org/idea/Trunk/Metrics/test/com/sixrr/metrics/context/)
c. Update UI to improve navigation & filter of results
d. Update visualization of results (& export visualizations)
Any assistance and guidance in the right direction is very much appreaciated.
By the way, does anybody know how to contact the original author, Dave Griffith?