From: Jean Privat Date: Fri, 21 Mar 2014 02:56:07 +0000 (-0400) Subject: metrics/generate_hier: project_hierarchy.dot use given_mmodules X-Git-Tag: v0.6.5~13^2 X-Git-Url: http://nitlanguage.org metrics/generate_hier: project_hierarchy.dot use given_mmodules Instead of using the first loaded project Signed-off-by: Jean Privat --- diff --git a/src/metrics/generate_hierarchies.nit b/src/metrics/generate_hierarchies.nit index e1fdda3..7a85a5d 100644 --- a/src/metrics/generate_hierarchies.nit +++ b/src/metrics/generate_hierarchies.nit @@ -34,7 +34,7 @@ private class GenerateHierarchyPhase do if not toolcontext.opt_generate_hyperdoc.value and not toolcontext.opt_all.value then return var model = toolcontext.modelbuilder.model - generate_module_hierarchy(toolcontext, model) + generate_module_hierarchy(toolcontext, given_mmodules) generate_classdef_hierarchy(toolcontext, model) generate_class_hierarchy(toolcontext, mainmodule) end @@ -43,12 +43,18 @@ end # Create a dot file representing the module hierarchy of a model. # Importation relation is represented with arrow # Nesting relation is represented with nested boxes -fun generate_module_hierarchy(toolcontext: ToolContext, model: Model) +fun generate_module_hierarchy(toolcontext: ToolContext, given_mmodules: Collection[MModule]) do + var model = given_mmodules.first.model var dot = new MProjectDot(model) + # Collect requested projects + for m in given_mmodules do + var g = m.mgroup + if g == null then continue + dot.mprojects.add(g.mproject) + end var projectpath = toolcontext.output_dir.join_path("project_hierarchy.dot") - dot.mprojects.add(model.mprojects.first) print "generating {projectpath}" dot.write_to_file(projectpath)