将C++头文件转换为PlantUML
hpp2plantuml的Python项目详细描述
动机
本工具的目的是将C++头文件转换成UML表示 在PlantUML语法中,可用于使用PlantUML生成图。在
PlantUML是一个使用 表达性语言。在
此包从C++头文件生成TutUML文本输入。它 雄心有限,但它应该为简单类产生合理的转换 层次结构。它旨在支持:
- 具有属性(private,method,protected)的方法的类成员 基本限定符(static,abstract)
- 继承关系
- 聚合关系(非常基本的支持)。在
- 依赖关系
包依赖于CppHeaderParser包解析C++头 文件夹。在
用法
hpp2plantuml包可以从命令行使用,也可以用作中的模块 其他应用。在
命令行
命令行用法是(hpp2plantuml --help):
usage: hpp2plantuml [-h] -i HEADER-FILE [-o FILE] [-d] [-t JINJA-FILE] [--version] hpp2plantuml tool. optional arguments: -h, --help show this help message and exit -i HEADER-FILE, --input-file HEADER-FILE input file (must be quoted when using wildcards) -o FILE, --output-file FILE output file -d, --enable-dependency Extract dependency relationships from method arguments -t JINJA-FILE, --template-file JINJA-FILE path to jinja2 template file --version show program's version number and exit
使用-i选项添加输入文件。输入可以是完整的文件路径或 包括通配符。注意,使用通配符时需要双引号。 使用-o选项选择输出文件。输出是一个文本文件 遵循PlantUML语法。在
例如,下面的命令将为PlantUML生成一个输入文件 (output.puml)来自多个头文件。在
^{pr2}$要定制输出PlantUML文件,可以使用模板(使用-t 参数):
hpp2plantuml -i File_1.hpp -i "include/Helper_*.hpp" -o output.puml -t template.puml
这将使用template.puml文件作为模板。模板跟随jinja 语法。例如,要在PlantUML输出中添加前导码,模板 文件可能包含:
{% extends 'default.puml' %} {% block preamble %} title "This is a title" skinparam backgroundColor #EEEBDC skinparam handwritten true {% endblock %}
这将从默认模板继承并仅覆盖前导码。在
模块
要用作模块,只需import hpp2plantuml。CreatePlantUMLFile 然后可以使用函数从一组输入文件创建一个PlantUML文件。 或者,Diagram对象可以直接用于构建内部 对象(来自文件或字符串)。Diagram.render()方法可用于 生成字符串输出,而不是写入文本文件。查看API 文档以获取更多详细信息。在
安装
{id10}$来源
代码使用setuptools,因此可以使用以下方法构建:
python setup.py install
要生成文档,请运行:
python setup.py sphinx
要运行测试,请运行:
python setup.py test
完整的文档可通过以下方式获得:
- 项目
标签: