|
1 | 1 | # frozen_string_literal: true
|
2 | 2 |
|
3 |
| -require_relative 'cpp_dependency_graph/circle_packing_visualiser' |
4 |
| -require_relative 'cpp_dependency_graph/component_dependency_graph' |
5 |
| -require_relative 'cpp_dependency_graph/dir_tree' |
6 |
| -require_relative 'cpp_dependency_graph/graph_to_html_visualiser' |
7 |
| -require_relative 'cpp_dependency_graph/graph_to_svg_visualiser' |
8 |
| -require_relative 'cpp_dependency_graph/include_component_dependency_graph' |
9 |
| -require_relative 'cpp_dependency_graph/include_file_dependency_graph' |
10 |
| -require_relative 'cpp_dependency_graph/project' |
11 |
| -require_relative 'cpp_dependency_graph/version' |
| 3 | +require_relative "cpp_dependency_graph/circle_packing_visualiser" |
| 4 | +require_relative "cpp_dependency_graph/component_dependency_graph" |
| 5 | +require_relative "cpp_dependency_graph/dir_tree" |
| 6 | +require_relative "cpp_dependency_graph/graph_to_html_visualiser" |
| 7 | +require_relative "cpp_dependency_graph/graph_to_svg_visualiser" |
| 8 | +require_relative "cpp_dependency_graph/include_component_dependency_graph" |
| 9 | +require_relative "cpp_dependency_graph/include_file_dependency_graph" |
| 10 | +require_relative "cpp_dependency_graph/project" |
| 11 | +require_relative "cpp_dependency_graph/version" |
| 12 | +require_relative "cpp_dependency_graph/logging" |
12 | 13 |
|
13 | 14 | # Generates dependency graphs of a project in various output forms
|
14 | 15 | module CppDependencyGraph
|
| 16 | + include Logging |
| 17 | + |
15 | 18 | def generate_project_graph(project_dir, format, output_file)
|
| 19 | + logger.info "Resolving source directories in project..." |
16 | 20 | project = Project.new(project_dir)
|
| 21 | + logger.info "Resolving dependencies between components..." |
17 | 22 | graph = ComponentDependencyGraph.new(project)
|
| 23 | + logger.info "Generating graph..." |
18 | 24 | deps = graph.all_links
|
| 25 | + logger.info "Generating visualisation..." |
19 | 26 | generate_visualisation(deps, format, output_file)
|
20 | 27 | end
|
21 | 28 |
|
@@ -63,11 +70,11 @@ def generate_cyclic_dependencies(project_dir, format, file)
|
63 | 70 |
|
64 | 71 | def generate_visualisation(deps, format, file)
|
65 | 72 | case format
|
66 |
| - when 'svg' |
| 73 | + when "svg" |
67 | 74 | GraphToSvgVisualiser.new.generate(deps, file)
|
68 |
| - when 'html' |
| 75 | + when "html" |
69 | 76 | GraphToHtmlVisualiser.new.generate(deps, file)
|
70 |
| - when 'json' |
| 77 | + when "json" |
71 | 78 | File.write(file, JSON.pretty_generate(deps))
|
72 | 79 | end
|
73 | 80 | end
|
|
0 commit comments