I just released the new 1.3.6 update for eclipse 3.1
Other than adjusting to the new 3.1 apis, several bugs were fixed and I picked up some developers! Thanks to these developers I was able to get this release out and at the same time work on a re-architecting effort to make future enhancements a lot easier. Stay tuned for this completely new version. In the mean time, enjoy 1.3.6 with eclipse 3.1... read more
This new release only works with 3.0M8 and incorporates mostly bug fixes to make it work with the new eclipse APIs. As a result, the dependency graph now appears as an embedded view on all platforms, not just on windows.
The preferred method to upgrade is to use the update site at: http://metrics.sourceforge.net/update
I wasn't planning on a 1.3.4, but the new 1.4 stuff is complex and will take more time than I thought.
In the mean time some important bugfixes were made that I though were worth a release.
This release works on Eclipse 2.0 - 3.0M3, not on M4 for a reason not fully understood at this point.
under the 1.3.3 release download area, you'll now find a metrics.jar. This contains a patch to make the dependency graph view work properly on 3.0M3 using the new SWT_AWT internal API
Reply to your email did not work with this error:
reason: 550 5.7.1 Access denied
Here is my reply:
you've only added the metric, but not the calculator.
If you add something like this:
<calculator name="Matt Lines" calculatorClass="net.sourceforge.metrics.calculators.LinesOfCodeMatt" level="method">
it should work.
By the way, I would write a separate plugin to do this instead of
modifying the core metrics plugin. I should have split off the calculators
in a separate plugin myself to make this more clear. In this new plugin you
do this:... read more
To install, point the eclipse update manager to http://metrics.sourceforge.net/update
* added date to exported xml
* xml export orders of magnitude faster
* added property page to enable/disable
* added usage message to metrics view
* added update site
* documentation updates
now uses JDBM instead of Prevayler to preserve memory on very large projects
Checked menu item in project popups
Various bugfixes and enhancements
internally, each project has its own persistent store so when you have many projects the plugin doesn't have to load all metrics into memory, but rather just those for the project you're working on.
Externally, the metrics view now uses a table tree instead of a flat table, allowing you to drill down into the specifics for each metric.
If you are having problems with the calculations stopping on the encounter of a .class file in the source structure, download the patched metrics.jar and drop it in the plugins/net.sourceforge.metrcics directory, replacing the jar from the zip file
Now calculates the metrics using the eclipse builder framework, which keeps the metrics in sync better and easier and also allows for a better progress indication. Don't forget to enable the
metrics for your projects. See getting started guide
The Dependency graph view has added features such as shortest path analysis
* much improved cyclic dependency analyzer
- using Tarjan's algorithm to find strong components
- cyclic package dependencies can be explored in detail
* added documentation for new features
A little note on usage of the dependency graph (didn't get a chance to update docs yet):
a package fragment root (source folder) has to be selected and the metrics have to be
fully calculated. The view's drop down has a menu item for the dependency graph that
is now enabled. Red nodes and edges are part of cyclic dependencies, blue ones are not.
The reason the graph only works for source folders is that it displays package dependencies,
and a source folder selection is the only way to ensure they have all been calculated.... read more
* added Robert Martin coupling metrics
* added dependency graph
* extensible exporter architecture
* safe ranges on metrics and warnings for out of range values
* column-widths bug fixed and view now persists the user selected widths across sessions
- extensible exporter architecture
allow others to plug in new XML formats through
- safe ranges on metrics and warnings for out of range values
This can be enabled/disabled in the preferences.
There is no UI yet to modify the ranges. Does
anybody want to see this before I have a UI?
If so, please post a comment.
- column-widths bug fixed and view now persists the user selected widths across sessions
This release is for jdk1.3.1 compatibility but has the same features as the original 1.0.8:
* use prevayler for persistence of the metrics
* export metrics to XML
* various clean-up and fixes
Sorry folks, I screwed up in my packaging and the XML Export feature does not work.
It only results in a log entry as follows.... Will fix this tonight and post a new release
1.0.8p1. Sorry for the inconvenience.
!ENTRY net.sourceforge.metrics 4 4 Mar 10, 2003 10:52:10.612
at net.sourceforge.metrics.internal.xml.MetricsExporter.formatHandle(MetricsExporter.java:109)... read more
This new release stores the metrics using prevayler,
which is very, very cool... I spent some time trying to map things to SQL using hsqldb, but this is so much easier, it's incredible. See www.prevayler.org,
or right here on sourceforge, project prevayler.
This new release also allows you to export metrics to an XML report. That way you can use XSL to further process it to any format you desire.
Enjoy,... read more
I just released version 1.0.7 of the metrics plugin.
This release has not many externally visible changes,
but is internally completely reorganized in order to
allow extensions to specify metrics. As a result,
others can now extend the framework by adding new metric
calculators. The preference page shows all discovered
metrics and allows the order in which they are shown to be
changed. Note that the change in download size is due to the
added api docs, not code...... read more
Upon request I've created a mailing list where new updates to this plugin will be announced. Subscribe to firstname.lastname@example.org to receive these announcements
I'm working on specifying the metrics in the plugin manifest so others can extend the metrics framework by adding new and interesting metrics I didn't think of. The hardest thing about this is coming up with an easy XML format... :-( But I'm getting there, and 1.0.7 will be the result, hopefully soon. After that: swap out persistence layer and export to XML
Currently only one metric is configurable (NORM) but when needed other metrics can easily add new preference pages. Number of Overridden Methods (NORM) can now be configured to count or not count: inherited abstract methods, methods that invoke the superclass' implementation, or explicitly named methods (like toString, hashCode and equals.
Changed the look of the table to combine totals, averages, maxima and standard deviations on a single line where possible. Also added WMC and LCOM metrics and refactored a LOT to prepare for extension points to define metrics.
I've added an in memory cache for much improved performance as well as some basic description of each metric in a help page. Note that the performance improvement is *not* visible the first time you run the plugin, what has to be done....
This one adds a few OO-specific metrics related to class hierarchies, such as # subclasses, #superclasses, # overridden methods, depth of inheritance tree, and the composite metric called specialzation index (norm * dit / nom)
I've added a View that sits quite comfortably next to the Task View. It shows the metrics for the current selection in the Workbench. It also reacts to Resource changes. It recalculates on a background thread so it won't slow you down.