}
public List<ProjectMeasure> collectProjectMeasures() throws MojoExecutionException {
List<ProjectMeasure> measures = new ArrayList<ProjectMeasure>();
try {
measures.add( new ProjectMeasure( packageMetric, parseNumber( reportParser.executeXPath( "count(/javancss/packages/package)" ) ) ) );
// warning bug : the total /javancss/packages/total/ncss does not match the sum of /javancss/objects/object/ncss so use the sum
measures.add( new ProjectMeasure( ncssMetric, parseNumber( reportParser.executeXPath( "sum(/javancss/objects/object/ncss/text())" ) ) ) );
measures.add( new ProjectMeasure( complexityMetric, parseNumber( reportParser.executeXPath( "sum(/javancss/functions/function/ccn/text())" ) ) ) );
measures.add( new ProjectMeasure( classesMetric, parseNumber( reportParser.executeXPath( "/javancss/packages/total/classes" ) ) ) );
measures.add( new ProjectMeasure( functionsMetric, parseNumber( reportParser.executeXPath( "/javancss/packages/total/functions" ) ) ) );
} catch (ParseException ex) {
throw new MojoExecutionException( "ParseException during JavaNCSS report parsing", ex );
}
return measures;