From 5b3f2cf007b3f8a31c26abd3895c92b7999cdaf0 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Fri, 13 May 2016 21:28:47 -0400 Subject: [PATCH] catalog: count errors and warnings for each package Signed-off-by: Jean Privat --- src/catalog.nit | 20 ++++++++++++++++++++ src/nitcatalog.nit | 12 ++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/catalog.nit b/src/catalog.nit index 3ebc01e..f5a3b6c 100644 --- a/src/catalog.nit +++ b/src/catalog.nit @@ -229,6 +229,12 @@ class Catalog # Number of line of code by package var loc = new Counter[MPackage] + # Number of errors + var errors = new Counter[MPackage] + + # Number of warnings and advices + var warnings = new Counter[MPackage] + # Number of commits by package var commits = new Counter[MPackage] @@ -338,9 +344,21 @@ class Catalog var mclasses = 0 var mmethods = 0 var loc = 0 + var errors = 0 + var warnings = 0 for g in mpackage.mgroups do mmodules += g.mmodules.length for m in g.mmodules do + var source = m.location.file + if source != null then + for msg in source.messages do + if msg.level == 2 then + errors += 1 + else + warnings += 1 + end + end + end var am = modelbuilder.mmodule2node(m) if am != null then var file = am.location.file @@ -361,6 +379,8 @@ class Catalog self.mclasses[mpackage] = mclasses self.mmethods[mpackage] = mmethods self.loc[mpackage] = loc + self.errors[mpackage] = errors + self.warnings[mpackage] = warnings #score += mmodules.score score += mclasses.score diff --git a/src/nitcatalog.nit b/src/nitcatalog.nit index b3dcd32..3ff0da9 100644 --- a/src/nitcatalog.nit +++ b/src/nitcatalog.nit @@ -315,6 +315,14 @@ redef class Catalog end res.add "\n" + res.add "

Quality

\n\n" + res.add "

Tags

\n" var ts2 = new Array[String] for t in mpackage.tags do @@ -474,6 +482,8 @@ redef class Catalog res.add "methods\n" res.add "lines\n" res.add "score\n" + res.add "errors\n" + res.add "warnings\n" res.add "" for p in mpackages do res.add "" @@ -493,6 +503,8 @@ redef class Catalog res.add "{mmethods[p]}" res.add "{loc[p]}" res.add "{score[p]}" + res.add "{errors[p]}" + res.add "{warnings[p]}" res.add "\n" end res.add "\n" -- 1.7.9.5