3.2 KiB
3.2 KiB
Configuration file reference
Top level options
compilation_database_dir- path to the directory containingcompile_commands.jsonoutput_directory- path to the directory where PlantUML diagrams will be generateddiagrams- the map of diagrams to be generated, each diagram name is provided as the key of the diagram YAML node
Diagram options
type- type of diagram, one of [class,sequence]glob- list of glob patterns to match source code files for analysisinclude_relations_also_as_members- when set tofalse, class members for relationships are rendered in UML are skipped from class definition (default:true)generate_method_arguments- determines whether the class diagrams methods contain full arguments (full), are abbreviated (abbreviated) or skipped (none)using_namespace- similar to C++using namespace, aA::Bvalue here will render a classA::B::C::MyClassin the diagram asC::MyClassinclude- definition of inclusion patterns:namespaces- list of namespaces to includerelationships- list of relationships to includeentity_types- list of entity types to include (e.g.class,enum)scopes- list of visibility scopes to include (e.g.private)
exclude- definition of excqlusion patterns:namespaces- list of namespaces to excluderelationships- list of relationships to excludeentity_types- list of entity types to exclude (e.g.class,enum)scopes- list of visibility scopes to exclude (e.g.private)
plantuml- verbatim PlantUML directives which should be added to a diagrambefore- list of directives which will be added before the generated diagramafter- list of directives which will be added after the generated diagram
Example complete config
# Directory containing the compile_commands.json file
compilation_database_dir: debug
# The directory where *.puml files will be generated
output_directory: docs/diagrams
# Set this as default for all diagrams
generate_method_arguments: none
# The map of diagrams - keys are also diagram file names
diagrams:
main_package:
# Include this diagram definition from a separate file
include!: uml/main_package_diagram.yml
config_class:
type: class
# Do not include rendered relations in the class box
include_relations_also_as_members: false
# Limiting the number of files to include can significantly
# improve the generation time
glob:
- src/common/model/*.h
- src/common/model/*.cc
- src/class_diagram/model/*.h
- src/class_diagram/model/*.cc
include:
# Only include entities from the following namespaces
namespaces:
- clanguml::common::model
- clanguml::class_diagram::model
exclude:
# Do not include private members and methods in the diagram
scopes:
- private
# Entities from this namespace will be shortened
# (can only contain one element at the moment)
using_namespace:
- clanguml::class_diagram::model
plantuml:
# Add this line to the beginning of the resulting puml file
before:
- 'title clang-uml class diagram model'