I am using eclipse 3.5 and Metrics works without issue, howver, when I attempt to export metrics (CSV only) from my project (all classes build OK) I get the following error:
org.eclipse.core.runtime.CoreException: String index out of range: -1
at com.stateofflow.eclipse.metrics.builder.ExportingMetricProcessor.export(ExportingMetricProcessor.java:42)
at com.stateofflow.eclipse.metrics.builder.ExportingMetricProcessor.afterMeasuringAllCompilationUnits(ExportingMetricProcessor.java:34)
at com.stateofflow.eclipse.metrics.builder.EnabledCalculatorMetricProcessorDecorator.afterMeasuringAllCompilationUnits(EnabledCalculatorMetricProcessorDecorator.java:21)
at com.stateofflow.eclipse.metrics.builder.CompilationUnitListMetricProcessor.process(CompilationUnitListMetricProcessor.java:24)
at com.stateofflow.eclipse.metrics.MetricsBuilder$3.run(MetricsBuilder.java:99)
at com.stateofflow.eclipse.metrics.util.ProgressMonitor.run(ProgressMonitor.java:60)
at com.stateofflow.eclipse.metrics.MetricsBuilder.export(MetricsBuilder.java:96)
at com.stateofflow.eclipse.metrics.export.wizard.ExportRunnable.startExport(ExportRunnable.java:56)
at com.stateofflow.eclipse.metrics.export.wizard.ExportRunnable.doFinish(ExportRunnable.java:41)
at com.stateofflow.eclipse.metrics.export.wizard.ExportRunnable.run(ExportRunnable.java:46)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1768)
at com.stateofflow.eclipse.metrics.export.csv.RowWriter.writeMethodInfo(RowWriter.java:27)
at com.stateofflow.eclipse.metrics.export.csv.RowWriter.writePreamble(RowWriter.java:54)
at com.stateofflow.eclipse.metrics.export.csv.RowWriter.write(RowWriter.java:20)
at com.stateofflow.eclipse.metrics.export.csv.BodyWriter$2.execute(BodyWriter.java:18)
at com.stateofflow.eclipse.metrics.collator.MetricsCollator.forEach(MetricsCollator.java:65)
at com.stateofflow.eclipse.metrics.export.csv.BodyWriter.write(BodyWriter.java:12)
at com.stateofflow.eclipse.metrics.export.csv.MetricsWriter.write(MetricsWriter.java:33)
at com.stateofflow.eclipse.metrics.export.csv.CsvExporter.write(CsvExporter.java:29)
at com.stateofflow.eclipse.metrics.export.csv.CsvExporter.export(CsvExporter.java:24)
at com.stateofflow.eclipse.metrics.builder.ExportingMetricProcessor.export(ExportingMetricProcessor.java:40)
... 10 more
Config info:
eclipse.buildId=M20090917-0800
java.version=1.5.0_13
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product -clean -data d:\eclipse_workspace
Thanks for reporting this. It will be fixed in the next release (3.13.0)