DoxygenとPlantUMLを組み合わせて使う

以前にTracプラグインと連携させて動かしたPlantUMLを、今回はDoxygenから使ってみた。下記のサイトに概要が載っているので分かると思うけど、目標は「ソースコードのコメントに書いた記述に従ってPlantUMLにUML図面を生成させ、これをDoxygenが出力するHTMLの中に含める」ことだ。

動作環境は下記の通り。

手順は下記の通り。

$ export GRAPHVIZ_DOT=/opt/local/bin/dot
  • ソースコードにコメントを記載する。
    • @image: 生成される画像ファイルのパス。
    • @startuml - @enduml: PlantUMLに描かせるUML(文法はこちらを参照)
/**
 * @brief Do something here.
 * @image html "../image/doSomething.png"
 *
 * @cond
 * @startuml doSomething.png
 * 
 * Foo -> Server: Request
 * Server --> Foo: Response
 * 
 * @enduml
 * @endcond
 */
  • 下記のコマンドを実行して画像を生成する。
    • -o: 画像が出力されるフォルダ。上記のコメントに書いたパスと合わせておく。
    • -r: ソースコードのフォルダ。
$ java -jar /path/to/plantuml.jar -v -o /path/to/project/doc/image -r src
  • いつも通り、Doxygenを実行してドキュメントを生成させる。
$ doxygen
  • 生成されたHTMLの表示例は下記。

UMLのシーケンス図やステートマシン図など、コードを理解する上で有益な情報を記載しておくと便利だと思う。



関連