module CppDependencyGraph
Generates dependency graphs of a project in various output forms
Constants
- VERSION
Public Instance Methods
generate_component_graph(project_dir, component, format, output_file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 22 def generate_component_graph(project_dir, component, format, output_file) project = Project.new(project_dir) graph = ComponentDependencyGraph.new(project) deps = graph.links(component) generate_visualisation(deps, format, output_file) end
generate_component_include_graph(project_dir, component_name, format, output_file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 36 def generate_component_include_graph(project_dir, component_name, format, output_file) project = Project.new(project_dir) graph = IncludeComponentDependencyGraph.new(project) deps = graph.links(component_name) generate_visualisation(deps, format, output_file) end
generate_cyclic_dependencies(project_dir, format, file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 57 def generate_cyclic_dependencies(project_dir, format, file) project = Project.new(project_dir) graph = ComponentDependencyGraph.new(project) deps = graph.all_cyclic_links generate_visualisation(deps, format, file) end
generate_enclosure_diagram(project_dir, output_file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 50 def generate_enclosure_diagram(project_dir, output_file) dir_tree = DirTree.new(project_dir) tree = dir_tree.tree puts tree CirclePackingVisualiser.new.generate(tree, output_file) end
generate_file_include_graph(project_dir, file_name, format, output_file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 29 def generate_file_include_graph(project_dir, file_name, format, output_file) project = Project.new(project_dir) graph = IncludeFileDependencyGraph.new(project) deps = graph.links(file_name) generate_visualisation(deps, format, output_file) end
generate_project_graph(project_dir, format, output_file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 15 def generate_project_graph(project_dir, format, output_file) project = Project.new(project_dir) graph = ComponentDependencyGraph.new(project) deps = graph.all_links generate_visualisation(deps, format, output_file) end
generate_project_include_graph(project_dir, format, output_file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 43 def generate_project_include_graph(project_dir, format, output_file) project = Project.new(project_dir) graph = IncludeComponentDependencyGraph.new(project) deps = graph.all_links generate_visualisation(deps, format, output_file) end
generate_visualisation(deps, format, file)
click to toggle source
# File lib/cpp_dependency_graph.rb, line 64 def generate_visualisation(deps, format, file) case format when 'svg' GraphToSvgVisualiser.new.generate(deps, file) when 'html' GraphToHtmlVisualiser.new.generate(deps, file) when 'json' File.write(file, JSON.pretty_generate(deps)) end end